From ab00c45db07f70b248605bf3d4f8969fcf88f177 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 25 Jun 2020 12:02:17 +0200 Subject: [PATCH 01/51] improvements on PPMS and LS370 - improved machanism for 10 K waiting - fixed an issue with auto range Change-Id: Ia6454141917893f0e5c6c4351df3a864942bb629 --- secop_psi/ls370res.py | 14 ++++---- secop_psi/ppms.py | 77 ++++++++++++++++++++++++++++++------------- secop_psi/ppmssim.py | 2 +- 3 files changed, 64 insertions(+), 29 deletions(-) diff --git a/secop_psi/ls370res.py b/secop_psi/ls370res.py index a590445..bf0e4cc 100644 --- a/secop_psi/ls370res.py +++ b/secop_psi/ls370res.py @@ -50,7 +50,7 @@ scan = IOHandler('scan', 'SCAN?', '%d,%d') STATUS_TEXT = {0: ''} -for bit, text in enumerate('CS_OVL VCM_OVL VMIX_OVL R_OVER R_UNDER T_OVER T_UNDER'.split()): +for bit, text in enumerate('CS_OVL VCM_OVL VMIX_OVL VDIF_OVL R_OVER R_UNDER T_OVER T_UNDER'.split()): for i in range(1 << bit, 2 << bit): STATUS_TEXT[i] = text @@ -177,10 +177,10 @@ class ResChannel(HasIodev, Readable): return result def read_status(self): - if self.channel != self._main.channel: - return Done if not self.enabled: return [self.Status.DISABLED, 'disabled'] + if self.channel != self._main.channel: + return Done result = int(self.sendRecv('RDGST?%d' % self.channel)) result &= 0x37 # mask T_OVER and T_UNDER (change this when implementing temperatures instead of resistivities) statustext = STATUS_TEXT[result] @@ -191,10 +191,11 @@ class ResChannel(HasIodev, Readable): def analyze_rdgrng(self, iscur, exc, rng, autorange, excoff): result = dict(range=rng) if autorange: - result['auotrange'] = 'hard' - elif self.autorange == 'hard': - result['autorange'] = 'soft' + result['autorange'] = 'hard' + #elif self.autorange == 'hard': + # result['autorange'] = 'soft' # else: do not change autorange + self.log.info('%s range %r %r %r' % (self.name, rng, autorange, self.autorange)) if excoff: result.update(iexc=0, vexc=0) elif iscur: @@ -225,6 +226,7 @@ class ResChannel(HasIodev, Readable): if change.autorange == 'soft': if rng < self.minrange: rng = self.minrange + self.autorange = change.autorange return iscur, exc, rng, autorange, excoff def analyze_inset(self, on, dwell, pause, curve, tempco): diff --git a/secop_psi/ppms.py b/secop_psi/ppms.py index 2c1848b..76342dc 100644 --- a/secop_psi/ppms.py +++ b/secop_psi/ppms.py @@ -209,8 +209,18 @@ class UserChannel(Channel): 'no': Property('channel number', datatype=IntRange(0, 0), export=False, default=0), + 'linkenable': + Property('name of linked channel for enabling', + datatype=StringType(), export=False, default=''), + } + def write_enabled(self, enabled): + other = self._iodev.modules.get(self.linkenable, None) + if other: + other.enabled = enabled + return enabled + class DriverChannel(Channel): drvout = IOHandler('drvout', 'DRVOUT? %(no)d', '%d,%g,%g') @@ -410,8 +420,11 @@ class Temp(PpmsMixin, Drivable): Parameter('intermediate set point', datatype=FloatRange(1.7, 402.0, unit='K'), handler=temp), 'ramp': - Parameter('ramping speed', readonly=False, handler=temp, default=0, + Parameter('ramping speed', readonly=False, default=0, datatype=FloatRange(0, 20, unit='K/min')), + 'workingramp': + Parameter('intermediate ramp value', + datatype=FloatRange(0, 20, unit='K/min'), handler=temp), 'approachmode': Parameter('how to approach target!', readonly=False, handler=temp, datatype=EnumType(ApproachMode)), @@ -458,6 +471,7 @@ class Temp(PpmsMixin, Drivable): general_stop = False _cool_deadline = 0 _wait_at10 = False + _ramp_at_limit = False def update_value_status(self, value, packed_status): """update value and status""" @@ -469,10 +483,10 @@ class Temp(PpmsMixin, Drivable): status = self.STATUS_MAP.get(status_code, (self.Status.ERROR, 'unknown status code %d' % status_code)) now = time.time() if value > 11: - # when starting from T > 40, this will be 15 min. + # when starting from T > 50, this will be 15 min. # when starting from lower T, it will be less # when ramping with 2 K/min or less, the deadline is now - self._cool_deadline = max(self._cool_deadline, now + min(30, value - 10) * 30) # 30 sec / K + self._cool_deadline = max(self._cool_deadline, now + min(40, value - 10) * 30) # 30 sec / K elif self._wait_at10: if now > self._cool_deadline: self._wait_at10 = False @@ -506,24 +520,40 @@ class Temp(PpmsMixin, Drivable): self._expected_target_time = 0 self.status = status - def analyze_temp(self, setpoint, ramp, approachmode): + def analyze_temp(self, setpoint, workingramp, approachmode): + if (setpoint, workingramp, approachmode) == self._last_settings: + # update parameters only on change, as 'ramp' and 'approachmode' are + # not always sent to the hardware + return {} + self._last_settings = setpoint, workingramp, approachmode if setpoint != 10 or not self._wait_at10: + self.log.debug('read back target %g %r' % (setpoint, self._wait_at10)) self.target = setpoint - result = dict(setpoint=setpoint) - # we update ramp and approachmode only at init - if self.ramp == 0: - result['ramp'] = ramp - result['approachmode'] = approachmode + if workingramp != 2 or not self._ramp_at_limit: + self.log.debug('read back ramp %g %r' % (workingramp, self._ramp_at_limit)) + self.ramp = workingramp + result = dict(setpoint=setpoint, workingramp=workingramp) + self.log.debug('analyze_temp %r %r' % (result, (self.target, self.ramp))) return result def change_temp(self, change): - if 10 >= self.value > change.setpoint: - ramp = min(2, change.ramp) - print('ramplimit', change.ramp, self.value, ramp) - else: - ramp = change.ramp - self.calc_expected(change.setpoint, ramp) - return change.setpoint, ramp, change.approachmode + ramp = change.ramp + setpoint = change.setpoint + wait_at10 = False + ramp_at_limit = False + if self.value > 11: + if setpoint <= 10: + wait_at10 = True + setpoint = 10 + elif self.value > setpoint: + if ramp >= 2: + ramp = 2 + ramp_at_limit = True + self._wait_at10 = wait_at10 + self._ramp_at_limit = ramp_at_limit + self.calc_expected(setpoint, ramp) + self.log.debug('change_temp v %r s %r r %r w %r l %r' % (self.value, setpoint, ramp, wait_at10, ramp_at_limit)) + return setpoint, ramp, change.approachmode def write_target(self, target): self._stopped = False @@ -532,24 +562,22 @@ class Temp(PpmsMixin, Drivable): self._status_before_change = self.status self.status = (self.Status.BUSY, 'changed target') self._last_change = time.time() - if self.value > 10 > target and self.ramp > 2: - self._wait_at10 = True - self.temp.write(self, 'setpoint', 10) - else: - self._wait_at10 = False - self.temp.write(self, 'setpoint', target) + self.temp.write(self, 'setpoint', target) + self.log.debug('write_target %s' % repr((self.setpoint, target, self._wait_at10))) return target def write_approachmode(self, value): if self.isDriving(): self.temp.write(self, 'approachmode', value) return Done + self.approachmode = value return None # do not execute TEMP command, as this would trigger an unnecessary T change def write_ramp(self, value): if self.isDriving(): self.temp.write(self, 'ramp', value) return Done + # self.ramp = value return None # do not execute TEMP command, as this would trigger an unnecessary T change def calc_expected(self, target, ramp): @@ -656,6 +684,7 @@ class Field(PpmsMixin, Drivable): self.status = status def analyze_field(self, target, ramp, approachmode, persistentmode): + # print('last_settings tt %s' % repr(self._last_settings)) if (target, ramp, approachmode, persistentmode) == self._last_settings: # we update parameters only on change, as 'ramp' and 'approachmode' are # not always sent to the hardware @@ -669,6 +698,7 @@ class Field(PpmsMixin, Drivable): def write_target(self, target): if abs(self.target - self.value) <= 2e-5 and target == self.target: + self.target = target return None # avoid ramping leads self._status_before_change = self.status self._stopped = False @@ -679,6 +709,7 @@ class Field(PpmsMixin, Drivable): def write_persistentmode(self, mode): if abs(self.target - self.value) <= 2e-5 and mode == self.persistentmode: + self.persistentmode = mode return None # avoid ramping leads self._last_change = time.time() self._status_before_change = self.status @@ -688,6 +719,7 @@ class Field(PpmsMixin, Drivable): return Done def write_ramp(self, value): + self.ramp = value if self.isDriving(): self.field.write(self, 'ramp', value) return Done @@ -805,6 +837,7 @@ class Position(PpmsMixin, Drivable): if self.isDriving(): self.move.write(self, 'speed', value) return Done + self.speed = value return None # do not execute MOVE command, as this would trigger an unnecessary move def do_stop(self): diff --git a/secop_psi/ppmssim.py b/secop_psi/ppmssim.py index 0a661b7..2079500 100644 --- a/secop_psi/ppmssim.py +++ b/secop_psi/ppmssim.py @@ -53,7 +53,7 @@ class PpmsSim: def __init__(self): self.status = NamedList('t mf ch pos', 1, 1, 1, 1) self.st = 0x1111 - self.t = 200 + self.t = 15 self.temp = NamedList('target ramp amode', 200., 1, 0, fast=self.t, delay=10) self.mf = 100 self.field = NamedList('target ramp amode pmode', 0, 50, 0, 0) From d9a2045fcae04533213351a62f622a9eccef52fb Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 23 Jul 2020 16:12:14 +0200 Subject: [PATCH 02/51] more flexible end_of_line in stringio in the previous version, it was not possible to give a ASCII nul character as end_of_line, because StringType refuses this - end_of_line might be given as bytes, str or int - end_of_line might be given as tuple (eol_read, eol_write) Change-Id: I8b7942320ad3ffe162cdf3a673e113a66a84fb93 --- secop/stringio.py | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/secop/stringio.py b/secop/stringio.py index e08cc6b..9ef68ed 100644 --- a/secop/stringio.py +++ b/secop/stringio.py @@ -28,7 +28,7 @@ import threading import re from secop.lib.asynconn import AsynConn, ConnectionClosed from secop.modules import Module, Communicator, Parameter, Command, Property, Attached -from secop.datatypes import StringType, FloatRange, ArrayOf, BoolType, TupleOf +from secop.datatypes import StringType, FloatRange, ArrayOf, BoolType, TupleOf, ValueType from secop.errors import CommunicationFailedError, CommunicationSilentError from secop.poller import REGULAR from secop.metaclass import Done @@ -43,7 +43,7 @@ class StringIO(Communicator): 'uri': Property('hostname:portnumber', datatype=StringType()), 'end_of_line': - Property('end_of_line character', datatype=StringType(), + Property('end_of_line character', datatype=ValueType(), default='\n', settable=True), 'encoding': Property('used encoding', datatype=StringType(), @@ -73,13 +73,32 @@ class StringIO(Communicator): def earlyInit(self): self._conn = None self._lock = threading.RLock() - self._end_of_line = self.end_of_line.encode(self.encoding) + eol = self.end_of_line + if isinstance(eol, (tuple, list)): + if len(eol) not in (1, 2): + raise ValueError('invalid end_of_line: %s' % eol) + else: + eol = [eol] + # eol for read and write might be distinct + self._eol_read = self._convert_eol(eol[0]) + if not self._eol_read: + raise ValueError('end_of_line for read must not be empty') + self._eol_write = self._convert_eol(eol[-1]) self._last_error = None + def _convert_eol(self, value): + if isinstance(value, str): + return value.encode(self.encoding) + if isinstance(value, int): + return bytes([value]) + if isinstance(value, bytes): + return value + raise ValueError('invalid end_of_line: %s' % repr(value)) + def connectStart(self): if not self.is_connected: uri = self.uri - self._conn = AsynConn(uri, self._end_of_line) + self._conn = AsynConn(uri, self._eol_read) self.is_connected = True for command, regexp in self.identification: reply = self.do_communicate(command) @@ -159,10 +178,10 @@ class StringIO(Communicator): try: with self._lock: # read garbage and wait before send - if self.wait_before: - cmds = command.split(self.end_of_line) + if self.wait_before and self._eol_write: + cmds = command.encode(self.encoding).split(self._eol_write) else: - cmds = [command] + cmds = [command.encode(self.encoding)] garbage = None try: for cmd in cmds: @@ -171,8 +190,8 @@ class StringIO(Communicator): if garbage is None: # read garbage only once garbage = self._conn.flush_recv() if garbage: - self.log.debug('garbage: %s', garbage.decode(self.encoding)) - self._conn.send((cmd + self.end_of_line).encode(self.encoding)) + self.log.debug('garbage: %r', garbage) + self._conn.send(cmd + self._eol_write) reply = self._conn.readline(self.timeout) except ConnectionClosed: self.closeConnection() From 06419687157eff6a5ace047251b2072bd7408260 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 29 Jul 2020 14:57:50 +0200 Subject: [PATCH 03/51] add a lot of current stuff this is not (yet) in the frm2 repo Change-Id: Ia5b2996803c3dbb15b85ab1bc3a24717ac6297fb --- cfg/ls370res.cfg | 25 + cfg/ls370test.cfg | 26 +- cfg/mb11.cfg | 77 +++ cfg/ori.cfg | 5 + cfg/ppms2.cfg | 124 +++++ cfg/ppmssim.cfg | 124 +++++ cfg/ppmswin.cfg | 126 +++++ cfg/prep2.cfg | 23 + cfg/prep5.cfg | 119 +++++ cfg/prep6.cfg | 65 +++ cfg/sea.cfg | 35 ++ cfg/sea/current.flamp.config.json | 7 + cfg/sea/f.ultrasound.addon.json | 17 + cfg/sea/fn.ultrasound.addon.json | 14 + cfg/sea/hefill.ma11.config.json | 17 + cfg/sea/lambdawatch.ma11.config.json | 7 + cfg/sea/ln2fill.ma11.config.json | 15 + cfg/sea/lnv.ma11.config.json | 39 ++ cfg/sea/lpr.ma11.config.json | 29 ++ cfg/sea/ma11_dil4_ultrasound_sr.cfg | 119 +++++ cfg/sea/mf.mb11.config.json | 35 ++ cfg/sea/mirror.ultrasound.addon.json | 3 + cfg/sea/nv.ma11.config.json | 51 ++ cfg/sea/nv.ori1.config.json | 51 ++ cfg/sea/ori1.cfg | 23 + cfg/sea/pars.ultrasound.addon.json | 5 + cfg/sea/pdyn.mb11.config.json | 6 + cfg/sea/pdyn.varioxB.config.json | 6 + cfg/sea/pstat.mb11.config.json | 6 + cfg/sea/pstat.varioxB.config.json | 6 + cfg/sea/pv.flamp.config.json | 6 + cfg/sea/secop.test_secop4.config.json | 3 + cfg/sea/sorb.dil4.stick.json | 29 ++ cfg/sea/table.ma11.config.json | 18 + cfg/sea/tcoil.ma11.config.json | 42 ++ cfg/sea/tcoil.mb11.config.json | 4 + cfg/sea/test_secop4.cfg | 17 + cfg/sea/tmon.dil4.stick.json | 107 ++++ cfg/sea/tneck1.mb11.config.json | 4 + cfg/sea/tneck1.varioxB.config.json | 8 + cfg/sea/tneck2.mb11.config.json | 4 + cfg/sea/tneck2.varioxB.config.json | 8 + cfg/sea/tnvd.mb11.config.json | 4 + cfg/sea/tnvd.varioxB.config.json | 8 + cfg/sea/tnvs.mb11.config.json | 4 + cfg/sea/tnvs.varioxB.config.json | 8 + cfg/sea/treg.dil4.stick.json | 78 +++ cfg/sea/ts.dil4.stick.json | 58 +++ cfg/sea/ts.mb11.config.json | 8 + cfg/sea/ts.vb.stick.json | 8 + cfg/sea/tt.flamp.config.json | 58 +++ cfg/sea/tt.ma11.config.json | 71 +++ cfg/sea/tt.ori1.config.json | 65 +++ cfg/sea/tvd.mb11.config.json | 8 + cfg/sea/tvd.varioxB.config.json | 8 + cfg/sea/tvs.mb11.config.json | 8 + cfg/sea/tvs.varioxB.config.json | 8 + cfg/sea/ultrasound.ultrasound.addon.json | 3 + cfg/sea/varioxB_vb.cfg | 65 +++ cfg/sea/wall.lampovenwall.addon.json | 31 ++ cfg/senis3mh3.cfg | 19 + cfg/senis3mh6.cfg | 29 ++ cfg/test_cryocombi.cfg | 55 ++ cfg/test_ppms_mf.cfg | 73 +++ cfg/testcmd.cfg | 3 + cfg/varioxb.cfg | 60 +++ secop/lib/__init__.py | 11 + secop/lib/asynconn.py | 29 +- secop/params.py | 7 +- secop_psi/SR_7270.py | 221 ++++++++ secop_psi/calcurves/.#x38622.inp.1.2 | 61 +++ secop_psi/calcurves/CStdILL.340x | 189 +++++++ secop_psi/calcurves/CX078_HIGH.340 | 159 ++++++ secop_psi/calcurves/D69874.340 | 117 +++++ secop_psi/calcurves/D69875.340 | 118 +++++ secop_psi/calcurves/LINRUO2.340 | 12 + secop_psi/calcurves/PT100BF.340 | 59 +++ secop_psi/calcurves/PT1012.340 | 59 +++ secop_psi/calcurves/PtStdILL.340x | 209 ++++++++ secop_psi/calcurves/R10401.340 | 88 ++++ secop_psi/calcurves/R10402.340 | 88 ++++ secop_psi/calcurves/R10403.340 | 87 ++++ secop_psi/calcurves/R10409.340 | 141 ++++++ secop_psi/calcurves/R10410.340 | 89 ++++ secop_psi/calcurves/R10411.340 | 89 ++++ secop_psi/calcurves/R10412.340 | 88 ++++ secop_psi/calcurves/R10413.340 | 87 ++++ secop_psi/calcurves/RC550.inp | 104 ++++ secop_psi/calcurves/RCW575.inp | 100 ++++ secop_psi/calcurves/RCW575_fit.inp | 107 ++++ secop_psi/calcurves/RO600A_408.inp | 42 ++ secop_psi/calcurves/RX078.340 | 125 +++++ secop_psi/calcurves/RX078_HIGH.340 | 125 +++++ secop_psi/calcurves/RuO2392.inp | 60 +++ secop_psi/calcurves/U02045.340 | 157 ++++++ secop_psi/calcurves/U02269.340 | 140 ++++++ secop_psi/calcurves/U02272.340 | 139 +++++ secop_psi/calcurves/UMEN102.340 | 126 +++++ secop_psi/calcurves/X09941.340 | 144 ++++++ secop_psi/calcurves/X10045.340 | 139 +++++ secop_psi/calcurves/X10051.340 | 139 +++++ secop_psi/calcurves/X101105.340 | 152 ++++++ secop_psi/calcurves/X10409.340 | 141 ++++++ secop_psi/calcurves/X108579.340 | 150 ++++++ secop_psi/calcurves/X12532.340 | 159 ++++++ secop_psi/calcurves/X12533.340 | 158 ++++++ secop_psi/calcurves/X13089.340 | 156 ++++++ secop_psi/calcurves/X13090.340 | 155 ++++++ secop_psi/calcurves/X131164-Jakub_modif.340 | 159 ++++++ secop_psi/calcurves/X131175.340 | 159 ++++++ secop_psi/calcurves/X131346.340 | 157 ++++++ .../calcurves/X131693-Bernina_cryochamber.340 | 88 ++++ secop_psi/calcurves/X133273.340 | 187 +++++++ secop_psi/calcurves/X133320.340 | 187 +++++++ secop_psi/calcurves/X133322.340 | 187 +++++++ secop_psi/calcurves/X14126.340 | 158 ++++++ secop_psi/calcurves/X14129.340 | 157 ++++++ secop_psi/calcurves/X14130.340 | 157 ++++++ secop_psi/calcurves/X141457.340 | 158 ++++++ secop_psi/calcurves/X14231.340 | 158 ++++++ secop_psi/calcurves/X143499-Jakub_modif.340 | 158 ++++++ secop_psi/calcurves/X143499.340 | 158 ++++++ secop_psi/calcurves/X15601.340 | 155 ++++++ secop_psi/calcurves/X22637.340 | 155 ++++++ secop_psi/calcurves/X22642.340 | 157 ++++++ secop_psi/calcurves/X22643.340 | 158 ++++++ secop_psi/calcurves/X22644.340 | 157 ++++++ secop_psi/calcurves/X24506.340 | 157 ++++++ secop_psi/calcurves/X31254.340 | 158 ++++++ secop_psi/calcurves/X31317.340 | 162 ++++++ secop_psi/calcurves/X31318.340 | 158 ++++++ secop_psi/calcurves/X31319.340 | 158 ++++++ secop_psi/calcurves/X31320.340 | 158 ++++++ secop_psi/calcurves/X33924.340 | 156 ++++++ secop_psi/calcurves/X34504.340 | 157 ++++++ secop_psi/calcurves/X34524.340 | 156 ++++++ secop_psi/calcurves/X34525.340 | 155 ++++++ secop_psi/calcurves/X34526.340 | 157 ++++++ secop_psi/calcurves/X50830.340 | 156 ++++++ secop_psi/calcurves/X50903.340 | 155 ++++++ secop_psi/calcurves/X50921.340 | 155 ++++++ secop_psi/calcurves/X50923.340 | 154 ++++++ secop_psi/calcurves/X51079.340 | 156 ++++++ secop_psi/calcurves/X58273.340 | 159 ++++++ secop_psi/calcurves/X58277.340 | 159 ++++++ secop_psi/calcurves/X58280.340 | 159 ++++++ secop_psi/calcurves/X58542.340 | 185 +++++++ secop_psi/calcurves/X58599.340 | 149 ++++++ secop_psi/calcurves/X58600.340 | 147 ++++++ secop_psi/calcurves/X63161.340 | 157 ++++++ secop_psi/calcurves/X63163.340 | 154 ++++++ secop_psi/calcurves/X63165.340 | 157 ++++++ secop_psi/calcurves/X63166.340 | 156 ++++++ secop_psi/calcurves/X63592.340 | 189 +++++++ secop_psi/calcurves/X63710.340 | 181 +++++++ secop_psi/calcurves/X63854.340 | 156 ++++++ secop_psi/calcurves/X63855.340 | 154 ++++++ secop_psi/calcurves/X63879.340 | 156 ++++++ secop_psi/calcurves/X63880.340 | 154 ++++++ secop_psi/calcurves/X63881.340 | 154 ++++++ secop_psi/calcurves/X63886.340 | 154 ++++++ secop_psi/calcurves/X64004.340 | 158 ++++++ secop_psi/calcurves/X64682.340 | 157 ++++++ secop_psi/calcurves/X64693.340 | 157 ++++++ secop_psi/calcurves/X66148.340 | 165 ++++++ secop_psi/calcurves/X67737.340 | 183 +++++++ secop_psi/calcurves/X68057.340 | 159 ++++++ secop_psi/calcurves/X68061.340 | 157 ++++++ secop_psi/calcurves/X68079.340 | 158 ++++++ secop_psi/calcurves/X68258.340 | 157 ++++++ secop_psi/calcurves/X68432.340 | 159 ++++++ secop_psi/calcurves/X68433.340 | 157 ++++++ secop_psi/calcurves/X70197.340 | 158 ++++++ secop_psi/calcurves/X70198.340 | 159 ++++++ secop_psi/calcurves/X70199.340 | 159 ++++++ secop_psi/calcurves/X70261.340 | 159 ++++++ secop_psi/calcurves/X70262.340 | 159 ++++++ secop_psi/calcurves/X70263.340 | 158 ++++++ secop_psi/calcurves/X70266.340 | 158 ++++++ secop_psi/calcurves/X70278.340 | 159 ++++++ secop_psi/calcurves/X70279.340 | 158 ++++++ secop_psi/calcurves/X71737.340 | 155 ++++++ secop_psi/calcurves/X71738.340 | 155 ++++++ secop_psi/calcurves/X71741.340 | 155 ++++++ secop_psi/calcurves/X71777.340 | 155 ++++++ secop_psi/calcurves/X71811.340 | 156 ++++++ secop_psi/calcurves/X74254.340 | 141 ++++++ secop_psi/calcurves/X75237.340 | 155 ++++++ secop_psi/calcurves/X75239.340 | 156 ++++++ secop_psi/calcurves/X75608.340 | 157 ++++++ secop_psi/calcurves/X75609.340 | 157 ++++++ secop_psi/calcurves/X75610.340 | 156 ++++++ secop_psi/calcurves/X77456.340 | 157 ++++++ secop_psi/calcurves/X77457.340 | 157 ++++++ secop_psi/calcurves/X85569.340 | 158 ++++++ secop_psi/calcurves/X85571.340 | 153 ++++++ secop_psi/calcurves/X86021.340 | 152 ++++++ secop_psi/calcurves/X86022.340 | 152 ++++++ secop_psi/calcurves/X86023.340 | 152 ++++++ secop_psi/calcurves/X86028.340 | 152 ++++++ secop_psi/calcurves/X88932.340 | 159 ++++++ secop_psi/calcurves/X88935.340 | 159 ++++++ secop_psi/calcurves/X88944.340 | 159 ++++++ secop_psi/calcurves/X88950.340 | 159 ++++++ secop_psi/calcurves/X88951.340 | 159 ++++++ secop_psi/calcurves/X89009.340 | 159 ++++++ secop_psi/calcurves/X89063.340 | 141 ++++++ secop_psi/calcurves/X89129.340 | 159 ++++++ secop_psi/calcurves/X89135.340 | 159 ++++++ secop_psi/calcurves/X89136.340 | 159 ++++++ secop_psi/calcurves/X89143.340 | 159 ++++++ secop_psi/calcurves/X92364.340 | 165 ++++++ secop_psi/calcurves/X94977.340 | 155 ++++++ secop_psi/calcurves/X94978.340 | 156 ++++++ secop_psi/calcurves/XCOND.340 | 11 + secop_psi/calcurves/XTTO002.340 | 184 +++++++ secop_psi/calcurves/XTTO002a.340 | 183 +++++++ secop_psi/calcurves/XTTO004.340 | 184 +++++++ secop_psi/calcurves/XTTO133.340 | 157 ++++++ secop_psi/calcurves/XTTO191.340 | 157 ++++++ secop_psi/calcurves/c020415.inp | 109 ++++ secop_psi/calcurves/c030307.inp | 34 ++ secop_psi/calcurves/c030311.inp | 107 ++++ secop_psi/calcurves/c1.inp | 74 +++ secop_psi/calcurves/c12900.inp | 87 ++++ secop_psi/calcurves/c17844.inp | 93 ++++ secop_psi/calcurves/c2.inp | 83 +++ secop_psi/calcurves/c270.inp | 75 +++ secop_psi/calcurves/c9r1al.inp | 62 +++ secop_psi/calcurves/c9r2ol.inp | 62 +++ secop_psi/calcurves/c9r3tc.inp | 62 +++ secop_psi/calcurves/c9r4bc.inp | 62 +++ secop_psi/calcurves/c_1.inp | 24 + secop_psi/calcurves/c_2.inp | 24 + secop_psi/calcurves/c_3.inp | 24 + secop_psi/calcurves/c_4.inp | 23 + secop_psi/calcurves/c_ab.inp | 70 +++ secop_psi/calcurves/c_ab270.inp | 67 +++ secop_psi/calcurves/c_ill.inp | 185 +++++++ secop_psi/calcurves/c_t.inp | 123 +++++ secop_psi/calcurves/cab505.inp | 24 + secop_psi/calcurves/ccs130.inp | 65 +++ secop_psi/calcurves/cma11.inp | 23 + secop_psi/calcurves/cma11r1al.inp | 62 +++ secop_psi/calcurves/cma11r2ol.inp | 62 +++ secop_psi/calcurves/cma11r3lc.inp | 62 +++ secop_psi/calcurves/cma11r4rc.inp | 62 +++ secop_psi/calcurves/cma7.inp | 23 + secop_psi/calcurves/coil.inp | 18 + secop_psi/calcurves/cplus45.inp | 23 + secop_psi/calcurves/cplus70.inp | 23 + secop_psi/calcurves/cs405.inp | 51 ++ secop_psi/calcurves/cx078.inp | 180 +++++++ secop_psi/calcurves/cx198.inp | 180 +++++++ secop_psi/calcurves/cx19801.340 | 157 ++++++ secop_psi/calcurves/cx262.inp | 180 +++++++ secop_psi/calcurves/ds3b.inp | 76 +++ secop_psi/calcurves/dt-470.std | 5 + secop_psi/calcurves/dt-470custom.inp | 94 ++++ secop_psi/calcurves/dt-670.std | 4 + secop_psi/calcurves/dt-670custom.340 | 118 +++++ secop_psi/calcurves/g24741.inp | 57 +++ secop_psi/calcurves/g25328.inp | 69 +++ secop_psi/calcurves/g25550.inp | 69 +++ secop_psi/calcurves/g26550.inp | 68 +++ secop_psi/calcurves/g26552.inp | 69 +++ secop_psi/calcurves/gemark.inp | 105 ++++ secop_psi/calcurves/gonio.inp | 97 ++++ secop_psi/calcurves/logtest.inp | 8 + secop_psi/calcurves/m59.inp | 89 ++++ secop_psi/calcurves/matsh100.inp | 59 +++ secop_psi/calcurves/mz020124.inp | 110 ++++ secop_psi/calcurves/mz030500.inp | 126 +++++ secop_psi/calcurves/pcry.inp | 84 ++++ secop_psi/calcurves/psam.inp | 90 ++++ secop_psi/calcurves/pt-100.std | 5 + secop_psi/calcurves/pt-1000.std | 5 + secop_psi/calcurves/pt1000e.inp | 51 ++ secop_psi/calcurves/pt1000m.inp | 51 ++ secop_psi/calcurves/pt100e.inp | 51 ++ secop_psi/calcurves/pt_ill.inp | 204 ++++++++ secop_psi/calcurves/purge | 8 + secop_psi/calcurves/r3509.inp | 69 +++ secop_psi/calcurves/r3510.inp | 69 +++ secop_psi/calcurves/rhfe0734.inp | 124 +++++ secop_psi/calcurves/rhfe4140.inp | 53 ++ secop_psi/calcurves/rhfe705.inp | 70 +++ secop_psi/calcurves/rhfe8119.inp | 66 +++ secop_psi/calcurves/rhfe8244.inp | 65 +++ secop_psi/calcurves/rhfe8733.inp | 51 ++ secop_psi/calcurves/rhfee188.340 | 138 +++++ secop_psi/calcurves/ruox.inp | 68 +++ secop_psi/calcurves/ruox2447.inp | 91 ++++ secop_psi/calcurves/ruox408.inp | 44 ++ secop_psi/calcurves/ruox5a.inp | 91 ++++ secop_psi/calcurves/ruox5b.inp | 91 ++++ secop_psi/calcurves/ruox5k.inp | 76 +++ secop_psi/calcurves/ruoxben1k.inp | 72 +++ secop_psi/calcurves/ruoxm0.inp | 62 +++ secop_psi/calcurves/ruoxm7.inp | 62 +++ secop_psi/calcurves/rx00000.340 | 31 ++ secop_psi/calcurves/rx03310.340 | 208 ++++++++ secop_psi/calcurves/rx03312.340 | 209 ++++++++ secop_psi/calcurves/rx078.inp | 180 +++++++ secop_psi/calcurves/rx102a.340 | 76 +++ secop_psi/calcurves/rx102aa.inp | 147 ++++++ secop_psi/calcurves/rx102b.340 | 78 +++ secop_psi/calcurves/rx1611.inp | 89 ++++ secop_psi/calcurves/rx1976.inp | 63 +++ secop_psi/calcurves/rx198.inp | 180 +++++++ secop_psi/calcurves/rx19801.340 | 157 ++++++ secop_psi/calcurves/rx2435.inp | 65 +++ secop_psi/calcurves/rx262.inp | 180 +++++++ secop_psi/calcurves/rx270c.340 | 68 +++ secop_psi/calcurves/rxdil.inp | 62 +++ secop_psi/calcurves/speer220.inp | 70 +++ secop_psi/calcurves/std1.inp | 2 + secop_psi/calcurves/std4.inp | 2 + secop_psi/calcurves/std6.inp | 2 + secop_psi/calcurves/tpr010.inp | 33 ++ secop_psi/calcurves/type-c-k1000.inp | 1 + secop_psi/calcurves/type-c-k333.inp | 157 ++++++ secop_psi/calcurves/type-c.inp | 166 ++++++ secop_psi/calcurves/type-k.inp | 130 +++++ secop_psi/calcurves/type-k.std | 3 + secop_psi/calcurves/type_c.inp | 157 ++++++ secop_psi/calcurves/type_n.inp | 140 ++++++ secop_psi/calcurves/u02045.inp | 94 ++++ secop_psi/calcurves/x09629.inp | 91 ++++ secop_psi/calcurves/x09882.inp | 93 ++++ secop_psi/calcurves/x09883.inp | 95 ++++ secop_psi/calcurves/x10045m.inp | 89 ++++ secop_psi/calcurves/x112329.inp | 99 ++++ secop_psi/calcurves/x112386.inp | 99 ++++ secop_psi/calcurves/x12905.inp | 157 ++++++ secop_psi/calcurves/x14667.inp | 55 ++ secop_psi/calcurves/x15430.inp | 91 ++++ secop_psi/calcurves/x15445.inp | 91 ++++ secop_psi/calcurves/x17627.inp | 58 +++ secop_psi/calcurves/x2060.inp | 91 ++++ secop_psi/calcurves/x22297.inp | 91 ++++ secop_psi/calcurves/x22644k.inp | 91 ++++ secop_psi/calcurves/x23167.inp | 93 ++++ secop_psi/calcurves/x28611.inp | 63 +++ secop_psi/calcurves/x29630.inp | 54 ++ secop_psi/calcurves/x29746.inp | 55 ++ secop_psi/calcurves/x30906.inp | 63 +++ secop_psi/calcurves/x31254.inp | 88 ++++ secop_psi/calcurves/x37342.inp | 88 ++++ secop_psi/calcurves/x37346.inp | 88 ++++ secop_psi/calcurves/x38604.inp | 91 ++++ secop_psi/calcurves/x38622.inp | 94 ++++ secop_psi/calcurves/x40188.inp | 91 ++++ secop_psi/calcurves/x48581.inp | 88 ++++ secop_psi/calcurves/x55918.inp | 100 ++++ secop_psi/calcurves/xcond.inp | 13 + secop_psi/calcurves/z030114.inp | 67 +++ secop_psi/dg645.py | 62 +++ secop_psi/ls370res.py | 8 +- secop_psi/ls370sim.py | 2 +- secop_psi/ppmsf.py | 61 +++ secop_psi/sea.py | 476 ++++++++++++++++++ secop_psi/senis.py | 313 ++++++++++++ secop_psi/softcal.py | 7 +- secop_psi/testcmd.py | 59 +++ secop_psi/testtemp.py | 92 ++++ secop_psi/ultrasound.py | 259 ++++++++++ 367 files changed, 36798 insertions(+), 24 deletions(-) create mode 100644 cfg/ls370res.cfg create mode 100644 cfg/mb11.cfg create mode 100644 cfg/ori.cfg create mode 100644 cfg/ppms2.cfg create mode 100644 cfg/ppmssim.cfg create mode 100644 cfg/ppmswin.cfg create mode 100644 cfg/prep2.cfg create mode 100644 cfg/prep5.cfg create mode 100644 cfg/prep6.cfg create mode 100644 cfg/sea.cfg create mode 100644 cfg/sea/current.flamp.config.json create mode 100644 cfg/sea/f.ultrasound.addon.json create mode 100644 cfg/sea/fn.ultrasound.addon.json create mode 100644 cfg/sea/hefill.ma11.config.json create mode 100644 cfg/sea/lambdawatch.ma11.config.json create mode 100644 cfg/sea/ln2fill.ma11.config.json create mode 100644 cfg/sea/lnv.ma11.config.json create mode 100644 cfg/sea/lpr.ma11.config.json create mode 100644 cfg/sea/ma11_dil4_ultrasound_sr.cfg create mode 100644 cfg/sea/mf.mb11.config.json create mode 100644 cfg/sea/mirror.ultrasound.addon.json create mode 100644 cfg/sea/nv.ma11.config.json create mode 100644 cfg/sea/nv.ori1.config.json create mode 100644 cfg/sea/ori1.cfg create mode 100644 cfg/sea/pars.ultrasound.addon.json create mode 100644 cfg/sea/pdyn.mb11.config.json create mode 100644 cfg/sea/pdyn.varioxB.config.json create mode 100644 cfg/sea/pstat.mb11.config.json create mode 100644 cfg/sea/pstat.varioxB.config.json create mode 100644 cfg/sea/pv.flamp.config.json create mode 100644 cfg/sea/secop.test_secop4.config.json create mode 100644 cfg/sea/sorb.dil4.stick.json create mode 100644 cfg/sea/table.ma11.config.json create mode 100644 cfg/sea/tcoil.ma11.config.json create mode 100644 cfg/sea/tcoil.mb11.config.json create mode 100644 cfg/sea/test_secop4.cfg create mode 100644 cfg/sea/tmon.dil4.stick.json create mode 100644 cfg/sea/tneck1.mb11.config.json create mode 100644 cfg/sea/tneck1.varioxB.config.json create mode 100644 cfg/sea/tneck2.mb11.config.json create mode 100644 cfg/sea/tneck2.varioxB.config.json create mode 100644 cfg/sea/tnvd.mb11.config.json create mode 100644 cfg/sea/tnvd.varioxB.config.json create mode 100644 cfg/sea/tnvs.mb11.config.json create mode 100644 cfg/sea/tnvs.varioxB.config.json create mode 100644 cfg/sea/treg.dil4.stick.json create mode 100644 cfg/sea/ts.dil4.stick.json create mode 100644 cfg/sea/ts.mb11.config.json create mode 100644 cfg/sea/ts.vb.stick.json create mode 100644 cfg/sea/tt.flamp.config.json create mode 100644 cfg/sea/tt.ma11.config.json create mode 100644 cfg/sea/tt.ori1.config.json create mode 100644 cfg/sea/tvd.mb11.config.json create mode 100644 cfg/sea/tvd.varioxB.config.json create mode 100644 cfg/sea/tvs.mb11.config.json create mode 100644 cfg/sea/tvs.varioxB.config.json create mode 100644 cfg/sea/ultrasound.ultrasound.addon.json create mode 100644 cfg/sea/varioxB_vb.cfg create mode 100644 cfg/sea/wall.lampovenwall.addon.json create mode 100644 cfg/senis3mh3.cfg create mode 100644 cfg/senis3mh6.cfg create mode 100644 cfg/test_cryocombi.cfg create mode 100644 cfg/test_ppms_mf.cfg create mode 100644 cfg/testcmd.cfg create mode 100644 cfg/varioxb.cfg create mode 100644 secop_psi/SR_7270.py create mode 100644 secop_psi/calcurves/.#x38622.inp.1.2 create mode 100644 secop_psi/calcurves/CStdILL.340x create mode 100644 secop_psi/calcurves/CX078_HIGH.340 create mode 100644 secop_psi/calcurves/D69874.340 create mode 100644 secop_psi/calcurves/D69875.340 create mode 100644 secop_psi/calcurves/LINRUO2.340 create mode 100644 secop_psi/calcurves/PT100BF.340 create mode 100644 secop_psi/calcurves/PT1012.340 create mode 100644 secop_psi/calcurves/PtStdILL.340x create mode 100644 secop_psi/calcurves/R10401.340 create mode 100644 secop_psi/calcurves/R10402.340 create mode 100644 secop_psi/calcurves/R10403.340 create mode 100644 secop_psi/calcurves/R10409.340 create mode 100644 secop_psi/calcurves/R10410.340 create mode 100644 secop_psi/calcurves/R10411.340 create mode 100644 secop_psi/calcurves/R10412.340 create mode 100644 secop_psi/calcurves/R10413.340 create mode 100644 secop_psi/calcurves/RC550.inp create mode 100644 secop_psi/calcurves/RCW575.inp create mode 100644 secop_psi/calcurves/RCW575_fit.inp create mode 100644 secop_psi/calcurves/RO600A_408.inp create mode 100644 secop_psi/calcurves/RX078.340 create mode 100644 secop_psi/calcurves/RX078_HIGH.340 create mode 100644 secop_psi/calcurves/RuO2392.inp create mode 100644 secop_psi/calcurves/U02045.340 create mode 100644 secop_psi/calcurves/U02269.340 create mode 100644 secop_psi/calcurves/U02272.340 create mode 100644 secop_psi/calcurves/UMEN102.340 create mode 100644 secop_psi/calcurves/X09941.340 create mode 100644 secop_psi/calcurves/X10045.340 create mode 100644 secop_psi/calcurves/X10051.340 create mode 100644 secop_psi/calcurves/X101105.340 create mode 100644 secop_psi/calcurves/X10409.340 create mode 100644 secop_psi/calcurves/X108579.340 create mode 100644 secop_psi/calcurves/X12532.340 create mode 100644 secop_psi/calcurves/X12533.340 create mode 100644 secop_psi/calcurves/X13089.340 create mode 100644 secop_psi/calcurves/X13090.340 create mode 100644 secop_psi/calcurves/X131164-Jakub_modif.340 create mode 100644 secop_psi/calcurves/X131175.340 create mode 100644 secop_psi/calcurves/X131346.340 create mode 100644 secop_psi/calcurves/X131693-Bernina_cryochamber.340 create mode 100644 secop_psi/calcurves/X133273.340 create mode 100644 secop_psi/calcurves/X133320.340 create mode 100644 secop_psi/calcurves/X133322.340 create mode 100644 secop_psi/calcurves/X14126.340 create mode 100644 secop_psi/calcurves/X14129.340 create mode 100644 secop_psi/calcurves/X14130.340 create mode 100644 secop_psi/calcurves/X141457.340 create mode 100644 secop_psi/calcurves/X14231.340 create mode 100644 secop_psi/calcurves/X143499-Jakub_modif.340 create mode 100644 secop_psi/calcurves/X143499.340 create mode 100644 secop_psi/calcurves/X15601.340 create mode 100644 secop_psi/calcurves/X22637.340 create mode 100644 secop_psi/calcurves/X22642.340 create mode 100644 secop_psi/calcurves/X22643.340 create mode 100644 secop_psi/calcurves/X22644.340 create mode 100644 secop_psi/calcurves/X24506.340 create mode 100644 secop_psi/calcurves/X31254.340 create mode 100644 secop_psi/calcurves/X31317.340 create mode 100644 secop_psi/calcurves/X31318.340 create mode 100644 secop_psi/calcurves/X31319.340 create mode 100644 secop_psi/calcurves/X31320.340 create mode 100644 secop_psi/calcurves/X33924.340 create mode 100644 secop_psi/calcurves/X34504.340 create mode 100644 secop_psi/calcurves/X34524.340 create mode 100644 secop_psi/calcurves/X34525.340 create mode 100644 secop_psi/calcurves/X34526.340 create mode 100644 secop_psi/calcurves/X50830.340 create mode 100644 secop_psi/calcurves/X50903.340 create mode 100644 secop_psi/calcurves/X50921.340 create mode 100644 secop_psi/calcurves/X50923.340 create mode 100644 secop_psi/calcurves/X51079.340 create mode 100644 secop_psi/calcurves/X58273.340 create mode 100644 secop_psi/calcurves/X58277.340 create mode 100644 secop_psi/calcurves/X58280.340 create mode 100644 secop_psi/calcurves/X58542.340 create mode 100644 secop_psi/calcurves/X58599.340 create mode 100644 secop_psi/calcurves/X58600.340 create mode 100644 secop_psi/calcurves/X63161.340 create mode 100644 secop_psi/calcurves/X63163.340 create mode 100644 secop_psi/calcurves/X63165.340 create mode 100644 secop_psi/calcurves/X63166.340 create mode 100644 secop_psi/calcurves/X63592.340 create mode 100644 secop_psi/calcurves/X63710.340 create mode 100644 secop_psi/calcurves/X63854.340 create mode 100644 secop_psi/calcurves/X63855.340 create mode 100644 secop_psi/calcurves/X63879.340 create mode 100644 secop_psi/calcurves/X63880.340 create mode 100644 secop_psi/calcurves/X63881.340 create mode 100644 secop_psi/calcurves/X63886.340 create mode 100644 secop_psi/calcurves/X64004.340 create mode 100644 secop_psi/calcurves/X64682.340 create mode 100644 secop_psi/calcurves/X64693.340 create mode 100644 secop_psi/calcurves/X66148.340 create mode 100644 secop_psi/calcurves/X67737.340 create mode 100644 secop_psi/calcurves/X68057.340 create mode 100644 secop_psi/calcurves/X68061.340 create mode 100644 secop_psi/calcurves/X68079.340 create mode 100644 secop_psi/calcurves/X68258.340 create mode 100644 secop_psi/calcurves/X68432.340 create mode 100644 secop_psi/calcurves/X68433.340 create mode 100644 secop_psi/calcurves/X70197.340 create mode 100644 secop_psi/calcurves/X70198.340 create mode 100644 secop_psi/calcurves/X70199.340 create mode 100644 secop_psi/calcurves/X70261.340 create mode 100644 secop_psi/calcurves/X70262.340 create mode 100644 secop_psi/calcurves/X70263.340 create mode 100644 secop_psi/calcurves/X70266.340 create mode 100644 secop_psi/calcurves/X70278.340 create mode 100644 secop_psi/calcurves/X70279.340 create mode 100644 secop_psi/calcurves/X71737.340 create mode 100644 secop_psi/calcurves/X71738.340 create mode 100644 secop_psi/calcurves/X71741.340 create mode 100644 secop_psi/calcurves/X71777.340 create mode 100644 secop_psi/calcurves/X71811.340 create mode 100644 secop_psi/calcurves/X74254.340 create mode 100644 secop_psi/calcurves/X75237.340 create mode 100644 secop_psi/calcurves/X75239.340 create mode 100644 secop_psi/calcurves/X75608.340 create mode 100644 secop_psi/calcurves/X75609.340 create mode 100644 secop_psi/calcurves/X75610.340 create mode 100644 secop_psi/calcurves/X77456.340 create mode 100644 secop_psi/calcurves/X77457.340 create mode 100644 secop_psi/calcurves/X85569.340 create mode 100644 secop_psi/calcurves/X85571.340 create mode 100644 secop_psi/calcurves/X86021.340 create mode 100644 secop_psi/calcurves/X86022.340 create mode 100644 secop_psi/calcurves/X86023.340 create mode 100644 secop_psi/calcurves/X86028.340 create mode 100644 secop_psi/calcurves/X88932.340 create mode 100644 secop_psi/calcurves/X88935.340 create mode 100644 secop_psi/calcurves/X88944.340 create mode 100644 secop_psi/calcurves/X88950.340 create mode 100644 secop_psi/calcurves/X88951.340 create mode 100644 secop_psi/calcurves/X89009.340 create mode 100644 secop_psi/calcurves/X89063.340 create mode 100644 secop_psi/calcurves/X89129.340 create mode 100644 secop_psi/calcurves/X89135.340 create mode 100644 secop_psi/calcurves/X89136.340 create mode 100644 secop_psi/calcurves/X89143.340 create mode 100644 secop_psi/calcurves/X92364.340 create mode 100644 secop_psi/calcurves/X94977.340 create mode 100644 secop_psi/calcurves/X94978.340 create mode 100644 secop_psi/calcurves/XCOND.340 create mode 100644 secop_psi/calcurves/XTTO002.340 create mode 100644 secop_psi/calcurves/XTTO002a.340 create mode 100644 secop_psi/calcurves/XTTO004.340 create mode 100644 secop_psi/calcurves/XTTO133.340 create mode 100644 secop_psi/calcurves/XTTO191.340 create mode 100644 secop_psi/calcurves/c020415.inp create mode 100644 secop_psi/calcurves/c030307.inp create mode 100644 secop_psi/calcurves/c030311.inp create mode 100644 secop_psi/calcurves/c1.inp create mode 100644 secop_psi/calcurves/c12900.inp create mode 100644 secop_psi/calcurves/c17844.inp create mode 100644 secop_psi/calcurves/c2.inp create mode 100644 secop_psi/calcurves/c270.inp create mode 100644 secop_psi/calcurves/c9r1al.inp create mode 100644 secop_psi/calcurves/c9r2ol.inp create mode 100644 secop_psi/calcurves/c9r3tc.inp create mode 100644 secop_psi/calcurves/c9r4bc.inp create mode 100644 secop_psi/calcurves/c_1.inp create mode 100644 secop_psi/calcurves/c_2.inp create mode 100644 secop_psi/calcurves/c_3.inp create mode 100644 secop_psi/calcurves/c_4.inp create mode 100644 secop_psi/calcurves/c_ab.inp create mode 100644 secop_psi/calcurves/c_ab270.inp create mode 100644 secop_psi/calcurves/c_ill.inp create mode 100644 secop_psi/calcurves/c_t.inp create mode 100644 secop_psi/calcurves/cab505.inp create mode 100644 secop_psi/calcurves/ccs130.inp create mode 100644 secop_psi/calcurves/cma11.inp create mode 100644 secop_psi/calcurves/cma11r1al.inp create mode 100644 secop_psi/calcurves/cma11r2ol.inp create mode 100644 secop_psi/calcurves/cma11r3lc.inp create mode 100644 secop_psi/calcurves/cma11r4rc.inp create mode 100644 secop_psi/calcurves/cma7.inp create mode 100644 secop_psi/calcurves/coil.inp create mode 100644 secop_psi/calcurves/cplus45.inp create mode 100644 secop_psi/calcurves/cplus70.inp create mode 100644 secop_psi/calcurves/cs405.inp create mode 100644 secop_psi/calcurves/cx078.inp create mode 100644 secop_psi/calcurves/cx198.inp create mode 100644 secop_psi/calcurves/cx19801.340 create mode 100644 secop_psi/calcurves/cx262.inp create mode 100644 secop_psi/calcurves/ds3b.inp create mode 100644 secop_psi/calcurves/dt-470.std create mode 100644 secop_psi/calcurves/dt-470custom.inp create mode 100644 secop_psi/calcurves/dt-670.std create mode 100644 secop_psi/calcurves/dt-670custom.340 create mode 100644 secop_psi/calcurves/g24741.inp create mode 100644 secop_psi/calcurves/g25328.inp create mode 100644 secop_psi/calcurves/g25550.inp create mode 100644 secop_psi/calcurves/g26550.inp create mode 100644 secop_psi/calcurves/g26552.inp create mode 100644 secop_psi/calcurves/gemark.inp create mode 100644 secop_psi/calcurves/gonio.inp create mode 100644 secop_psi/calcurves/logtest.inp create mode 100644 secop_psi/calcurves/m59.inp create mode 100644 secop_psi/calcurves/matsh100.inp create mode 100644 secop_psi/calcurves/mz020124.inp create mode 100644 secop_psi/calcurves/mz030500.inp create mode 100644 secop_psi/calcurves/pcry.inp create mode 100644 secop_psi/calcurves/psam.inp create mode 100644 secop_psi/calcurves/pt-100.std create mode 100644 secop_psi/calcurves/pt-1000.std create mode 100644 secop_psi/calcurves/pt1000e.inp create mode 100644 secop_psi/calcurves/pt1000m.inp create mode 100644 secop_psi/calcurves/pt100e.inp create mode 100644 secop_psi/calcurves/pt_ill.inp create mode 100755 secop_psi/calcurves/purge create mode 100644 secop_psi/calcurves/r3509.inp create mode 100644 secop_psi/calcurves/r3510.inp create mode 100644 secop_psi/calcurves/rhfe0734.inp create mode 100644 secop_psi/calcurves/rhfe4140.inp create mode 100644 secop_psi/calcurves/rhfe705.inp create mode 100644 secop_psi/calcurves/rhfe8119.inp create mode 100644 secop_psi/calcurves/rhfe8244.inp create mode 100644 secop_psi/calcurves/rhfe8733.inp create mode 100644 secop_psi/calcurves/rhfee188.340 create mode 100644 secop_psi/calcurves/ruox.inp create mode 100644 secop_psi/calcurves/ruox2447.inp create mode 100644 secop_psi/calcurves/ruox408.inp create mode 100644 secop_psi/calcurves/ruox5a.inp create mode 100644 secop_psi/calcurves/ruox5b.inp create mode 100644 secop_psi/calcurves/ruox5k.inp create mode 100644 secop_psi/calcurves/ruoxben1k.inp create mode 100644 secop_psi/calcurves/ruoxm0.inp create mode 100644 secop_psi/calcurves/ruoxm7.inp create mode 100644 secop_psi/calcurves/rx00000.340 create mode 100644 secop_psi/calcurves/rx03310.340 create mode 100644 secop_psi/calcurves/rx03312.340 create mode 100644 secop_psi/calcurves/rx078.inp create mode 100644 secop_psi/calcurves/rx102a.340 create mode 100644 secop_psi/calcurves/rx102aa.inp create mode 100644 secop_psi/calcurves/rx102b.340 create mode 100644 secop_psi/calcurves/rx1611.inp create mode 100644 secop_psi/calcurves/rx1976.inp create mode 100644 secop_psi/calcurves/rx198.inp create mode 100644 secop_psi/calcurves/rx19801.340 create mode 100644 secop_psi/calcurves/rx2435.inp create mode 100644 secop_psi/calcurves/rx262.inp create mode 100644 secop_psi/calcurves/rx270c.340 create mode 100644 secop_psi/calcurves/rxdil.inp create mode 100644 secop_psi/calcurves/speer220.inp create mode 100644 secop_psi/calcurves/std1.inp create mode 100644 secop_psi/calcurves/std4.inp create mode 100644 secop_psi/calcurves/std6.inp create mode 100644 secop_psi/calcurves/tpr010.inp create mode 100644 secop_psi/calcurves/type-c-k1000.inp create mode 100644 secop_psi/calcurves/type-c-k333.inp create mode 100644 secop_psi/calcurves/type-c.inp create mode 100644 secop_psi/calcurves/type-k.inp create mode 100644 secop_psi/calcurves/type-k.std create mode 100644 secop_psi/calcurves/type_c.inp create mode 100644 secop_psi/calcurves/type_n.inp create mode 100644 secop_psi/calcurves/u02045.inp create mode 100644 secop_psi/calcurves/x09629.inp create mode 100644 secop_psi/calcurves/x09882.inp create mode 100644 secop_psi/calcurves/x09883.inp create mode 100644 secop_psi/calcurves/x10045m.inp create mode 100644 secop_psi/calcurves/x112329.inp create mode 100644 secop_psi/calcurves/x112386.inp create mode 100644 secop_psi/calcurves/x12905.inp create mode 100644 secop_psi/calcurves/x14667.inp create mode 100644 secop_psi/calcurves/x15430.inp create mode 100644 secop_psi/calcurves/x15445.inp create mode 100644 secop_psi/calcurves/x17627.inp create mode 100644 secop_psi/calcurves/x2060.inp create mode 100644 secop_psi/calcurves/x22297.inp create mode 100644 secop_psi/calcurves/x22644k.inp create mode 100644 secop_psi/calcurves/x23167.inp create mode 100644 secop_psi/calcurves/x28611.inp create mode 100644 secop_psi/calcurves/x29630.inp create mode 100644 secop_psi/calcurves/x29746.inp create mode 100644 secop_psi/calcurves/x30906.inp create mode 100644 secop_psi/calcurves/x31254.inp create mode 100644 secop_psi/calcurves/x37342.inp create mode 100644 secop_psi/calcurves/x37346.inp create mode 100644 secop_psi/calcurves/x38604.inp create mode 100644 secop_psi/calcurves/x38622.inp create mode 100644 secop_psi/calcurves/x40188.inp create mode 100644 secop_psi/calcurves/x48581.inp create mode 100644 secop_psi/calcurves/x55918.inp create mode 100644 secop_psi/calcurves/xcond.inp create mode 100644 secop_psi/calcurves/z030114.inp create mode 100644 secop_psi/dg645.py create mode 100644 secop_psi/ppmsf.py create mode 100644 secop_psi/sea.py create mode 100644 secop_psi/senis.py create mode 100644 secop_psi/testcmd.py create mode 100644 secop_psi/testtemp.py create mode 100644 secop_psi/ultrasound.py diff --git a/cfg/ls370res.cfg b/cfg/ls370res.cfg new file mode 100644 index 0000000..8f412f5 --- /dev/null +++ b/cfg/ls370res.cfg @@ -0,0 +1,25 @@ +[NODE] +id = ls370res.psi.ch +description = Lsc370 Test + +[INTERFACE] +uri = tcp://5000 + +[lsmain_iodev] +description = the communication device +class = secop_psi.ls370res.StringIO +uri = lollypop-ts:3001 + +[lsmain] +class = secop_psi.ls370res.Main +description = main control of Lsc controller +uri = lollypop-ts:3001 + +[res] +class = secop_psi.ls370res.ResChannel +iexc = '1mA' +channel = 5 +description = resistivity +main = lsmain +# the auto created iodev from lsmain: +iodev = lsmain_iodev diff --git a/cfg/ls370test.cfg b/cfg/ls370test.cfg index 6ade7f7..a011eb5 100644 --- a/cfg/ls370test.cfg +++ b/cfg/ls370test.cfg @@ -1,20 +1,24 @@ -[node LscSIM.psi.ch] +[NODE] +id = ls370res.psi.ch description = Lsc370 Test -[interface tcp] -type = tcp -bindto = 0.0.0.0 -bindport = 5000 +[INTERFACE] +uri = tcp://5000 -[module lsmain] -class = secop_psi.ls370res.Main -description = main control of Lsc controller +[lsmain_iodev] +description = the communication device +class = secop_psi.ls370res.StringIO uri = localhost:4567 -[module res] +[lsmain] +class = secop_psi.ls370res.Main +description = main control of Lsc controller +iodev = lsmain_iodev + +[res] class = secop_psi.ls370res.ResChannel -vexc = '2mV' -channel = 3 +iexc = '1mA' +channel = 5 description = resistivity main = lsmain # the auto created iodev from lsmain: diff --git a/cfg/mb11.cfg b/cfg/mb11.cfg new file mode 100644 index 0000000..9b54151 --- /dev/null +++ b/cfg/mb11.cfg @@ -0,0 +1,77 @@ +[node mb11.psi.ch] +description = mb11 over SEA + +[interface tcp] +type = tcp +bindport = 5002 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://localhost:8645 + +[module ts] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = ts.mb11.config +remote_paths = . + +[module tvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvs.mb11.config +remote_paths = . + +[module tvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvd.mb11.config +remote_paths = . + +[module pstat] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pstat.mb11.config +remote_paths = . + +[module pdyn] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pdyn.mb11.config +remote_paths = . + +[module tneck1] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck1.mb11.config +remote_paths = . + +[module tneck2] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck2.mb11.config +remote_paths = . + +[module tnvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvs.mb11.config +remote_paths = . + +[module tnvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvd.mb11.config +remote_paths = . + +[module mf] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = mf.mb11.config +remote_paths = . + +[module tcoil] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tcoil.mb11.config +remote_paths = . diff --git a/cfg/ori.cfg b/cfg/ori.cfg new file mode 100644 index 0000000..75153a5 --- /dev/null +++ b/cfg/ori.cfg @@ -0,0 +1,5 @@ +[seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +# uri = tcp://samenv.psi.ch:8642 + diff --git a/cfg/ppms2.cfg b/cfg/ppms2.cfg new file mode 100644 index 0000000..98bf491 --- /dev/null +++ b/cfg/ppms2.cfg @@ -0,0 +1,124 @@ +[NODE] +id = PPMS.psi.ch +description = PPMS at PSI + +[INTERFACE] +uri = 5000 + +[tt] +class = secop_psi.ppms.Temp +description = main temperature +iodev = ppms + +[mf] +class = secop_psi.ppms.Field +target.min = -9 +target.max = 9 +.description = magnetic field +.iodev = ppms + +[pos] +class = secop_psi.ppms.Position +.description = sample rotator +.iodev = ppms + +[lev] +class = secop_psi.ppms.Level +.description = helium level +.iodev = ppms + +[chamber] +class = secop_psi.ppms.Chamber +.description = chamber state +.iodev = ppms + +[r1] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 1 +.no = 1 +value.unit = Ohm +.iodev = ppms + +[r2] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 2 +.no = 2 +value.unit = Ohm +.iodev = ppms + +[r3] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 3 +.no = 3 +value.unit = Ohm +.iodev = ppms + +[r4] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 4 +.no = 4 +value.unit = Ohm +.iodev = ppms + +[i1] +class = secop_psi.ppms.Channel +.description = current channel 1 +.no = 1 +value.unit = uA +.iodev = ppms + +[i2] +class = secop_psi.ppms.Channel +.description = current channel 2 +.no = 2 +value.unit = uA +.iodev = ppms + +[i3] +class = secop_psi.ppms.Channel +.description = current channel 3 +.no = 3 +value.unit = uA +.iodev = ppms + +[i4] +class = secop_psi.ppms.Channel +.description = current channel 4 +.no = 4 +value.unit = uA +.iodev = ppms + +[v1] +class = secop_psi.ppms.DriverChannel +.description = voltage channel 1 +.no = 1 +value.unit = V +.iodev = ppms + +[v2] +class = secop_psi.ppms.DriverChannel +.description = voltage channel 2 +.no = 2 +value.unit = V +.iodev = ppms + +[tv] +class = secop_psi.ppms.UserChannel +.description = VTI temperature +enabled = 1 +value.unit = K +.iodev = ppms + +[ts] +class = secop_psi.ppms.UserChannel +.description = sample temperature +enabled = 1 +value.unit = K +.iodev = ppms + +[ppms] +class = secop_psi.ppms.Main +.description = the main and poller module +.class_id = QD.MULTIVU.PPMS.1 +.visibility = 3 +pollinterval = 2 \ No newline at end of file diff --git a/cfg/ppmssim.cfg b/cfg/ppmssim.cfg new file mode 100644 index 0000000..8f8a927 --- /dev/null +++ b/cfg/ppmssim.cfg @@ -0,0 +1,124 @@ +[NODE] +id = PPMS.psi.ch +description = PPMS at PSI + +[INTERFACE] +uri = tcp://5000 + +[tt] +class = secop_psi.ppms.Temp +description = main temperature +iodev = ppms + +[mf] +class = secop_psi.ppms.Field +target.min = -9 +target.max = 9 +.description = magnetic field +.iodev = ppms + +[pos] +class = secop_psi.ppms.Position +.description = sample rotator +.iodev = ppms + +[lev] +class = secop_psi.ppms.Level +.description = helium level +.iodev = ppms + +[chamber] +class = secop_psi.ppms.Chamber +.description = chamber state +.iodev = ppms + +[r1] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 1 +.no = 1 +value.unit = Ohm +.iodev = ppms + +[r2] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 2 +.no = 2 +value.unit = Ohm +.iodev = ppms + +[r3] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 3 +.no = 3 +value.unit = Ohm +.iodev = ppms + +[r4] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 4 +.no = 4 +value.unit = Ohm +.iodev = ppms + +[i1] +class = secop_psi.ppms.Channel +.description = current channel 1 +.no = 1 +value.unit = uA +.iodev = ppms + +[i2] +class = secop_psi.ppms.Channel +.description = current channel 2 +.no = 2 +value.unit = uA +.iodev = ppms + +[i3] +class = secop_psi.ppms.Channel +.description = current channel 3 +.no = 3 +value.unit = uA +.iodev = ppms + +[i4] +class = secop_psi.ppms.Channel +.description = current channel 4 +.no = 4 +value.unit = uA +.iodev = ppms + +[v1] +class = secop_psi.ppms.DriverChannel +.description = voltage channel 1 +.no = 1 +value.unit = V +.iodev = ppms + +[v2] +class = secop_psi.ppms.DriverChannel +.description = voltage channel 2 +.no = 2 +value.unit = V +.iodev = ppms + +[tv] +class = secop_psi.ppms.UserChannel +.description = VTI temperature +enabled = 1 +value.unit = K +.iodev = ppms + +[ts] +class = secop_psi.ppms.UserChannel +.description = sample temperature +enabled = 1 +value.unit = K +.iodev = ppms + +[ppms] +class = secop_psi.ppms.Main +.description = the main and poller module +.class_id = QD.MULTIVU.PPMS.1 +.visibility = 3 +pollinterval = 2 diff --git a/cfg/ppmswin.cfg b/cfg/ppmswin.cfg new file mode 100644 index 0000000..6825890 --- /dev/null +++ b/cfg/ppmswin.cfg @@ -0,0 +1,126 @@ +[NODE] +id = PPMS.psi.ch +description = PPMS at PSI + +[INTERFACE] +uri = tcp://5000 + +[tt] +class = secop_psi.ppms.Temp +description = main temperature +iodev = ppms + +[mf] +class = secop_psi.ppms.Field +target.min = -9 +target.max = 9 +.description = magnetic field +.iodev = ppms + +[pos] +class = secop_psi.ppms.Position +.description = sample rotator +.iodev = ppms + +[lev] +class = secop_psi.ppms.Level +.description = helium level +.iodev = ppms + +[chamber] +class = secop_psi.ppms.Chamber +.description = chamber state +.iodev = ppms + +[r1] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 1 +.no = 1 +value.unit = Ohm +.iodev = ppms + +[r2] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 2 +.no = 2 +value.unit = Ohm +.iodev = ppms + +[r3] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 3 +.no = 3 +value.unit = Ohm +.iodev = ppms + +[r4] +class = secop_psi.ppms.BridgeChannel +.description = resistivity channel 4 +.no = 4 +value.unit = Ohm +.iodev = ppms + +[i1] +class = secop_psi.ppms.Channel +.description = current channel 1 +.no = 1 +value.unit = uA +.iodev = ppms + +[i2] +class = secop_psi.ppms.Channel +.description = current channel 2 +.no = 2 +value.unit = uA +.iodev = ppms + +[i3] +class = secop_psi.ppms.Channel +.description = current channel 3 +.no = 3 +value.unit = uA +.iodev = ppms + +[i4] +class = secop_psi.ppms.Channel +.description = current channel 4 +.no = 4 +value.unit = uA +.iodev = ppms + +[v1] +class = secop_psi.ppms.DriverChannel +.description = voltage channel 1 +.no = 1 +value.unit = V +.iodev = ppms + +[v2] +class = secop_psi.ppms.DriverChannel +.description = voltage channel 2 +.no = 2 +value.unit = V +.iodev = ppms + +[tv] +class = secop_psi.ppms.UserChannel +.description = VTI temperature +enabled = 0 +linkenable = ts +value.unit = K +.iodev = ppms + +[ts] +class = secop_psi.ppms.UserChannel +.description = sample temperature +enabled = 0 +linkenable = tv +value.unit = K +.iodev = ppms + +[ppms] +class = secop_psi.ppms.Main +.description = the main and poller module +.class_id = QD.MULTIVU.PPMS.1 +#.visibility = 3 +pollinterval = 2 diff --git a/cfg/prep2.cfg b/cfg/prep2.cfg new file mode 100644 index 0000000..3b012d8 --- /dev/null +++ b/cfg/prep2.cfg @@ -0,0 +1,23 @@ +[node ori1.psi.ch] +description = ori1 over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8642 + +[module tt] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = tt.ori1.config +remote_paths = . + +[module nv] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = nv.ori1.config +remote_paths = . diff --git a/cfg/prep5.cfg b/cfg/prep5.cfg new file mode 100644 index 0000000..260cf20 --- /dev/null +++ b/cfg/prep5.cfg @@ -0,0 +1,119 @@ +[node ma11_dil4_ultrasound_sr.psi.ch] +description = ma11_dil4_ultrasound_sr over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8645 + +[module tt] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = tt.ma11.config +remote_paths = . + +[module nv] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = nv.ma11.config +remote_paths = . + +[module ln2fill] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = ln2fill.ma11.config +remote_paths = . + +[module hefill] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = hefill.ma11.config +remote_paths = . + +[module tcoil] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tcoil.ma11.config +remote_paths = . + +[module table] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = table.ma11.config +remote_paths = . + +[module lnv] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = lnv.ma11.config +remote_paths = . + +[module lpr] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = lpr.ma11.config +remote_paths = . + +[module lambdawatch] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = lambdawatch.ma11.config +remote_paths = . + +[module ts] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = ts.dil4.stick +remote_paths = . + +[module treg] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = treg.dil4.stick +remote_paths = . + +[module tmon] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tmon.dil4.stick +remote_paths = . + +[module sorb] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = sorb.dil4.stick +remote_paths = . + +[module ultrasound] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = ultrasound.ultrasound.addon +remote_paths = . + +[module fn] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = fn.ultrasound.addon +remote_paths = . + +[module mirror] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = mirror.ultrasound.addon +remote_paths = . + +[module f] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = f.ultrasound.addon +remote_paths = . + +[module pars] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pars.ultrasound.addon +remote_paths = . diff --git a/cfg/prep6.cfg b/cfg/prep6.cfg new file mode 100644 index 0000000..7350d68 --- /dev/null +++ b/cfg/prep6.cfg @@ -0,0 +1,65 @@ +[node varioxB_vb.psi.ch] +description = varioxB_vb over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8646 + +[module tvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvs.varioxB.config +remote_paths = . + +[module tvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvd.varioxB.config +remote_paths = . + +[module pstat] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pstat.varioxB.config +remote_paths = . + +[module pdyn] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pdyn.varioxB.config +remote_paths = . + +[module tneck1] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck1.varioxB.config +remote_paths = . + +[module tneck2] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck2.varioxB.config +remote_paths = . + +[module tnvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvs.varioxB.config +remote_paths = . + +[module tnvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvd.varioxB.config +remote_paths = . + +[module ts] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = ts.vb.stick +remote_paths = . diff --git a/cfg/sea.cfg b/cfg/sea.cfg new file mode 100644 index 0000000..049568c --- /dev/null +++ b/cfg/sea.cfg @@ -0,0 +1,35 @@ +[node seatest.psi.ch] +description = SEA test + +[interface tcp] +type = tcp +bindto = 0.0.0.0 +bindport = 5002 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8645 + +#[module t1] +#class = secop_psi.sea.SeaDrivable +#iodev = seaconn +#json_descr = tt.flamp.config +#remote_paths = . t1 + +#[module tw1] +#class = secop_psi.sea.SeaReadable +#iodev = seaconn +#json_descr = wall.lampovenwall.addon +#remote_paths = tw1 + +#[module pv] +#class = secop_psi.sea.SeaReadable +#iodev = seaconn +#json_descr = pv.flamp.config + +#[module mf] +#class = secop.Proxy +#remote_class = secop_psi.ppms.Field +#description = magnetic field +#iodev = secnode diff --git a/cfg/sea/current.flamp.config.json b/cfg/sea/current.flamp.config.json new file mode 100644 index 0000000..9af2d2d --- /dev/null +++ b/cfg/sea/current.flamp.config.json @@ -0,0 +1,7 @@ +["current", [{"path": "", "type": "float", "kids": 6}, +{"path": "send", "type": "text", "readonly": false, "cmd": "current send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "i1", "type": "float"}, +{"path": "i2", "type": "float"}, +{"path": "i3", "type": "float"}, +{"path": "i4", "type": "float"}]] diff --git a/cfg/sea/f.ultrasound.addon.json b/cfg/sea/f.ultrasound.addon.json new file mode 100644 index 0000000..0c6bbf7 --- /dev/null +++ b/cfg/sea/f.ultrasound.addon.json @@ -0,0 +1,17 @@ +["f", [{"path": "", "type": "float", "description": "frequency@I,q [Hz]", "kids": 16}, +{"path": "status_text", "type": "text"}, +{"path": "status_code", "type": "enum", "enum": {"DISABLED": 0, "IDLE": 100, "WARN": 200, "UNSTABLE": 270, "ERROR": 400}, "description": "current status of the Module"}, +{"path": "basefreq", "type": "float", "readonly": false, "cmd": "f basefreq", "description": "base frequency [Hz]"}, +{"path": "nr", "type": "int", "description": "number of records"}, +{"path": "freq", "type": "float", "readonly": false, "cmd": "f freq", "description": "target frequency [Hz]"}, +{"path": "amp", "type": "float", "readonly": false, "cmd": "f amp", "description": "amplitude [dBm]"}, +{"path": "control", "type": "bool", "readonly": false, "cmd": "f control", "description": "control loop on?"}, +{"path": "time", "type": "float", "readonly": false, "cmd": "f time", "description": "pulse start time [nsec]"}, +{"path": "size", "type": "float", "readonly": false, "cmd": "f size", "description": "pulse length (starting from time) [nsec]"}, +{"path": "pulselen", "type": "float", "description": "adjusted pulse length (integer number of periods) [nsec]"}, +{"path": "maxstep", "type": "float", "readonly": false, "cmd": "f maxstep", "description": "max frequency step [Hz]"}, +{"path": "minstep", "type": "float", "readonly": false, "cmd": "f minstep", "description": "min frequency step for slope calculation [Hz]"}, +{"path": "slope", "type": "float", "readonly": false, "cmd": "f slope", "description": "inphase/frequency slope"}, +{"path": "plot", "type": "bool", "readonly": false, "cmd": "f plot", "description": "create plot images"}, +{"path": "save", "type": "bool", "readonly": false, "cmd": "f save", "description": "save data"}, +{"path": "pollinterval", "type": "float", "readonly": false, "cmd": "f pollinterval", "description": "sleeptime between polls"}]] diff --git a/cfg/sea/fn.ultrasound.addon.json b/cfg/sea/fn.ultrasound.addon.json new file mode 100644 index 0000000..5e89d6c --- /dev/null +++ b/cfg/sea/fn.ultrasound.addon.json @@ -0,0 +1,14 @@ +["fn", [{"path": "", "type": "float", "kids": 13}, +{"path": "send", "type": "text", "readonly": false, "cmd": "fn send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "remote", "type": "bool", "readonly": false, "cmd": "fn remote"}, +{"path": "waveform", "type": "text", "readonly": false, "cmd": "fn waveform"}, +{"path": "freq", "type": "float", "readonly": false, "cmd": "fn freq"}, +{"path": "volt", "type": "float", "readonly": false, "cmd": "fn volt"}, +{"path": "offset", "type": "float", "readonly": false, "cmd": "fn offset"}, +{"path": "width", "type": "float", "readonly": false, "cmd": "fn width"}, +{"path": "burstfreq", "type": "float", "readonly": false, "cmd": "fn burstfreq"}, +{"path": "burstvolt", "type": "float", "readonly": false, "cmd": "fn burstvolt"}, +{"path": "burstcycles", "type": "int", "readonly": false, "cmd": "fn burstcycles"}, +{"path": "burstperiod", "type": "float", "readonly": false, "cmd": "fn burstperiod"}, +{"path": "burst", "type": "enum", "enum": {"continuous": 0, "burst": 1, "off": 2}, "readonly": false, "cmd": "fn burst"}]] diff --git a/cfg/sea/hefill.ma11.config.json b/cfg/sea/hefill.ma11.config.json new file mode 100644 index 0000000..32385de --- /dev/null +++ b/cfg/sea/hefill.ma11.config.json @@ -0,0 +1,17 @@ +["hefill", [{"path": "", "type": "enum", "enum": {"watching": 0, "fill": 1, "inactive": 2}, "readonly": false, "cmd": "hefill", "kids": 16}, +{"path": "send", "type": "text", "readonly": false, "cmd": "hefill send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "state", "type": "text"}, +{"path": "readlevel", "type": "text", "readonly": false, "cmd": "hefill readlevel", "visibility": 3}, +{"path": "lowlevel", "type": "float", "readonly": false, "cmd": "hefill lowlevel"}, +{"path": "highlevel", "type": "float", "readonly": false, "cmd": "hefill highlevel"}, +{"path": "smooth", "type": "float"}, +{"path": "minfillminutes", "type": "float", "readonly": false, "cmd": "hefill minfillminutes"}, +{"path": "maxfillminutes", "type": "float", "readonly": false, "cmd": "hefill maxfillminutes"}, +{"path": "minholdhours", "type": "float", "readonly": false, "cmd": "hefill minholdhours"}, +{"path": "maxholdhours", "type": "float", "readonly": false, "cmd": "hefill maxholdhours"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "hefill tolerance"}, +{"path": "badreadingminutes", "type": "float", "readonly": false, "cmd": "hefill badreadingminutes"}, +{"path": "tubecoolingminutes", "type": "float", "readonly": false, "cmd": "hefill tubecoolingminutes"}, +{"path": "vessellimit", "type": "float", "readonly": false, "cmd": "hefill vessellimit"}, +{"path": "vext", "type": "float"}]] diff --git a/cfg/sea/lambdawatch.ma11.config.json b/cfg/sea/lambdawatch.ma11.config.json new file mode 100644 index 0000000..c73b1a9 --- /dev/null +++ b/cfg/sea/lambdawatch.ma11.config.json @@ -0,0 +1,7 @@ +["lambdawatch", [{"path": "", "type": "float", "kids": 6}, +{"path": "send", "type": "text", "readonly": false, "cmd": "lambdawatch send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "safefield", "type": "float", "readonly": false, "cmd": "lambdawatch safefield"}, +{"path": "maxfield", "type": "float", "readonly": false, "cmd": "lambdawatch maxfield"}, +{"path": "safetemp", "type": "float", "readonly": false, "cmd": "lambdawatch safetemp"}, +{"path": "coiltemp", "type": "text", "readonly": false, "cmd": "lambdawatch coiltemp"}]] diff --git a/cfg/sea/ln2fill.ma11.config.json b/cfg/sea/ln2fill.ma11.config.json new file mode 100644 index 0000000..922169f --- /dev/null +++ b/cfg/sea/ln2fill.ma11.config.json @@ -0,0 +1,15 @@ +["ln2fill", [{"path": "", "type": "enum", "enum": {"watching": 0, "fill": 1, "inactive": 2}, "readonly": false, "cmd": "ln2fill", "kids": 14}, +{"path": "send", "type": "text", "readonly": false, "cmd": "ln2fill send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "state", "type": "text"}, +{"path": "readlevel", "type": "text", "readonly": false, "cmd": "ln2fill readlevel", "visibility": 3}, +{"path": "lowlevel", "type": "float", "readonly": false, "cmd": "ln2fill lowlevel"}, +{"path": "highlevel", "type": "float", "readonly": false, "cmd": "ln2fill highlevel"}, +{"path": "smooth", "type": "float"}, +{"path": "minfillminutes", "type": "float", "readonly": false, "cmd": "ln2fill minfillminutes"}, +{"path": "maxfillminutes", "type": "float", "readonly": false, "cmd": "ln2fill maxfillminutes"}, +{"path": "minholdhours", "type": "float", "readonly": false, "cmd": "ln2fill minholdhours"}, +{"path": "maxholdhours", "type": "float", "readonly": false, "cmd": "ln2fill maxholdhours"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "ln2fill tolerance"}, +{"path": "badreadingminutes", "type": "float", "readonly": false, "cmd": "ln2fill badreadingminutes"}, +{"path": "tubecoolingminutes", "type": "float", "readonly": false, "cmd": "ln2fill tubecoolingminutes"}]] diff --git a/cfg/sea/lnv.ma11.config.json b/cfg/sea/lnv.ma11.config.json new file mode 100644 index 0000000..ec09a4d --- /dev/null +++ b/cfg/sea/lnv.ma11.config.json @@ -0,0 +1,39 @@ +["lnv", [{"path": "", "type": "enum", "enum": {"off": 5, "fixed": 0, "controlling": 1, "close": 3, "open": 4}, "readonly": false, "cmd": "lnv", "kids": 12}, +{"path": "send", "type": "text", "readonly": false, "cmd": "lnv send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "lnv set"}, +{"path": "flowmax", "type": "float", "readonly": false, "cmd": "lnv flowmax"}, +{"path": "prop", "type": "float", "readonly": false, "cmd": "lnv prop"}, +{"path": "int", "type": "float", "readonly": false, "cmd": "lnv int"}, +{"path": "minpulse", "type": "enum", "enum": {"micro": 1, "short": 10, "long": 100}, "readonly": false, "cmd": "lnv minpulse", "description": "micro: 1 ms, short: 10 ms, long: 100 ms"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "lnv tolerance"}, +{"path": "speed", "type": "float"}, +{"path": "flow", "type": "float"}, +{"path": "pos", "type": "float", "kids": 2}, +{"path": "pos/norm", "type": "float", "readonly": false, "cmd": "lnv pos/norm"}, +{"path": "pos/max", "type": "float", "readonly": false, "cmd": "lnv pos/max"}, +{"path": "autoflow", "type": "none", "kids": 24}, +{"path": "autoflow/suspended", "type": "bool", "readonly": false, "cmd": "lnv autoflow/suspended"}, +{"path": "autoflow/prop", "type": "float", "readonly": false, "cmd": "lnv autoflow/prop"}, +{"path": "autoflow/flowstd", "type": "float", "readonly": false, "cmd": "lnv autoflow/flowstd"}, +{"path": "autoflow/flowlim", "type": "float", "readonly": false, "cmd": "lnv autoflow/flowlim"}, +{"path": "autoflow/smooth", "type": "float", "readonly": false, "cmd": "lnv autoflow/smooth"}, +{"path": "autoflow/difSize", "type": "float", "readonly": false, "cmd": "lnv autoflow/difSize"}, +{"path": "autoflow/difRange", "type": "float", "readonly": false, "cmd": "lnv autoflow/difRange"}, +{"path": "autoflow/flowSize", "type": "float", "readonly": false, "cmd": "lnv autoflow/flowSize"}, +{"path": "autoflow/convTime", "type": "float", "readonly": false, "cmd": "lnv autoflow/convTime"}, +{"path": "autoflow/Tmin", "type": "float", "readonly": false, "cmd": "lnv autoflow/Tmin"}, +{"path": "autoflow/script", "type": "text", "readonly": false, "cmd": "lnv autoflow/script"}, +{"path": "autoflow/getTemp", "type": "text", "readonly": false, "cmd": "lnv autoflow/getTemp"}, +{"path": "autoflow/getTset", "type": "text", "readonly": false, "cmd": "lnv autoflow/getTset"}, +{"path": "autoflow/getFlow", "type": "text", "readonly": false, "cmd": "lnv autoflow/getFlow"}, +{"path": "autoflow/difBuf", "type": "text"}, +{"path": "autoflow/flowBuf", "type": "text"}, +{"path": "autoflow/flowset", "type": "float"}, +{"path": "autoflow/flowmin", "type": "float"}, +{"path": "autoflow/flowmax", "type": "float"}, +{"path": "autoflow/difmin", "type": "float"}, +{"path": "autoflow/difmax", "type": "float"}, +{"path": "autoflow/setmin", "type": "float"}, +{"path": "autoflow/setmax", "type": "float"}, +{"path": "autoflow/flowtarget", "type": "float"}]] diff --git a/cfg/sea/lpr.ma11.config.json b/cfg/sea/lpr.ma11.config.json new file mode 100644 index 0000000..0bcd712 --- /dev/null +++ b/cfg/sea/lpr.ma11.config.json @@ -0,0 +1,29 @@ +["lpr", [{"path": "", "type": "float", "readonly": false, "cmd": "run lpr", "description": "lpr", "kids": 28}, +{"path": "send", "type": "text", "readonly": false, "cmd": "lpr send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "is_running", "type": "int", "visibility": 3}, +{"path": "mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "lpr mode"}, +{"path": "reg", "type": "float"}, +{"path": "output", "type": "float", "readonly": false, "cmd": "lpr output"}, +{"path": "ramptime", "type": "float", "readonly": false, "cmd": "lpr ramptime", "description": "time for ramping [sec] deltax = 1 or a factor 10"}, +{"path": "ramptol", "type": "float", "readonly": false, "cmd": "lpr ramptol", "description": "log of max. deviation when ramping"}, +{"path": "smoothtime", "type": "float", "readonly": false, "cmd": "lpr smoothtime", "description": "time for smoothing ramp near setpoint"}, +{"path": "invar", "type": "text", "readonly": false, "cmd": "lpr invar", "visibility": 3}, +{"path": "outvar", "type": "text", "readonly": false, "cmd": "lpr outvar", "visibility": 3}, +{"path": "prop", "type": "float", "readonly": false, "cmd": "lpr prop", "description": "smaller means more sensitive. a change of 'prop' on input -> a change of 100 % or a factor 10 on output"}, +{"path": "int", "type": "float", "readonly": false, "cmd": "lpr int", "description": "integration time (sec)"}, +{"path": "outmin", "type": "float", "readonly": false, "cmd": "lpr outmin", "description": "output for maximal decrease of input var."}, +{"path": "outmax", "type": "float", "readonly": false, "cmd": "lpr outmax", "description": "output for maximal increase of input var."}, +{"path": "inpfunction", "type": "enum", "enum": {"linear": 0, "logarithmic": 1}, "readonly": false, "cmd": "lpr inpfunction"}, +{"path": "inplinear", "type": "float", "readonly": false, "cmd": "lpr inplinear", "description": "function gets linear below about this value"}, +{"path": "outfunction", "type": "enum", "enum": {"linear": 0, "exponential": 1}, "readonly": false, "cmd": "lpr outfunction"}, +{"path": "outlinear", "type": "float", "readonly": false, "cmd": "lpr outlinear", "description": "function gets linear below about this value"}, +{"path": "precision", "type": "float", "readonly": false, "cmd": "lpr precision"}, +{"path": "deadband", "type": "float", "readonly": false, "cmd": "lpr deadband"}, +{"path": "maxdelta", "type": "float", "readonly": false, "cmd": "lpr maxdelta"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "lpr set"}, +{"path": "target", "type": "float"}, +{"path": "running", "type": "int"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "lpr tolerance"}, +{"path": "maxwait", "type": "float", "readonly": false, "cmd": "lpr maxwait"}, +{"path": "settle", "type": "float", "readonly": false, "cmd": "lpr settle"}]] diff --git a/cfg/sea/ma11_dil4_ultrasound_sr.cfg b/cfg/sea/ma11_dil4_ultrasound_sr.cfg new file mode 100644 index 0000000..260cf20 --- /dev/null +++ b/cfg/sea/ma11_dil4_ultrasound_sr.cfg @@ -0,0 +1,119 @@ +[node ma11_dil4_ultrasound_sr.psi.ch] +description = ma11_dil4_ultrasound_sr over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8645 + +[module tt] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = tt.ma11.config +remote_paths = . + +[module nv] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = nv.ma11.config +remote_paths = . + +[module ln2fill] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = ln2fill.ma11.config +remote_paths = . + +[module hefill] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = hefill.ma11.config +remote_paths = . + +[module tcoil] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tcoil.ma11.config +remote_paths = . + +[module table] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = table.ma11.config +remote_paths = . + +[module lnv] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = lnv.ma11.config +remote_paths = . + +[module lpr] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = lpr.ma11.config +remote_paths = . + +[module lambdawatch] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = lambdawatch.ma11.config +remote_paths = . + +[module ts] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = ts.dil4.stick +remote_paths = . + +[module treg] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = treg.dil4.stick +remote_paths = . + +[module tmon] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tmon.dil4.stick +remote_paths = . + +[module sorb] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = sorb.dil4.stick +remote_paths = . + +[module ultrasound] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = ultrasound.ultrasound.addon +remote_paths = . + +[module fn] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = fn.ultrasound.addon +remote_paths = . + +[module mirror] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = mirror.ultrasound.addon +remote_paths = . + +[module f] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = f.ultrasound.addon +remote_paths = . + +[module pars] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pars.ultrasound.addon +remote_paths = . diff --git a/cfg/sea/mf.mb11.config.json b/cfg/sea/mf.mb11.config.json new file mode 100644 index 0000000..925fe1e --- /dev/null +++ b/cfg/sea/mf.mb11.config.json @@ -0,0 +1,35 @@ +["mf", [{"path": "", "type": "float", "readonly": false, "cmd": "run mf", "kids": 8}, +{"path": "send", "type": "text", "readonly": false, "cmd": "mf send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "is_running", "type": "int", "visibility": 3}, +{"path": "statustext", "type": "text"}, +{"path": "ramp", "type": "float", "readonly": false, "cmd": "mf ramp"}, +{"path": "persistent_mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "mf persistent_mode", "description": "hidden mode -1: completely off"}, +{"path": "gen", "type": "none", "kids": 13}, +{"path": "gen/persistent_delay", "type": "float", "readonly": false, "cmd": "mf gen/persistent_delay", "description": "timeout for going automatically into persistent mode"}, +{"path": "gen/tolerance", "type": "float", "readonly": false, "cmd": "mf gen/tolerance"}, +{"path": "gen/wait_switch_on", "type": "float", "readonly": false, "cmd": "mf gen/wait_switch_on"}, +{"path": "gen/wait_switch_off", "type": "float", "readonly": false, "cmd": "mf gen/wait_switch_off"}, +{"path": "gen/wait_stable_leads", "type": "float", "readonly": false, "cmd": "mf gen/wait_stable_leads"}, +{"path": "gen/wait_stable_field", "type": "float", "readonly": false, "cmd": "mf gen/wait_stable_field"}, +{"path": "gen/expectend", "type": "text"}, +{"path": "gen/trained_pos", "type": "float", "readonly": false, "cmd": "mf gen/trained_pos"}, +{"path": "gen/trained_neg", "type": "float", "readonly": false, "cmd": "mf gen/trained_neg"}, +{"path": "gen/profile", "type": "text", "readonly": false, "cmd": "mf gen/profile", "description": "syntax: : : ... ( is the ramp limit from to )"}, +{"path": "gen/profile_training", "type": "text", "readonly": false, "cmd": "mf gen/profile_training", "description": "syntax: : : ... ( is the ramp limit from to )"}, +{"path": "gen/limit", "type": "float", "readonly": false, "cmd": "mf gen/limit"}, +{"path": "gen/bipolar", "type": "bool", "readonly": false, "cmd": "mf gen/bipolar"}, +{"path": "ips", "type": "float", "kids": 13}, +{"path": "ips/ramp_slow", "type": "float", "readonly": false, "cmd": "mf ips/ramp_slow", "description": "ramp rate for coils Tesla/min."}, +{"path": "ips/ramp_fast", "type": "float", "description": "ramp rate for leads Tesla/min."}, +{"path": "ips/set_field", "type": "float", "readonly": false, "cmd": "mf ips/set_field"}, +{"path": "ips/heater", "type": "bool", "readonly": false, "cmd": "mf ips/heater"}, +{"path": "ips/ramp_state", "type": "enum", "enum": {"hold": 0, "to_zero": 1, "to_set": 2, "clamp": 3}, "readonly": false, "cmd": "mf ips/ramp_state"}, +{"path": "ips/leads_set", "type": "float", "description": "calculated current in the leads, converted to Tesla"}, +{"path": "ips/show_internals", "type": "bool", "readonly": false, "cmd": "mf ips/show_internals"}, +{"path": "ips/leads_meas", "type": "float", "description": "measured current in the leads, converted to Tesla"}, +{"path": "ips/volt", "type": "float"}, +{"path": "ips/symode", "type": "text"}, +{"path": "ips/engineering_password", "type": "text", "readonly": false, "cmd": "mf ips/engineering_password"}, +{"path": "ips/atob", "type": "float", "readonly": false, "cmd": "mf ips/atob", "description": "Amp/Tesla"}, +{"path": "ips/inductance", "type": "float", "readonly": false, "cmd": "mf ips/inductance", "description": "henries"}]] diff --git a/cfg/sea/mirror.ultrasound.addon.json b/cfg/sea/mirror.ultrasound.addon.json new file mode 100644 index 0000000..bb8a4ad --- /dev/null +++ b/cfg/sea/mirror.ultrasound.addon.json @@ -0,0 +1,3 @@ +["mirror", [{"path": "", "type": "text", "readonly": false, "cmd": "mirror", "kids": 2}, +{"path": "send", "type": "text", "readonly": false, "cmd": "mirror send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}]] diff --git a/cfg/sea/nv.ma11.config.json b/cfg/sea/nv.ma11.config.json new file mode 100644 index 0000000..dc27cf9 --- /dev/null +++ b/cfg/sea/nv.ma11.config.json @@ -0,0 +1,51 @@ +["nv", [{"path": "", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "close": 3, "open": 4}, "readonly": false, "cmd": "nv", "kids": 11}, +{"path": "send", "type": "text", "readonly": false, "cmd": "nv send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "motstat", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}}, +{"path": "flow", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "nv set"}, +{"path": "flowmax", "type": "float", "readonly": false, "cmd": "nv flowmax"}, +{"path": "flowp", "type": "float"}, +{"path": "span", "type": "float"}, +{"path": "ctrl", "type": "none", "kids": 13}, +{"path": "ctrl/regtext", "type": "text"}, +{"path": "ctrl/prop_o", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_o", "description": "prop [sec/mbar] when opening. above 4 mbar a 10 times lower value is used"}, +{"path": "ctrl/prop_c", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_c", "description": "prop [sec/mbar] when closing. above 4 mbar a 10 times lower value is used"}, +{"path": "ctrl/deriv_o", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_o", "description": "convergence target time [sec] when opening"}, +{"path": "ctrl/deriv_c", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_c", "description": "convergence target time [sec] when closing"}, +{"path": "ctrl/minpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_o", "description": "minimum close pulse [sec]"}, +{"path": "ctrl/minpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_c", "description": "standard close pulse [sec]"}, +{"path": "ctrl/hystpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_o", "description": "motor pulse to overcome hysteresis when opening"}, +{"path": "ctrl/hystpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_c", "description": "motor pulse to overcome hysteresis when closing"}, +{"path": "ctrl/tol", "type": "float", "readonly": false, "cmd": "nv ctrl/tol", "description": "valid below 3 mbar"}, +{"path": "ctrl/tolhigh", "type": "float", "readonly": false, "cmd": "nv ctrl/tolhigh", "description": "valid above 4 mbar"}, +{"path": "ctrl/openpulse", "type": "float", "readonly": false, "cmd": "nv ctrl/openpulse", "description": "time to open from completely closed to a significant opening"}, +{"path": "ctrl/adjust_minpulse", "type": "bool", "readonly": false, "cmd": "nv ctrl/adjust_minpulse", "description": "adjust minpulse automatically"}, +{"path": "autoflow", "type": "none", "kids": 24}, +{"path": "autoflow/suspended", "type": "bool", "readonly": false, "cmd": "nv autoflow/suspended"}, +{"path": "autoflow/prop", "type": "float", "readonly": false, "cmd": "nv autoflow/prop"}, +{"path": "autoflow/flowstd", "type": "float", "readonly": false, "cmd": "nv autoflow/flowstd"}, +{"path": "autoflow/flowlim", "type": "float", "readonly": false, "cmd": "nv autoflow/flowlim"}, +{"path": "autoflow/smooth", "type": "float", "readonly": false, "cmd": "nv autoflow/smooth"}, +{"path": "autoflow/difSize", "type": "float", "readonly": false, "cmd": "nv autoflow/difSize"}, +{"path": "autoflow/difRange", "type": "float", "readonly": false, "cmd": "nv autoflow/difRange"}, +{"path": "autoflow/flowSize", "type": "float", "readonly": false, "cmd": "nv autoflow/flowSize"}, +{"path": "autoflow/convTime", "type": "float", "readonly": false, "cmd": "nv autoflow/convTime"}, +{"path": "autoflow/Tmin", "type": "float", "readonly": false, "cmd": "nv autoflow/Tmin"}, +{"path": "autoflow/script", "type": "text", "readonly": false, "cmd": "nv autoflow/script"}, +{"path": "autoflow/getTemp", "type": "text", "readonly": false, "cmd": "nv autoflow/getTemp"}, +{"path": "autoflow/getTset", "type": "text", "readonly": false, "cmd": "nv autoflow/getTset"}, +{"path": "autoflow/getFlow", "type": "text", "readonly": false, "cmd": "nv autoflow/getFlow"}, +{"path": "autoflow/difBuf", "type": "text"}, +{"path": "autoflow/flowBuf", "type": "text"}, +{"path": "autoflow/flowset", "type": "float"}, +{"path": "autoflow/flowmin", "type": "float"}, +{"path": "autoflow/flowmax", "type": "float"}, +{"path": "autoflow/difmin", "type": "float"}, +{"path": "autoflow/difmax", "type": "float"}, +{"path": "autoflow/setmin", "type": "float"}, +{"path": "autoflow/setmax", "type": "float"}, +{"path": "autoflow/flowtarget", "type": "float"}, +{"path": "calib", "type": "none", "kids": 2}, +{"path": "calib/ln_per_min_per_mbar", "type": "float", "readonly": false, "cmd": "nv calib/ln_per_min_per_mbar"}, +{"path": "calib/mbar_offset", "type": "float", "readonly": false, "cmd": "nv calib/mbar_offset"}]] diff --git a/cfg/sea/nv.ori1.config.json b/cfg/sea/nv.ori1.config.json new file mode 100644 index 0000000..dc27cf9 --- /dev/null +++ b/cfg/sea/nv.ori1.config.json @@ -0,0 +1,51 @@ +["nv", [{"path": "", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "close": 3, "open": 4}, "readonly": false, "cmd": "nv", "kids": 11}, +{"path": "send", "type": "text", "readonly": false, "cmd": "nv send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "motstat", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}}, +{"path": "flow", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "nv set"}, +{"path": "flowmax", "type": "float", "readonly": false, "cmd": "nv flowmax"}, +{"path": "flowp", "type": "float"}, +{"path": "span", "type": "float"}, +{"path": "ctrl", "type": "none", "kids": 13}, +{"path": "ctrl/regtext", "type": "text"}, +{"path": "ctrl/prop_o", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_o", "description": "prop [sec/mbar] when opening. above 4 mbar a 10 times lower value is used"}, +{"path": "ctrl/prop_c", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_c", "description": "prop [sec/mbar] when closing. above 4 mbar a 10 times lower value is used"}, +{"path": "ctrl/deriv_o", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_o", "description": "convergence target time [sec] when opening"}, +{"path": "ctrl/deriv_c", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_c", "description": "convergence target time [sec] when closing"}, +{"path": "ctrl/minpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_o", "description": "minimum close pulse [sec]"}, +{"path": "ctrl/minpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_c", "description": "standard close pulse [sec]"}, +{"path": "ctrl/hystpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_o", "description": "motor pulse to overcome hysteresis when opening"}, +{"path": "ctrl/hystpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_c", "description": "motor pulse to overcome hysteresis when closing"}, +{"path": "ctrl/tol", "type": "float", "readonly": false, "cmd": "nv ctrl/tol", "description": "valid below 3 mbar"}, +{"path": "ctrl/tolhigh", "type": "float", "readonly": false, "cmd": "nv ctrl/tolhigh", "description": "valid above 4 mbar"}, +{"path": "ctrl/openpulse", "type": "float", "readonly": false, "cmd": "nv ctrl/openpulse", "description": "time to open from completely closed to a significant opening"}, +{"path": "ctrl/adjust_minpulse", "type": "bool", "readonly": false, "cmd": "nv ctrl/adjust_minpulse", "description": "adjust minpulse automatically"}, +{"path": "autoflow", "type": "none", "kids": 24}, +{"path": "autoflow/suspended", "type": "bool", "readonly": false, "cmd": "nv autoflow/suspended"}, +{"path": "autoflow/prop", "type": "float", "readonly": false, "cmd": "nv autoflow/prop"}, +{"path": "autoflow/flowstd", "type": "float", "readonly": false, "cmd": "nv autoflow/flowstd"}, +{"path": "autoflow/flowlim", "type": "float", "readonly": false, "cmd": "nv autoflow/flowlim"}, +{"path": "autoflow/smooth", "type": "float", "readonly": false, "cmd": "nv autoflow/smooth"}, +{"path": "autoflow/difSize", "type": "float", "readonly": false, "cmd": "nv autoflow/difSize"}, +{"path": "autoflow/difRange", "type": "float", "readonly": false, "cmd": "nv autoflow/difRange"}, +{"path": "autoflow/flowSize", "type": "float", "readonly": false, "cmd": "nv autoflow/flowSize"}, +{"path": "autoflow/convTime", "type": "float", "readonly": false, "cmd": "nv autoflow/convTime"}, +{"path": "autoflow/Tmin", "type": "float", "readonly": false, "cmd": "nv autoflow/Tmin"}, +{"path": "autoflow/script", "type": "text", "readonly": false, "cmd": "nv autoflow/script"}, +{"path": "autoflow/getTemp", "type": "text", "readonly": false, "cmd": "nv autoflow/getTemp"}, +{"path": "autoflow/getTset", "type": "text", "readonly": false, "cmd": "nv autoflow/getTset"}, +{"path": "autoflow/getFlow", "type": "text", "readonly": false, "cmd": "nv autoflow/getFlow"}, +{"path": "autoflow/difBuf", "type": "text"}, +{"path": "autoflow/flowBuf", "type": "text"}, +{"path": "autoflow/flowset", "type": "float"}, +{"path": "autoflow/flowmin", "type": "float"}, +{"path": "autoflow/flowmax", "type": "float"}, +{"path": "autoflow/difmin", "type": "float"}, +{"path": "autoflow/difmax", "type": "float"}, +{"path": "autoflow/setmin", "type": "float"}, +{"path": "autoflow/setmax", "type": "float"}, +{"path": "autoflow/flowtarget", "type": "float"}, +{"path": "calib", "type": "none", "kids": 2}, +{"path": "calib/ln_per_min_per_mbar", "type": "float", "readonly": false, "cmd": "nv calib/ln_per_min_per_mbar"}, +{"path": "calib/mbar_offset", "type": "float", "readonly": false, "cmd": "nv calib/mbar_offset"}]] diff --git a/cfg/sea/ori1.cfg b/cfg/sea/ori1.cfg new file mode 100644 index 0000000..3b012d8 --- /dev/null +++ b/cfg/sea/ori1.cfg @@ -0,0 +1,23 @@ +[node ori1.psi.ch] +description = ori1 over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8642 + +[module tt] +class = secop_psi.sea.SeaDrivable +iodev = seaconn +json_descr = tt.ori1.config +remote_paths = . + +[module nv] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = nv.ori1.config +remote_paths = . diff --git a/cfg/sea/pars.ultrasound.addon.json b/cfg/sea/pars.ultrasound.addon.json new file mode 100644 index 0000000..c1f20ac --- /dev/null +++ b/cfg/sea/pars.ultrasound.addon.json @@ -0,0 +1,5 @@ +["pars", [{"path": "", "type": "none", "kids": 4}, +{"path": "timestamp", "type": "text", "readonly": false, "cmd": "pars timestamp", "description": "unix timestamp"}, +{"path": "temperature", "type": "float", "readonly": false, "cmd": "pars temperature", "description": "T [K]"}, +{"path": "mf", "type": "float", "readonly": false, "cmd": "pars mf", "description": "field [T]"}, +{"path": "sr", "type": "float", "readonly": false, "cmd": "pars sr", "description": "rotaion angle [deg]"}]] diff --git a/cfg/sea/pdyn.mb11.config.json b/cfg/sea/pdyn.mb11.config.json new file mode 100644 index 0000000..482677f --- /dev/null +++ b/cfg/sea/pdyn.mb11.config.json @@ -0,0 +1,6 @@ +["pdyn", [{"path": "", "type": "float", "kids": 5}, +{"path": "send", "type": "text", "readonly": false, "cmd": "pdyn send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "pdyn set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pdyn control"}, +{"path": "pos", "type": "float"}]] diff --git a/cfg/sea/pdyn.varioxB.config.json b/cfg/sea/pdyn.varioxB.config.json new file mode 100644 index 0000000..482677f --- /dev/null +++ b/cfg/sea/pdyn.varioxB.config.json @@ -0,0 +1,6 @@ +["pdyn", [{"path": "", "type": "float", "kids": 5}, +{"path": "send", "type": "text", "readonly": false, "cmd": "pdyn send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "pdyn set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pdyn control"}, +{"path": "pos", "type": "float"}]] diff --git a/cfg/sea/pstat.mb11.config.json b/cfg/sea/pstat.mb11.config.json new file mode 100644 index 0000000..1cdbaff --- /dev/null +++ b/cfg/sea/pstat.mb11.config.json @@ -0,0 +1,6 @@ +["pstat", [{"path": "", "type": "float", "kids": 5}, +{"path": "send", "type": "text", "readonly": false, "cmd": "pstat send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "pstat set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pstat control"}, +{"path": "pos", "type": "float"}]] diff --git a/cfg/sea/pstat.varioxB.config.json b/cfg/sea/pstat.varioxB.config.json new file mode 100644 index 0000000..1cdbaff --- /dev/null +++ b/cfg/sea/pstat.varioxB.config.json @@ -0,0 +1,6 @@ +["pstat", [{"path": "", "type": "float", "kids": 5}, +{"path": "send", "type": "text", "readonly": false, "cmd": "pstat send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "pstat set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pstat control"}, +{"path": "pos", "type": "float"}]] diff --git a/cfg/sea/pv.flamp.config.json b/cfg/sea/pv.flamp.config.json new file mode 100644 index 0000000..1d25b49 --- /dev/null +++ b/cfg/sea/pv.flamp.config.json @@ -0,0 +1,6 @@ +["pv", [{"path": "", "type": "float", "kids": 5}, +{"path": "send", "type": "text", "readonly": false, "cmd": "pv send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "sp1", "type": "text"}, +{"path": "sp2", "type": "text"}, +{"path": "sps", "type": "text"}]] diff --git a/cfg/sea/secop.test_secop4.config.json b/cfg/sea/secop.test_secop4.config.json new file mode 100644 index 0000000..7f94f02 --- /dev/null +++ b/cfg/sea/secop.test_secop4.config.json @@ -0,0 +1,3 @@ +["secop", [{"path": "", "type": "text", "readonly": false, "cmd": "secop", "kids": 2}, +{"path": "send", "type": "text", "readonly": false, "cmd": "secop send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}]] diff --git a/cfg/sea/sorb.dil4.stick.json b/cfg/sea/sorb.dil4.stick.json new file mode 100644 index 0000000..813d979 --- /dev/null +++ b/cfg/sea/sorb.dil4.stick.json @@ -0,0 +1,29 @@ +["sorb", [{"path": "", "type": "float", "readonly": false, "cmd": "run sorb", "description": "sorb", "kids": 28}, +{"path": "send", "type": "text", "readonly": false, "cmd": "sorb send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "is_running", "type": "int", "visibility": 3}, +{"path": "mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "sorb mode"}, +{"path": "reg", "type": "float"}, +{"path": "output", "type": "float", "readonly": false, "cmd": "sorb output"}, +{"path": "ramptime", "type": "float", "readonly": false, "cmd": "sorb ramptime", "description": "time for ramping [sec] deltax = 1 or a factor 10"}, +{"path": "ramptol", "type": "float", "readonly": false, "cmd": "sorb ramptol", "description": "log of max. deviation when ramping"}, +{"path": "smoothtime", "type": "float", "readonly": false, "cmd": "sorb smoothtime", "description": "time for smoothing ramp near setpoint"}, +{"path": "invar", "type": "text", "readonly": false, "cmd": "sorb invar", "visibility": 3}, +{"path": "outvar", "type": "text", "readonly": false, "cmd": "sorb outvar", "visibility": 3}, +{"path": "prop", "type": "float", "readonly": false, "cmd": "sorb prop", "description": "smaller means more sensitive. a change of 'prop' on input -> a change of 100 % or a factor 10 on output"}, +{"path": "int", "type": "float", "readonly": false, "cmd": "sorb int", "description": "integration time (sec)"}, +{"path": "outmin", "type": "float", "readonly": false, "cmd": "sorb outmin", "description": "output for maximal decrease of input var."}, +{"path": "outmax", "type": "float", "readonly": false, "cmd": "sorb outmax", "description": "output for maximal increase of input var."}, +{"path": "inpfunction", "type": "enum", "enum": {"linear": 0, "logarithmic": 1}, "readonly": false, "cmd": "sorb inpfunction"}, +{"path": "inplinear", "type": "float", "readonly": false, "cmd": "sorb inplinear", "description": "function gets linear below about this value"}, +{"path": "outfunction", "type": "enum", "enum": {"linear": 0, "exponential": 1}, "readonly": false, "cmd": "sorb outfunction"}, +{"path": "outlinear", "type": "float", "readonly": false, "cmd": "sorb outlinear", "description": "function gets linear below about this value"}, +{"path": "precision", "type": "float", "readonly": false, "cmd": "sorb precision"}, +{"path": "deadband", "type": "float", "readonly": false, "cmd": "sorb deadband"}, +{"path": "maxdelta", "type": "float", "readonly": false, "cmd": "sorb maxdelta"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "sorb set"}, +{"path": "target", "type": "float"}, +{"path": "running", "type": "int"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "sorb tolerance"}, +{"path": "maxwait", "type": "float", "readonly": false, "cmd": "sorb maxwait"}, +{"path": "settle", "type": "float", "readonly": false, "cmd": "sorb settle"}]] diff --git a/cfg/sea/table.ma11.config.json b/cfg/sea/table.ma11.config.json new file mode 100644 index 0000000..fedbd19 --- /dev/null +++ b/cfg/sea/table.ma11.config.json @@ -0,0 +1,18 @@ +["table", [{"path": "", "type": "none", "kids": 17}, +{"path": "send", "type": "text", "readonly": false, "cmd": "table send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "fix_tt_set_prop", "type": "bool", "readonly": false, "cmd": "table fix_tt_set_prop"}, +{"path": "val_tt_set_prop", "type": "float"}, +{"path": "tbl_tt_set_prop", "type": "text", "readonly": false, "cmd": "table tbl_tt_set_prop", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."}, +{"path": "fix_tt_set_integ", "type": "bool", "readonly": false, "cmd": "table fix_tt_set_integ"}, +{"path": "val_tt_set_integ", "type": "float"}, +{"path": "tbl_tt_set_integ", "type": "text", "readonly": false, "cmd": "table tbl_tt_set_integ", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."}, +{"path": "fix_tt_dblctrl_int2", "type": "bool", "readonly": false, "cmd": "table fix_tt_dblctrl_int2"}, +{"path": "val_tt_dblctrl_int2", "type": "float"}, +{"path": "tbl_tt_dblctrl_int2", "type": "text", "readonly": false, "cmd": "table tbl_tt_dblctrl_int2", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."}, +{"path": "fix_tt_dblctrl_prop_up", "type": "bool", "readonly": false, "cmd": "table fix_tt_dblctrl_prop_up"}, +{"path": "val_tt_dblctrl_prop_up", "type": "float"}, +{"path": "tbl_tt_dblctrl_prop_up", "type": "text", "readonly": false, "cmd": "table tbl_tt_dblctrl_prop_up", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."}, +{"path": "fix_tt_dblctrl_prop_lo", "type": "bool", "readonly": false, "cmd": "table fix_tt_dblctrl_prop_lo"}, +{"path": "val_tt_dblctrl_prop_lo", "type": "float"}, +{"path": "tbl_tt_dblctrl_prop_lo", "type": "text", "readonly": false, "cmd": "table tbl_tt_dblctrl_prop_lo", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."}]] diff --git a/cfg/sea/tcoil.ma11.config.json b/cfg/sea/tcoil.ma11.config.json new file mode 100644 index 0000000..de37524 --- /dev/null +++ b/cfg/sea/tcoil.ma11.config.json @@ -0,0 +1,42 @@ +["tcoil", [{"path": "", "type": "float", "kids": 11}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tcoil send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "excitation", "type": "float", "readonly": false, "cmd": "tcoil excitation", "visibility": 3}, +{"path": "td", "type": "float", "visibility": 3, "kids": 3}, +{"path": "td/enable", "type": "bool", "readonly": false, "cmd": "tcoil td/enable"}, +{"path": "td/r", "type": "float"}, +{"path": "td/curve", "type": "text", "readonly": false, "cmd": "tcoil td/curve", "kids": 3}, +{"path": "td/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil td/curve/adjust"}, +{"path": "td/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil td/curve/points"}, +{"path": "td/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil td/curve/cpoints"}, +{"path": "tc", "type": "float", "visibility": 3, "kids": 3}, +{"path": "tc/enable", "type": "bool", "readonly": false, "cmd": "tcoil tc/enable"}, +{"path": "tc/r", "type": "float"}, +{"path": "tc/curve", "type": "text", "readonly": false, "cmd": "tcoil tc/curve", "kids": 3}, +{"path": "tc/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil tc/curve/adjust"}, +{"path": "tc/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil tc/curve/points"}, +{"path": "tc/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil tc/curve/cpoints"}, +{"path": "tb", "type": "float", "visibility": 3, "kids": 3}, +{"path": "tb/enable", "type": "bool", "readonly": false, "cmd": "tcoil tb/enable"}, +{"path": "tb/r", "type": "float"}, +{"path": "tb/curve", "type": "text", "readonly": false, "cmd": "tcoil tb/curve", "kids": 3}, +{"path": "tb/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil tb/curve/adjust"}, +{"path": "tb/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil tb/curve/points"}, +{"path": "tb/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil tb/curve/cpoints"}, +{"path": "ta", "type": "float", "visibility": 3, "kids": 3}, +{"path": "ta/enable", "type": "bool", "readonly": false, "cmd": "tcoil ta/enable"}, +{"path": "ta/r", "type": "float"}, +{"path": "ta/curve", "type": "text", "readonly": false, "cmd": "tcoil ta/curve", "kids": 3}, +{"path": "ta/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil ta/curve/adjust"}, +{"path": "ta/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil ta/curve/points"}, +{"path": "ta/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil ta/curve/cpoints"}, +{"path": "ref", "type": "float", "visibility": 3, "kids": 3}, +{"path": "ref/enable", "type": "bool", "readonly": false, "cmd": "tcoil ref/enable"}, +{"path": "ref/r", "type": "float"}, +{"path": "ref/curve", "type": "text", "readonly": false, "cmd": "tcoil ref/curve", "kids": 3}, +{"path": "ref/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil ref/curve/adjust"}, +{"path": "ref/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil ref/curve/points"}, +{"path": "ref/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil ref/curve/cpoints"}, +{"path": "ext", "type": "float", "visibility": 3}, +{"path": "com", "type": "float", "visibility": 3}, +{"path": "gnd", "type": "float", "visibility": 3}]] diff --git a/cfg/sea/tcoil.mb11.config.json b/cfg/sea/tcoil.mb11.config.json new file mode 100644 index 0000000..f6410c2 --- /dev/null +++ b/cfg/sea/tcoil.mb11.config.json @@ -0,0 +1,4 @@ +["tcoil", [{"path": "", "type": "float", "kids": 3}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tcoil send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}]] diff --git a/cfg/sea/test_secop4.cfg b/cfg/sea/test_secop4.cfg new file mode 100644 index 0000000..b7ba07b --- /dev/null +++ b/cfg/sea/test_secop4.cfg @@ -0,0 +1,17 @@ +[node test_secop4.psi.ch] +description = test_secop4 over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8642 + +[module secop] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = secop.test_secop4.config +remote_paths = . diff --git a/cfg/sea/tmon.dil4.stick.json b/cfg/sea/tmon.dil4.stick.json new file mode 100644 index 0000000..15c2e49 --- /dev/null +++ b/cfg/sea/tmon.dil4.stick.json @@ -0,0 +1,107 @@ +["tmon", [{"path": "", "type": "int", "kids": 12}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tmon send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "autoscan", "type": "bool", "readonly": false, "cmd": "tmon autoscan", "kids": 4}, +{"path": "autoscan/synchronized", "type": "bool", "readonly": false, "cmd": "tmon autoscan/synchronized"}, +{"path": "autoscan/interval", "type": "text", "readonly": false, "cmd": "tmon autoscan/interval"}, +{"path": "autoscan/pause", "type": "text", "readonly": false, "cmd": "tmon autoscan/pause"}, +{"path": "autoscan/dwell", "type": "text", "readonly": false, "cmd": "tmon autoscan/dwell"}, +{"path": "sorb", "type": "float", "kids": 14}, +{"path": "sorb/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon sorb/active"}, +{"path": "sorb/autorange", "type": "bool", "readonly": false, "cmd": "tmon sorb/autorange", "description": "autorange (common for all channels)"}, +{"path": "sorb/range", "type": "text", "readonly": false, "cmd": "tmon sorb/range", "description": "resistance range in Ohm"}, +{"path": "sorb/range_num", "type": "int"}, +{"path": "sorb/excitation", "type": "text", "readonly": false, "cmd": "tmon sorb/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "sorb/excitation_num", "type": "int"}, +{"path": "sorb/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "sorb/pause", "type": "int", "readonly": false, "cmd": "tmon sorb/pause", "description": "pause time [sec] after channel change"}, +{"path": "sorb/filter", "type": "int", "readonly": false, "cmd": "tmon sorb/filter", "description": "filter average time [sec]"}, +{"path": "sorb/dwell", "type": "int", "readonly": false, "cmd": "tmon sorb/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "sorb/status", "type": "text"}, +{"path": "sorb/curve", "type": "text", "readonly": false, "cmd": "tmon sorb/curve", "kids": 1}, +{"path": "sorb/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon sorb/curve/points", "visibility": 3}, +{"path": "sorb/alarm", "type": "float", "readonly": false, "cmd": "tmon sorb/alarm"}, +{"path": "sorb/raw", "type": "float"}, +{"path": "onek", "type": "float", "kids": 14}, +{"path": "onek/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon onek/active"}, +{"path": "onek/autorange", "type": "bool", "readonly": false, "cmd": "tmon onek/autorange", "description": "autorange (common for all channels)"}, +{"path": "onek/range", "type": "text", "readonly": false, "cmd": "tmon onek/range", "description": "resistance range in Ohm"}, +{"path": "onek/range_num", "type": "int"}, +{"path": "onek/excitation", "type": "text", "readonly": false, "cmd": "tmon onek/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "onek/excitation_num", "type": "int"}, +{"path": "onek/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "onek/pause", "type": "int", "readonly": false, "cmd": "tmon onek/pause", "description": "pause time [sec] after channel change"}, +{"path": "onek/filter", "type": "int", "readonly": false, "cmd": "tmon onek/filter", "description": "filter average time [sec]"}, +{"path": "onek/dwell", "type": "int", "readonly": false, "cmd": "tmon onek/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "onek/status", "type": "text"}, +{"path": "onek/curve", "type": "text", "readonly": false, "cmd": "tmon onek/curve", "kids": 1}, +{"path": "onek/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon onek/curve/points", "visibility": 3}, +{"path": "onek/alarm", "type": "float", "readonly": false, "cmd": "tmon onek/alarm"}, +{"path": "onek/raw", "type": "float"}, +{"path": "stillt", "type": "float", "kids": 14}, +{"path": "stillt/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon stillt/active"}, +{"path": "stillt/autorange", "type": "bool", "readonly": false, "cmd": "tmon stillt/autorange", "description": "autorange (common for all channels)"}, +{"path": "stillt/range", "type": "text", "readonly": false, "cmd": "tmon stillt/range", "description": "resistance range in Ohm"}, +{"path": "stillt/range_num", "type": "int"}, +{"path": "stillt/excitation", "type": "text", "readonly": false, "cmd": "tmon stillt/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "stillt/excitation_num", "type": "int"}, +{"path": "stillt/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "stillt/pause", "type": "int", "readonly": false, "cmd": "tmon stillt/pause", "description": "pause time [sec] after channel change"}, +{"path": "stillt/filter", "type": "int", "readonly": false, "cmd": "tmon stillt/filter", "description": "filter average time [sec]"}, +{"path": "stillt/dwell", "type": "int", "readonly": false, "cmd": "tmon stillt/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "stillt/status", "type": "text"}, +{"path": "stillt/curve", "type": "text", "readonly": false, "cmd": "tmon stillt/curve", "kids": 1}, +{"path": "stillt/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon stillt/curve/points", "visibility": 3}, +{"path": "stillt/alarm", "type": "float", "readonly": false, "cmd": "tmon stillt/alarm"}, +{"path": "stillt/raw", "type": "float"}, +{"path": "sample", "type": "float", "kids": 14}, +{"path": "sample/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon sample/active"}, +{"path": "sample/autorange", "type": "bool", "readonly": false, "cmd": "tmon sample/autorange", "description": "autorange (common for all channels)"}, +{"path": "sample/range", "type": "text", "readonly": false, "cmd": "tmon sample/range", "description": "resistance range in Ohm"}, +{"path": "sample/range_num", "type": "int"}, +{"path": "sample/excitation", "type": "text", "readonly": false, "cmd": "tmon sample/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "sample/excitation_num", "type": "int"}, +{"path": "sample/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "sample/pause", "type": "int", "readonly": false, "cmd": "tmon sample/pause", "description": "pause time [sec] after channel change"}, +{"path": "sample/filter", "type": "int", "readonly": false, "cmd": "tmon sample/filter", "description": "filter average time [sec]"}, +{"path": "sample/dwell", "type": "int", "readonly": false, "cmd": "tmon sample/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "sample/status", "type": "text"}, +{"path": "sample/curve", "type": "text", "readonly": false, "cmd": "tmon sample/curve", "kids": 1}, +{"path": "sample/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon sample/curve/points", "visibility": 3}, +{"path": "sample/alarm", "type": "float", "readonly": false, "cmd": "tmon sample/alarm"}, +{"path": "sample/raw", "type": "float"}, +{"path": "samplehtr", "type": "float", "kids": 14}, +{"path": "samplehtr/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon samplehtr/active"}, +{"path": "samplehtr/autorange", "type": "bool", "readonly": false, "cmd": "tmon samplehtr/autorange", "description": "autorange (common for all channels)"}, +{"path": "samplehtr/range", "type": "text", "readonly": false, "cmd": "tmon samplehtr/range", "description": "resistance range in Ohm"}, +{"path": "samplehtr/range_num", "type": "int"}, +{"path": "samplehtr/excitation", "type": "text", "readonly": false, "cmd": "tmon samplehtr/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "samplehtr/excitation_num", "type": "int"}, +{"path": "samplehtr/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "samplehtr/pause", "type": "int", "readonly": false, "cmd": "tmon samplehtr/pause", "description": "pause time [sec] after channel change"}, +{"path": "samplehtr/filter", "type": "int", "readonly": false, "cmd": "tmon samplehtr/filter", "description": "filter average time [sec]"}, +{"path": "samplehtr/dwell", "type": "int", "readonly": false, "cmd": "tmon samplehtr/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "samplehtr/status", "type": "text"}, +{"path": "samplehtr/curve", "type": "text", "readonly": false, "cmd": "tmon samplehtr/curve", "kids": 1}, +{"path": "samplehtr/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon samplehtr/curve/points", "visibility": 3}, +{"path": "samplehtr/alarm", "type": "float", "readonly": false, "cmd": "tmon samplehtr/alarm"}, +{"path": "samplehtr/raw", "type": "float"}, +{"path": "mix", "type": "float", "kids": 14}, +{"path": "mix/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon mix/active"}, +{"path": "mix/autorange", "type": "bool", "readonly": false, "cmd": "tmon mix/autorange", "description": "autorange (common for all channels)"}, +{"path": "mix/range", "type": "text", "readonly": false, "cmd": "tmon mix/range", "description": "resistance range in Ohm"}, +{"path": "mix/range_num", "type": "int"}, +{"path": "mix/excitation", "type": "text", "readonly": false, "cmd": "tmon mix/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "mix/excitation_num", "type": "int"}, +{"path": "mix/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "mix/pause", "type": "int", "readonly": false, "cmd": "tmon mix/pause", "description": "pause time [sec] after channel change"}, +{"path": "mix/filter", "type": "int", "readonly": false, "cmd": "tmon mix/filter", "description": "filter average time [sec]"}, +{"path": "mix/dwell", "type": "int", "readonly": false, "cmd": "tmon mix/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "mix/status", "type": "text"}, +{"path": "mix/curve", "type": "text", "readonly": false, "cmd": "tmon mix/curve", "kids": 1}, +{"path": "mix/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon mix/curve/points", "visibility": 3}, +{"path": "mix/alarm", "type": "float", "readonly": false, "cmd": "tmon mix/alarm"}, +{"path": "mix/raw", "type": "float"}, +{"path": "analog2", "type": "float", "readonly": false, "cmd": "tmon analog2"}, +{"path": "remote", "type": "bool"}, +{"path": "display", "type": "text", "readonly": false, "cmd": "tmon display"}]] diff --git a/cfg/sea/tneck1.mb11.config.json b/cfg/sea/tneck1.mb11.config.json new file mode 100644 index 0000000..bdc813a --- /dev/null +++ b/cfg/sea/tneck1.mb11.config.json @@ -0,0 +1,4 @@ +["tneck1", [{"path": "", "type": "float", "kids": 3}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tneck1 send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}]] diff --git a/cfg/sea/tneck1.varioxB.config.json b/cfg/sea/tneck1.varioxB.config.json new file mode 100644 index 0000000..0d89b78 --- /dev/null +++ b/cfg/sea/tneck1.varioxB.config.json @@ -0,0 +1,8 @@ +["tneck1", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tneck1 send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tneck1 set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tneck1 control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/tneck2.mb11.config.json b/cfg/sea/tneck2.mb11.config.json new file mode 100644 index 0000000..e4cd276 --- /dev/null +++ b/cfg/sea/tneck2.mb11.config.json @@ -0,0 +1,4 @@ +["tneck2", [{"path": "", "type": "float", "kids": 3}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tneck2 send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}]] diff --git a/cfg/sea/tneck2.varioxB.config.json b/cfg/sea/tneck2.varioxB.config.json new file mode 100644 index 0000000..f3377e9 --- /dev/null +++ b/cfg/sea/tneck2.varioxB.config.json @@ -0,0 +1,8 @@ +["tneck2", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tneck2 send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tneck2 set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tneck2 control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/tnvd.mb11.config.json b/cfg/sea/tnvd.mb11.config.json new file mode 100644 index 0000000..3f8c180 --- /dev/null +++ b/cfg/sea/tnvd.mb11.config.json @@ -0,0 +1,4 @@ +["tnvd", [{"path": "", "type": "float", "kids": 3}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tnvd send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}]] diff --git a/cfg/sea/tnvd.varioxB.config.json b/cfg/sea/tnvd.varioxB.config.json new file mode 100644 index 0000000..5f08636 --- /dev/null +++ b/cfg/sea/tnvd.varioxB.config.json @@ -0,0 +1,8 @@ +["tnvd", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tnvd send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tnvd set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tnvd control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/tnvs.mb11.config.json b/cfg/sea/tnvs.mb11.config.json new file mode 100644 index 0000000..32ea80c --- /dev/null +++ b/cfg/sea/tnvs.mb11.config.json @@ -0,0 +1,4 @@ +["tnvs", [{"path": "", "type": "float", "kids": 3}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tnvs send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}]] diff --git a/cfg/sea/tnvs.varioxB.config.json b/cfg/sea/tnvs.varioxB.config.json new file mode 100644 index 0000000..4845b1b --- /dev/null +++ b/cfg/sea/tnvs.varioxB.config.json @@ -0,0 +1,8 @@ +["tnvs", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tnvs send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tnvs set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tnvs control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/treg.dil4.stick.json b/cfg/sea/treg.dil4.stick.json new file mode 100644 index 0000000..6b0f75e --- /dev/null +++ b/cfg/sea/treg.dil4.stick.json @@ -0,0 +1,78 @@ +["treg", [{"path": "", "type": "int", "kids": 10}, +{"path": "send", "type": "text", "readonly": false, "cmd": "treg send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "autoscan", "type": "bool", "readonly": false, "cmd": "treg autoscan", "kids": 4}, +{"path": "autoscan/synchronized", "type": "bool", "readonly": false, "cmd": "treg autoscan/synchronized"}, +{"path": "autoscan/interval", "type": "text", "readonly": false, "cmd": "treg autoscan/interval"}, +{"path": "autoscan/pause", "type": "text", "readonly": false, "cmd": "treg autoscan/pause"}, +{"path": "autoscan/dwell", "type": "text", "readonly": false, "cmd": "treg autoscan/dwell"}, +{"path": "sample", "type": "float", "kids": 14}, +{"path": "sample/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "treg sample/active"}, +{"path": "sample/autorange", "type": "bool", "readonly": false, "cmd": "treg sample/autorange", "description": "autorange (common for all channels)"}, +{"path": "sample/range", "type": "text", "readonly": false, "cmd": "treg sample/range", "description": "resistance range in Ohm"}, +{"path": "sample/range_num", "type": "int"}, +{"path": "sample/excitation", "type": "text", "readonly": false, "cmd": "treg sample/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "sample/excitation_num", "type": "int"}, +{"path": "sample/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "sample/pause", "type": "int", "readonly": false, "cmd": "treg sample/pause", "description": "pause time [sec] after channel change"}, +{"path": "sample/filter", "type": "int", "readonly": false, "cmd": "treg sample/filter", "description": "filter average time [sec]"}, +{"path": "sample/dwell", "type": "int", "readonly": false, "cmd": "treg sample/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "sample/status", "type": "text"}, +{"path": "sample/curve", "type": "text", "readonly": false, "cmd": "treg sample/curve", "kids": 1}, +{"path": "sample/curve/points", "type": "floatvarar", "readonly": false, "cmd": "treg sample/curve/points", "visibility": 3}, +{"path": "sample/alarm", "type": "float", "readonly": false, "cmd": "treg sample/alarm"}, +{"path": "sample/raw", "type": "float"}, +{"path": "mix", "type": "float", "kids": 14}, +{"path": "mix/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "treg mix/active"}, +{"path": "mix/autorange", "type": "bool", "readonly": false, "cmd": "treg mix/autorange", "description": "autorange (common for all channels)"}, +{"path": "mix/range", "type": "text", "readonly": false, "cmd": "treg mix/range", "description": "resistance range in Ohm"}, +{"path": "mix/range_num", "type": "int"}, +{"path": "mix/excitation", "type": "text", "readonly": false, "cmd": "treg mix/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "mix/excitation_num", "type": "int"}, +{"path": "mix/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "mix/pause", "type": "int", "readonly": false, "cmd": "treg mix/pause", "description": "pause time [sec] after channel change"}, +{"path": "mix/filter", "type": "int", "readonly": false, "cmd": "treg mix/filter", "description": "filter average time [sec]"}, +{"path": "mix/dwell", "type": "int", "readonly": false, "cmd": "treg mix/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "mix/status", "type": "text"}, +{"path": "mix/curve", "type": "text", "readonly": false, "cmd": "treg mix/curve", "kids": 1}, +{"path": "mix/curve/points", "type": "floatvarar", "readonly": false, "cmd": "treg mix/curve/points", "visibility": 3}, +{"path": "mix/alarm", "type": "float", "readonly": false, "cmd": "treg mix/alarm"}, +{"path": "mix/raw", "type": "float"}, +{"path": "samplehtr", "type": "float", "kids": 14}, +{"path": "samplehtr/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "treg samplehtr/active"}, +{"path": "samplehtr/autorange", "type": "bool", "readonly": false, "cmd": "treg samplehtr/autorange", "description": "autorange (common for all channels)"}, +{"path": "samplehtr/range", "type": "text", "readonly": false, "cmd": "treg samplehtr/range", "description": "resistance range in Ohm"}, +{"path": "samplehtr/range_num", "type": "int"}, +{"path": "samplehtr/excitation", "type": "text", "readonly": false, "cmd": "treg samplehtr/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"}, +{"path": "samplehtr/excitation_num", "type": "int"}, +{"path": "samplehtr/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}}, +{"path": "samplehtr/pause", "type": "int", "readonly": false, "cmd": "treg samplehtr/pause", "description": "pause time [sec] after channel change"}, +{"path": "samplehtr/filter", "type": "int", "readonly": false, "cmd": "treg samplehtr/filter", "description": "filter average time [sec]"}, +{"path": "samplehtr/dwell", "type": "int", "readonly": false, "cmd": "treg samplehtr/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"}, +{"path": "samplehtr/status", "type": "text"}, +{"path": "samplehtr/curve", "type": "text", "readonly": false, "cmd": "treg samplehtr/curve", "kids": 1}, +{"path": "samplehtr/curve/points", "type": "floatvarar", "readonly": false, "cmd": "treg samplehtr/curve/points", "visibility": 3}, +{"path": "samplehtr/alarm", "type": "float", "readonly": false, "cmd": "treg samplehtr/alarm"}, +{"path": "samplehtr/raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "treg set", "kids": 18}, +{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "treg set/mode"}, +{"path": "set/reg", "type": "float"}, +{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "treg set/ramp", "description": "maximum ramp in K/min (0: ramp off)"}, +{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "treg set/wramp"}, +{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "treg set/smooth", "description": "smooth time (minutes)"}, +{"path": "set/channel", "type": "text", "readonly": false, "cmd": "treg set/channel"}, +{"path": "set/limit", "type": "float", "readonly": false, "cmd": "treg set/limit"}, +{"path": "set/resist", "type": "float", "readonly": false, "cmd": "treg set/resist"}, +{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "treg set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"}, +{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "treg set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"}, +{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"}, +{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "treg set/maxpower", "description": "maximum power [W]"}, +{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"}, +{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "treg set/manualpower"}, +{"path": "set/power", "type": "float"}, +{"path": "set/prop", "type": "float", "readonly": false, "cmd": "treg set/prop", "description": "bigger means more gain"}, +{"path": "set/integ", "type": "float", "readonly": false, "cmd": "treg set/integ", "description": "[sec] bigger means slower"}, +{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "treg set/deriv"}, +{"path": "analog2", "type": "float", "readonly": false, "cmd": "treg analog2"}, +{"path": "remote", "type": "bool"}, +{"path": "display", "type": "text", "readonly": false, "cmd": "treg display"}]] diff --git a/cfg/sea/ts.dil4.stick.json b/cfg/sea/ts.dil4.stick.json new file mode 100644 index 0000000..28618f2 --- /dev/null +++ b/cfg/sea/ts.dil4.stick.json @@ -0,0 +1,58 @@ +["ts", [{"path": "", "type": "float", "readonly": false, "cmd": "run ts", "description": "ts", "kids": 19}, +{"path": "send", "type": "text", "readonly": false, "cmd": "ts send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "is_running", "type": "int", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "ts set", "visibility": 3}, +{"path": "target", "type": "float"}, +{"path": "running", "type": "int"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "ts tolerance"}, +{"path": "maxwait", "type": "float", "readonly": false, "cmd": "ts maxwait"}, +{"path": "settle", "type": "float", "readonly": false, "cmd": "ts settle"}, +{"path": "log", "type": "text", "readonly": false, "cmd": "ts log", "visibility": 3, "kids": 4}, +{"path": "log/mean", "type": "float", "visibility": 3}, +{"path": "log/m2", "type": "float", "visibility": 3}, +{"path": "log/stddev", "type": "float", "visibility": 3}, +{"path": "log/n", "type": "float", "visibility": 3}, +{"path": "ramp", "type": "float", "readonly": false, "cmd": "ts ramp", "description": "ramp [K/min]"}, +{"path": "heaterselect", "type": "enum", "enum": {"sample": 0, "mix": 1, "mix(temporarely)": 2}, "readonly": false, "cmd": "ts heaterselect"}, +{"path": "control", "type": "enum", "enum": {"off": 0, "sample": 6, "mix": 5}, "readonly": false, "cmd": "ts control", "description": "click off to reload list"}, +{"path": "heatermode", "type": "enum", "enum": {"disabled": -1, "off": 0, "on": 1}, "readonly": false, "cmd": "ts heatermode"}, +{"path": "heaterrange", "type": "enum", "enum": {"2uW": 1, "20uW": 2, "200uW": 3, "2mW": 4, "20mW": 5}, "readonly": false, "cmd": "ts heaterrange"}, +{"path": "autoheater", "type": "bool", "readonly": false, "cmd": "ts autoheater", "description": "automatic heater range", "kids": 12}, +{"path": "autoheater/wlp0", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp0", "description": "weak link base temperature (used for auto heater)", "visibility": 3}, +{"path": "autoheater/wlp1", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp1", "description": "weak link temperature at 1 uW (used for auto heater)", "visibility": 3}, +{"path": "autoheater/wlp2", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp2", "description": "weak link temperature at 10 uW (used for auto heater)", "visibility": 3}, +{"path": "autoheater/wlp3", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp3", "description": "weak link temperature at 100 uW (used for auto heater)", "visibility": 3}, +{"path": "autoheater/wlp4", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp4", "description": "weak link temperature at 1 mW (used for auto heater)", "visibility": 3}, +{"path": "autoheater/mxp0", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp0", "description": "weak link base temperature (used for auto heater)"}, +{"path": "autoheater/mxp1", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp1", "description": "mix.ch. temperature at 1 uW (used for auto heater)"}, +{"path": "autoheater/mxp2", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp2", "description": "mix.ch. temperature at 10 uW (used for auto heater)"}, +{"path": "autoheater/mxp3", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp3", "description": "mix.ch. temperature at 100 uW (used for auto heater)"}, +{"path": "autoheater/mxp4", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp4", "description": "mix.ch. temperature at 1 mW (used for auto heater)"}, +{"path": "autoheater/switchdown", "type": "float", "readonly": false, "cmd": "ts autoheater/switchdown", "description": "percentage for auto heater switch down"}, +{"path": "autoheater/switchup", "type": "float", "readonly": false, "cmd": "ts autoheater/switchup", "description": "when the calculated power is above this percentage, use higher range"}, +{"path": "autoprop", "type": "bool", "readonly": false, "cmd": "ts autoprop", "description": "change prop value depending on actual power", "kids": 2}, +{"path": "autoprop/prop", "type": "float", "readonly": false, "cmd": "ts autoprop/prop", "description": "prop value (maximum prop value when autheater is on)"}, +{"path": "autoprop/integ", "type": "float", "readonly": false, "cmd": "ts autoprop/integ", "description": "integral value [sec], deriv is set to 0 on change"}, +{"path": "instructions", "type": "text"}, +{"path": "auto", "type": "enum", "enum": {"off": 0, "cool_vti": 1, "pipe_pump": 11, "pipes_ready": 12, "ready_for_sorbpump": 2, "sorb_pump": 3, "condense": 4, "circulate": 5, "remove_only": 60, "remove_and_warmup": 62, "remove_and_condense": 61, "remove_and_sorbpump": 63, "finished": 7}, "readonly": false, "cmd": "ts auto", "kids": 20}, +{"path": "auto/usetrap", "type": "enum", "enum": {"trap_A": 0, "trap_B": 1}, "readonly": false, "cmd": "ts auto/usetrap"}, +{"path": "auto/hasturbo", "type": "bool"}, +{"path": "auto/pipes_pumped", "type": "bool", "readonly": false, "cmd": "ts auto/pipes_pumped"}, +{"path": "auto/cool_crit", "type": "text", "readonly": false, "cmd": "ts auto/cool_crit", "description": "criterium for transition to ready_for_sorbpump"}, +{"path": "auto/pumptime1", "type": "float", "readonly": false, "cmd": "ts auto/pumptime1", "description": "pump time [sec] while sorb at 40"}, +{"path": "auto/pumptime2", "type": "float", "readonly": false, "cmd": "ts auto/pumptime2", "description": "pump time [sec] while sorb cools down"}, +{"path": "auto/condensep", "type": "float", "readonly": false, "cmd": "ts auto/condensep"}, +{"path": "auto/dumptarget", "type": "float", "readonly": false, "cmd": "ts auto/dumptarget"}, +{"path": "auto/condenseflow", "type": "float", "readonly": false, "cmd": "ts auto/condenseflow", "description": "VTI flow for condensing and min. flow for cooling"}, +{"path": "auto/circulateflow", "type": "float", "readonly": false, "cmd": "ts auto/circulateflow", "description": "VTI flow for circulating (may be changed during circulation)"}, +{"path": "auto/onekstate", "type": "enum", "enum": {"normal": 0, "fill": 1, "optimize": 2}, "readonly": false, "cmd": "ts auto/onekstate"}, +{"path": "auto/oneklimit", "type": "float", "readonly": false, "cmd": "ts auto/oneklimit"}, +{"path": "auto/minflow", "type": "float", "readonly": false, "cmd": "ts auto/minflow", "description": "minimum VTI flow (optimize stops at this value)"}, +{"path": "auto/p1low", "type": "float", "readonly": false, "cmd": "ts auto/p1low", "description": "p1 value indicating a negligible mixture amount"}, +{"path": "auto/p2low", "type": "float", "readonly": false, "cmd": "ts auto/p2low", "description": "p2 value indicating a good vacuum"}, +{"path": "auto/warmup_t", "type": "float", "readonly": false, "cmd": "ts auto/warmup_t", "description": "VTI temperature to reach when remove_and_warmup"}, +{"path": "auto/vti_t", "type": "float", "readonly": false, "cmd": "ts auto/vti_t", "description": "VTI temperature to reach when remove_only"}, +{"path": "auto/xgas", "type": "enum", "enum": {"pump": 0, "add": 1, "empty": 2}, "readonly": false, "cmd": "ts auto/xgas"}, +{"path": "auto/xgas_pulse", "type": "float", "readonly": false, "cmd": "ts auto/xgas_pulse", "description": "opening time for xgas capillary [sec]"}, +{"path": "auto/removephase", "type": "enum", "enum": {"raw_remove": 0, "wait_p1_low": 1, "wait_v6_open": 2, "wait_a_little": 3, "wait_v6_closed": 4, "wait_t_warmup": 5}, "readonly": false, "cmd": "ts auto/removephase"}]] diff --git a/cfg/sea/ts.mb11.config.json b/cfg/sea/ts.mb11.config.json new file mode 100644 index 0000000..e9c94c3 --- /dev/null +++ b/cfg/sea/ts.mb11.config.json @@ -0,0 +1,8 @@ +["ts", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "ts send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "ts set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "ts control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/ts.vb.stick.json b/cfg/sea/ts.vb.stick.json new file mode 100644 index 0000000..e9c94c3 --- /dev/null +++ b/cfg/sea/ts.vb.stick.json @@ -0,0 +1,8 @@ +["ts", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "ts send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "ts set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "ts control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/tt.flamp.config.json b/cfg/sea/tt.flamp.config.json new file mode 100644 index 0000000..0f77940 --- /dev/null +++ b/cfg/sea/tt.flamp.config.json @@ -0,0 +1,58 @@ +["tt", [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 37}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "is_running", "type": "int", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tt set"}, +{"path": "target", "type": "float"}, +{"path": "running", "type": "int"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"}, +{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"}, +{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"}, +{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4}, +{"path": "log/mean", "type": "float", "visibility": 3}, +{"path": "log/m2", "type": "float", "visibility": 3}, +{"path": "log/stddev", "type": "float", "visibility": 3}, +{"path": "log/n", "type": "float", "visibility": 3}, +{"path": "t1", "type": "float", "kids": 3}, +{"path": "t1/raw", "type": "float"}, +{"path": "t1/curve", "type": "text", "readonly": false, "cmd": "tt t1/curve", "kids": 1}, +{"path": "t1/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t1/curve/points"}, +{"path": "t1/valid", "type": "bool"}, +{"path": "t2", "type": "float", "kids": 3}, +{"path": "t2/raw", "type": "float"}, +{"path": "t2/curve", "type": "text", "readonly": false, "cmd": "tt t2/curve", "kids": 1}, +{"path": "t2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t2/curve/points"}, +{"path": "t2/valid", "type": "bool"}, +{"path": "t3", "type": "float", "kids": 3}, +{"path": "t3/raw", "type": "float"}, +{"path": "t3/curve", "type": "text", "readonly": false, "cmd": "tt t3/curve", "kids": 1}, +{"path": "t3/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t3/curve/points"}, +{"path": "t3/valid", "type": "bool"}, +{"path": "t4", "type": "float", "kids": 3}, +{"path": "t4/raw", "type": "float"}, +{"path": "t4/curve", "type": "text", "readonly": false, "cmd": "tt t4/curve", "kids": 1}, +{"path": "t4/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t4/curve/points"}, +{"path": "t4/valid", "type": "bool"}, +{"path": "tref", "type": "float"}, +{"path": "tout", "type": "float"}, +{"path": "ctrlmode", "type": "enum", "enum": {"ok": 0, "off": 1, "illegal_channel": 2, "no_sensor": 3, "no_flow": 4, "above_alarm": 5, "bad_vacuum": 6}, "readonly": false, "cmd": "tt ctrlmode"}, +{"path": "ramp", "type": "float", "readonly": false, "cmd": "tt ramp"}, +{"path": "smooth", "type": "float", "readonly": false, "cmd": "tt smooth"}, +{"path": "prop", "type": "float", "readonly": false, "cmd": "tt prop"}, +{"path": "int", "type": "float", "readonly": false, "cmd": "tt int"}, +{"path": "powerset", "type": "float", "readonly": false, "cmd": "tt powerset"}, +{"path": "power", "type": "float"}, +{"path": "resist", "type": "float"}, +{"path": "maxpower", "type": "float", "readonly": false, "cmd": "tt maxpower"}, +{"path": "maxheater", "type": "float", "readonly": false, "cmd": "tt maxheater"}, +{"path": "output", "type": "float", "readonly": false, "cmd": "tt output"}, +{"path": "manualpower", "type": "bool", "readonly": false, "cmd": "tt manualpower"}, +{"path": "ctrlchan", "type": "int", "readonly": false, "cmd": "tt ctrlchan"}, +{"path": "interlock_state", "type": "enum", "enum": {"ok": 0, "no_waterflow": 1, "no_vacuum": 2, "no_water_no_vacuum": 3}}, +{"path": "interlock_mask", "type": "enum", "enum": {"no_check": 0, "check_water_only": 1, "check_vacuum_only": 2, "check_all": 3}, "readonly": false, "cmd": "tt interlock_mask"}, +{"path": "sramp", "type": "float"}, +{"path": "slope", "type": "float"}, +{"path": "v_htr", "type": "float"}, +{"path": "i_htr", "type": "float"}, +{"path": "htr", "type": "float"}, +{"path": "powerprop", "type": "float"}]] diff --git a/cfg/sea/tt.ma11.config.json b/cfg/sea/tt.ma11.config.json new file mode 100644 index 0000000..7ab2098 --- /dev/null +++ b/cfg/sea/tt.ma11.config.json @@ -0,0 +1,71 @@ +["tt", [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 19}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "is_running", "type": "int", "visibility": 3}, +{"path": "target", "type": "float"}, +{"path": "running", "type": "int"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"}, +{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"}, +{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"}, +{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4}, +{"path": "log/mean", "type": "float", "visibility": 3}, +{"path": "log/m2", "type": "float", "visibility": 3}, +{"path": "log/stddev", "type": "float", "visibility": 3}, +{"path": "log/n", "type": "float", "visibility": 3}, +{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "kids": 9}, +{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift"}, +{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode"}, +{"path": "dblctrl/shift_up", "type": "float"}, +{"path": "dblctrl/shift_lo", "type": "float"}, +{"path": "dblctrl/t_min", "type": "float"}, +{"path": "dblctrl/t_max", "type": "float"}, +{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2"}, +{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up"}, +{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo"}, +{"path": "tm", "type": "float", "kids": 4}, +{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1}, +{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3}, +{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"}, +{"path": "tm/stddev", "type": "float"}, +{"path": "tm/raw", "type": "float"}, +{"path": "ts", "type": "float", "visibility": 3, "kids": 4}, +{"path": "ts/curve", "type": "text", "readonly": false, "cmd": "tt ts/curve", "visibility": 3, "kids": 1}, +{"path": "ts/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts/curve/points", "visibility": 3}, +{"path": "ts/alarm", "type": "float", "readonly": false, "cmd": "tt ts/alarm", "visibility": 3}, +{"path": "ts/stddev", "type": "float", "visibility": 3}, +{"path": "ts/raw", "type": "float", "visibility": 3}, +{"path": "tm_pt", "type": "float", "kids": 4}, +{"path": "tm_pt/curve", "type": "text", "readonly": false, "cmd": "tt tm_pt/curve", "kids": 1}, +{"path": "tm_pt/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm_pt/curve/points", "visibility": 3}, +{"path": "tm_pt/alarm", "type": "float", "readonly": false, "cmd": "tt tm_pt/alarm"}, +{"path": "tm_pt/stddev", "type": "float"}, +{"path": "tm_pt/raw", "type": "float"}, +{"path": "ts_2", "type": "float", "visibility": 3, "kids": 4}, +{"path": "ts_2/curve", "type": "text", "readonly": false, "cmd": "tt ts_2/curve", "visibility": 3, "kids": 1}, +{"path": "ts_2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts_2/curve/points", "visibility": 3}, +{"path": "ts_2/alarm", "type": "float", "readonly": false, "cmd": "tt ts_2/alarm", "visibility": 3}, +{"path": "ts_2/stddev", "type": "float", "visibility": 3}, +{"path": "ts_2/raw", "type": "float", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18}, +{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"}, +{"path": "set/reg", "type": "float"}, +{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"}, +{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"}, +{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"}, +{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"}, +{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"}, +{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"}, +{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"}, +{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"}, +{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"}, +{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"}, +{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"}, +{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"}, +{"path": "set/power", "type": "float"}, +{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"}, +{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"}, +{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"}, +{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"}, +{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"}, +{"path": "dinp", "type": "int"}, +{"path": "remote", "type": "bool"}]] diff --git a/cfg/sea/tt.ori1.config.json b/cfg/sea/tt.ori1.config.json new file mode 100644 index 0000000..1e916f3 --- /dev/null +++ b/cfg/sea/tt.ori1.config.json @@ -0,0 +1,65 @@ +["tt", [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 18}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "is_running", "type": "int", "visibility": 3}, +{"path": "target", "type": "float"}, +{"path": "running", "type": "int"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"}, +{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"}, +{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"}, +{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4}, +{"path": "log/mean", "type": "float", "visibility": 3}, +{"path": "log/m2", "type": "float", "visibility": 3}, +{"path": "log/stddev", "type": "float", "visibility": 3}, +{"path": "log/n", "type": "float", "visibility": 3}, +{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "kids": 9}, +{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift"}, +{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode"}, +{"path": "dblctrl/shift_up", "type": "float"}, +{"path": "dblctrl/shift_lo", "type": "float"}, +{"path": "dblctrl/t_min", "type": "float"}, +{"path": "dblctrl/t_max", "type": "float"}, +{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2"}, +{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up"}, +{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo"}, +{"path": "tm", "type": "float", "kids": 4}, +{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1}, +{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3}, +{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"}, +{"path": "tm/stddev", "type": "float"}, +{"path": "tm/raw", "type": "float"}, +{"path": "ts", "type": "float", "kids": 4}, +{"path": "ts/curve", "type": "text", "readonly": false, "cmd": "tt ts/curve", "kids": 1}, +{"path": "ts/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts/curve/points", "visibility": 3}, +{"path": "ts/alarm", "type": "float", "readonly": false, "cmd": "tt ts/alarm"}, +{"path": "ts/stddev", "type": "float"}, +{"path": "ts/raw", "type": "float"}, +{"path": "ts_2", "type": "float", "visibility": 3, "kids": 4}, +{"path": "ts_2/curve", "type": "text", "readonly": false, "cmd": "tt ts_2/curve", "visibility": 3, "kids": 1}, +{"path": "ts_2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts_2/curve/points", "visibility": 3}, +{"path": "ts_2/alarm", "type": "float", "readonly": false, "cmd": "tt ts_2/alarm", "visibility": 3}, +{"path": "ts_2/stddev", "type": "float", "visibility": 3}, +{"path": "ts_2/raw", "type": "float", "visibility": 3}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18}, +{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"}, +{"path": "set/reg", "type": "float"}, +{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"}, +{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"}, +{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"}, +{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"}, +{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"}, +{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"}, +{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"}, +{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"}, +{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"}, +{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"}, +{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"}, +{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"}, +{"path": "set/power", "type": "float"}, +{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"}, +{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"}, +{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"}, +{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"}, +{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"}, +{"path": "dinp", "type": "int"}, +{"path": "remote", "type": "bool"}]] diff --git a/cfg/sea/tvd.mb11.config.json b/cfg/sea/tvd.mb11.config.json new file mode 100644 index 0000000..5e7f857 --- /dev/null +++ b/cfg/sea/tvd.mb11.config.json @@ -0,0 +1,8 @@ +["tvd", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tvd send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tvd set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvd control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/tvd.varioxB.config.json b/cfg/sea/tvd.varioxB.config.json new file mode 100644 index 0000000..5e7f857 --- /dev/null +++ b/cfg/sea/tvd.varioxB.config.json @@ -0,0 +1,8 @@ +["tvd", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tvd send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tvd set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvd control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/tvs.mb11.config.json b/cfg/sea/tvs.mb11.config.json new file mode 100644 index 0000000..27e077e --- /dev/null +++ b/cfg/sea/tvs.mb11.config.json @@ -0,0 +1,8 @@ +["tvs", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tvs send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tvs set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvs control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/tvs.varioxB.config.json b/cfg/sea/tvs.varioxB.config.json new file mode 100644 index 0000000..27e077e --- /dev/null +++ b/cfg/sea/tvs.varioxB.config.json @@ -0,0 +1,8 @@ +["tvs", [{"path": "", "type": "float", "kids": 7}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tvs send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "raw", "type": "float"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tvs set"}, +{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvs control"}, +{"path": "htr", "type": "float"}, +{"path": "pow", "type": "float"}]] diff --git a/cfg/sea/ultrasound.ultrasound.addon.json b/cfg/sea/ultrasound.ultrasound.addon.json new file mode 100644 index 0000000..ed1fcf8 --- /dev/null +++ b/cfg/sea/ultrasound.ultrasound.addon.json @@ -0,0 +1,3 @@ +["ultrasound", [{"path": "", "type": "text", "readonly": false, "cmd": "ultrasound", "kids": 2}, +{"path": "send", "type": "text", "readonly": false, "cmd": "ultrasound send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}]] diff --git a/cfg/sea/varioxB_vb.cfg b/cfg/sea/varioxB_vb.cfg new file mode 100644 index 0000000..7350d68 --- /dev/null +++ b/cfg/sea/varioxB_vb.cfg @@ -0,0 +1,65 @@ +[node varioxB_vb.psi.ch] +description = varioxB_vb over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8646 + +[module tvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvs.varioxB.config +remote_paths = . + +[module tvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvd.varioxB.config +remote_paths = . + +[module pstat] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pstat.varioxB.config +remote_paths = . + +[module pdyn] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pdyn.varioxB.config +remote_paths = . + +[module tneck1] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck1.varioxB.config +remote_paths = . + +[module tneck2] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck2.varioxB.config +remote_paths = . + +[module tnvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvs.varioxB.config +remote_paths = . + +[module tnvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvd.varioxB.config +remote_paths = . + +[module ts] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = ts.vb.stick +remote_paths = . diff --git a/cfg/sea/wall.lampovenwall.addon.json b/cfg/sea/wall.lampovenwall.addon.json new file mode 100644 index 0000000..857cf2c --- /dev/null +++ b/cfg/sea/wall.lampovenwall.addon.json @@ -0,0 +1,31 @@ +["wall", [{"path": "", "type": "float", "kids": 10}, +{"path": "send", "type": "text", "readonly": false, "cmd": "wall send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "tw1", "type": "float", "kids": 4}, +{"path": "tw1/curve", "type": "text", "readonly": false, "cmd": "wall tw1/curve", "kids": 1}, +{"path": "tw1/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw1/curve/points", "visibility": 3}, +{"path": "tw1/alarm", "type": "float", "readonly": false, "cmd": "wall tw1/alarm"}, +{"path": "tw1/stddev", "type": "float"}, +{"path": "tw1/raw", "type": "float"}, +{"path": "tw2", "type": "float", "kids": 4}, +{"path": "tw2/curve", "type": "text", "readonly": false, "cmd": "wall tw2/curve", "kids": 1}, +{"path": "tw2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw2/curve/points", "visibility": 3}, +{"path": "tw2/alarm", "type": "float", "readonly": false, "cmd": "wall tw2/alarm"}, +{"path": "tw2/stddev", "type": "float"}, +{"path": "tw2/raw", "type": "float"}, +{"path": "tw3", "type": "float", "kids": 4}, +{"path": "tw3/curve", "type": "text", "readonly": false, "cmd": "wall tw3/curve", "kids": 1}, +{"path": "tw3/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw3/curve/points", "visibility": 3}, +{"path": "tw3/alarm", "type": "float", "readonly": false, "cmd": "wall tw3/alarm"}, +{"path": "tw3/stddev", "type": "float"}, +{"path": "tw3/raw", "type": "float"}, +{"path": "tw4", "type": "float", "kids": 4}, +{"path": "tw4/curve", "type": "text", "readonly": false, "cmd": "wall tw4/curve", "kids": 1}, +{"path": "tw4/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw4/curve/points", "visibility": 3}, +{"path": "tw4/alarm", "type": "float", "readonly": false, "cmd": "wall tw4/alarm"}, +{"path": "tw4/stddev", "type": "float"}, +{"path": "tw4/raw", "type": "float"}, +{"path": "display", "type": "text", "readonly": false, "cmd": "wall display"}, +{"path": "dout", "type": "int", "readonly": false, "cmd": "wall dout"}, +{"path": "dinp", "type": "int"}, +{"path": "remote", "type": "bool"}]] diff --git a/cfg/senis3mh3.cfg b/cfg/senis3mh3.cfg new file mode 100644 index 0000000..9df9e8e --- /dev/null +++ b/cfg/senis3mh3.cfg @@ -0,0 +1,19 @@ +[b] +description = '3D hall sensor' +class = secop_psi.senis.Teslameter3MH3 +usb = /dev/tty.usbserial-AI02VAD9 +x = bx +y = by +z = bz + +[bx] +description = 'x component' +class = secop_psi.senis.Bcomp + +[by] +description = 'y component' +class = secop_psi.senis.Bcomp + +[bz] +description = 'z component' +class = secop_psi.senis.Bcomp \ No newline at end of file diff --git a/cfg/senis3mh6.cfg b/cfg/senis3mh6.cfg new file mode 100644 index 0000000..b841ac2 --- /dev/null +++ b/cfg/senis3mh6.cfg @@ -0,0 +1,29 @@ +[b] +description = '3D hall sensor' +class = secop_psi.senis.Teslameter3MH6 +usb = /dev/tty.usbserial-AI02VAD9 +x = bx +y = by +z = bz +probe_temp = ptemp +box_temp = btemp + +[bx] +description = 'x component' +class = secop_psi.senis.Bcomp + +[by] +description = 'y component' +class = secop_psi.senis.Bcomp + +[bz] +description = 'z component' +class = secop_psi.senis.Bcomp + +[ptemp] +description = 'probe temperature' +class = secop_psi.senis.Temperature + +[btemp] +description = 'box temperature' +class = secop_psi.senis.Temperature \ No newline at end of file diff --git a/cfg/test_cryocombi.cfg b/cfg/test_cryocombi.cfg new file mode 100644 index 0000000..3983547 --- /dev/null +++ b/cfg/test_cryocombi.cfg @@ -0,0 +1,55 @@ +[node cryo_7] +# set SEC-node properties +description = short description + . + This is a very long description providing all the glory details in all the glory details about the stuff we are describing + + +[remotenode x] +connectto=localhost +port=5000 + +[interface tcp] +type=tcp +bindto=0.0.0.0 +bindport=10769 + + +[module cryo] +# some (non-defaut) module properties +.group=very important/stuff +.description=A simulated cc cryostat with heat-load, specific heat for the sample + and a temperature dependend heat-link between sample and regulation. + +# class of module: +class=secop_demo.cryo.Cryostat + +# some parameters +jitter=0.1 +T_start=10.0 +target=10.0 +looptime=1 +ramp=6 +maxpower=20.0 +heater=4.1 +p=40 +i=10 +d=2 +mode=pid +tolerance=0.1 +window=30 +timeout=900 + +# some (non-default) parameter properties +pollinterval.export=False + +# some parameter grouping +p.group=pid +i.group=pid +d.group=pid + +value.unit=K + +# test custom properties +value.test=customized value + diff --git a/cfg/test_ppms_mf.cfg b/cfg/test_ppms_mf.cfg new file mode 100644 index 0000000..014e26a --- /dev/null +++ b/cfg/test_ppms_mf.cfg @@ -0,0 +1,73 @@ +[node PPMS.psi.ch] +description = PPMS at PSI + +[interface tcp] +type = tcp +bindto = 0.0.0.0 +bindport = 5000 + +#[module tt] +#class = secop_psi.ppms.Temp +#.description = main temperature +#iodev = ppms + +[module mf] +class = secop_psi.ppms.Field +.description = magnetic field +iodev = ppms + +#[module pos] +#class = secop_psi.ppms.Position +#.description = sample rotator +#iodev = ppms + +#[module lev] +#class = secop_psi.ppms.Level +#.description = helium level +#iodev = ppms + +#[module chamber] +#class = secop_psi.ppms.Chamber +#.description = chamber state +#iodev = ppms + +#[module r1] +#class = secop_psi.ppms.BridgeChannel +#.description = resistivity channel 1 +#no = 1 +#value.unit = Ohm +#iodev = ppms + +#[module i1] +#class = secop_psi.ppms.Channel +#.description = current channel 1 +#no = 1 +#value.unit = uA +#iodev = ppms + +#[module v1] +#class = secop_psi.ppms.DriverChannel +#.description = voltage channel 1 +#no = 1 +#value.unit = V +#iodev = ppms + +#[module tv] +#class = secop_psi.ppms.UserChannel +#.description = VTI temperature +#enabled = 1 +#value.unit = K +#iodev = ppms + +#[module ts] +#class = secop_psi.ppms.UserChannel +#.description = sample temperature +#enabled = 1 +#value.unit = K +#iodev = ppms + +[module ppms] +class = secop_psi.ppms.Main +.description = the main and poller module +class_id = QD.MULTIVU.PPMS.1 +pollinterval = 2 \ No newline at end of file diff --git a/cfg/testcmd.cfg b/cfg/testcmd.cfg new file mode 100644 index 0000000..8465a1c --- /dev/null +++ b/cfg/testcmd.cfg @@ -0,0 +1,3 @@ +[m] +class = secop_psi.testcmd.TestCmd +description = 'module for testing commands' diff --git a/cfg/varioxb.cfg b/cfg/varioxb.cfg new file mode 100644 index 0000000..a015874 --- /dev/null +++ b/cfg/varioxb.cfg @@ -0,0 +1,60 @@ +[node varioxB_vb.psi.ch] +description = varioxB over SEA + +[interface tcp] +type = tcp +bindport = 10767 + +[module seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = tcp://samenv.psi.ch:8646 + +[module tvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvs.varioxB.config +remote_paths = . + +[module tvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tvd.varioxB.config +remote_paths = . + +[module pstat] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pstat.varioxB.config +remote_paths = . + +[module pdyn] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = pdyn.varioxB.config +remote_paths = . + +[module tneck1] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck1.varioxB.config +remote_paths = . + +[module tneck2] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tneck2.varioxB.config +remote_paths = . + +[module tnvs] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvs.varioxB.config +remote_paths = . + +[module tnvd] +class = secop_psi.sea.SeaReadable +iodev = seaconn +json_descr = tnvd.varioxB.config +remote_paths = . + diff --git a/secop/lib/__init__.py b/secop/lib/__init__.py index 66af30e..c712950 100644 --- a/secop/lib/__init__.py +++ b/secop/lib/__init__.py @@ -247,3 +247,14 @@ def getfqdn(name=''): def getGeneralConfig(): return CONFIG + + +def formatStatusBits(sword, labels, start=0): + """Return a list of labels according to bit state in `sword` starting + with bit `start` and the first label in `labels`. + """ + result = [] + for i, lbl in enumerate(labels, start): + if sword & (1 << i) and lbl: + result.append(lbl) + return result diff --git a/secop/lib/asynconn.py b/secop/lib/asynconn.py index 2bcb1ff..97be5c4 100644 --- a/secop/lib/asynconn.py +++ b/secop/lib/asynconn.py @@ -125,6 +125,28 @@ class AsynConn: return None self._rxbuffer += data + def readbytes(self, nbytes, timeout=None): + """read one line + + return either bytes or None if not enough data available within 1 sec (self.timeout) + if a non-zero timeout is given, a timeout error is raised instead of returning None + the timeout effectively used will not be lower than self.timeout (1 sec) + """ + if timeout: + end = time.time() + timeout + while len(self._rxbuffer) < nbytes: + data = self.recv() + if not data: + if timeout: + if time.time() < end: + continue + raise TimeoutError('timeout in readbytes (%g sec)' % timeout) + return None + self._rxbuffer += data + line = self._rxbuffer[:nbytes] + self._rxbuffer = self._rxbuffer[nbytes:] + return line + def writeline(self, line): self.send(line + self.end_of_line) @@ -154,9 +176,10 @@ class AsynTcp(AsynConn): def flush_recv(self): """flush recv buffer""" - data = [] + data = [self._rxbuffer] while select.select([self.connection], [], [], 0)[0]: data.append(self.recv()) + self._rxbuffer = b'' return b''.join(data) def recv(self): @@ -244,7 +267,9 @@ class AsynSerial(AsynConn): self.connection.write(data) def flush_recv(self): - return self.connection.read(self.connection.in_waiting) + result = self._rxbuffer + self.connection.read(self.connection.in_waiting) + self._rxbuffer = b'' + return result def recv(self): """return bytes received within 1 sec""" diff --git a/secop/params.py b/secop/params.py index f32068d..40904a6 100644 --- a/secop/params.py +++ b/secop/params.py @@ -139,8 +139,11 @@ class Parameter(Accessible): datatype.setProperty('unit', unit) super(Parameter, self).__init__(**kwds) - if self.readonly and self.initwrite: - raise ProgrammingError('can not have both readonly and initwrite!') + if self.initwrite: + if self.readonly: + raise ProgrammingError('can not have both readonly and initwrite!') + if not self.poll: + raise ProgrammingError('only polled parameters can have initwrite!') if self.constant is not None: self.properties['readonly'] = True diff --git a/secop_psi/SR_7270.py b/secop_psi/SR_7270.py new file mode 100644 index 0000000..2f8f699 --- /dev/null +++ b/secop_psi/SR_7270.py @@ -0,0 +1,221 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Daniel Margineda +# ***************************************************************************** +"""SIGNAL RECOVERY SR7270: lOCKIN AMPLIFIER FOR AC SUSCEPTIBILITY""" + +from secop.core import Readable, Parameter, Override, FloatRange, TupleOf, HasIodev, StringIO, \ + Done, Attached, IntRange, BoolType + + +class SR7270(StringIO): + end_of_line = b'\x00' + + def do_communicate(self, command): #remove dash from terminator + reply = StringIO.do_communicate(self, command) + status = self._conn.readbytes(2, 0.1) # get the 2 status bytes + # print('comm=',command,'reply=',reply,'status=',status) + return reply + ';%d;%d' % tuple(status) + + + +class XY(HasIodev, Readable): + properties = { + 'x': Attached(), + 'y': Attached(), + 'freq_arg': Attached(), + 'amp_arg': Attached(), + 'tc_arg': Attached(), + } + parameters = { + 'value': Override('X, Y', datatype=TupleOf(FloatRange(unit='V'), FloatRange(unit='V'))), + 'freq': Parameter('exc_freq_int', + FloatRange(0.001,250e3,unit='Hz'), + poll=True, readonly=False, default=100), + 'amp': Parameter('exc_volt_int', + FloatRange(0.00,5,unit='Vrms'), + poll=True, readonly=False, default=5), + 'range': Parameter('sensitivity value', FloatRange(0.00,1,unit='V'), poll=True, default=1), + 'irange': Parameter('sensitivity index', IntRange(0,27), poll=True, readonly=False, default=25), + 'autorange': Parameter('autorange_on', BoolType(), readonly=False, default=True), + 'tc': Parameter('time constant value', FloatRange(10e-6,1,unit='s'), poll=True, default=0.1), + 'itc': Parameter('time constant index', IntRange(0,30), poll=True, readonly=False, default=12), + 'nm': Parameter ('noise mode',BoolType(), readonly=False, default=0), + 'aphase': Parameter('autophase',BoolType(), readonly=False, default=0), + # FloatRange(0.00,5e6,unit='uVrms'), + # poll=True, readonly=False, default=100), + } + iodevClass = SR7270 + + def comm(self, command): + reply, status, overload = self.sendRecv(command).split(';') + if overload != '0': + self.status = self.Status.WARN, 'overload %s' % overload + else: + self.status = self.Status.IDLE, '' + return reply + + def read_value(self): + reply = self.comm('XY.').split(',') + x = float(reply[0]) + y = float(reply[1]) + if self.autorange: + if max(abs(x), abs(y)) >= 0.9*self.range and self.irange < 27: + self.write_irange(self.irange+1) + elif max(abs(x), abs(y)) <= 0.3*self.range and self.irange > 1: + self.write_irange(self.irange-1) + self._x.value = x # to update X,Y classes which will be the collected data. + self._y.value = y + self._freq_arg.value = self.freq + self._amp_arg.value = self.amp + self._tc_arg.value =self.tc + return x,y + + def read_freq(self): + reply = self.comm('OF.') + return reply + + def write_freq(self,value): + self.comm('OF. %g' % value) + + return value + + +#oscillator amplitude module + def read_amp(self): + reply = self.comm('OA.') + return reply + + def write_amp(self,value): + self.comm('OA. %g' % value) + + return value + +#sensitivity module + def read_range(self): + reply = self.comm('SEN.') + + return reply + + + def write_irange(self,value): + self.comm('SEN %g' % value) + self.read_range() + return value + + def read_irange(self): + reply = self.comm('SEN') + + return reply + + #time constant module/ noisemode off or 0 allows to use all the time constant range + def read_nm(self): + reply = self.comm('NOISEMODE') + return reply + + def write_nm(self,value): + self.comm('NOISEMODE %d' % int(value)) + self.read_nm() + return value + + + def read_tc(self): + reply = self.comm('TC.') + + return reply + + + def write_itc(self,value): + self.comm('TC %g' % value) + self.read_tc() + return value + + def read_itc(self): + reply = self.comm('TC') + + return reply + +#autophase + def read_aphase(self): + reply = self.comm('AQN') + + return reply + + def write_aphase(self,value): + self.comm('AQN') + self.read_aphase() + return value + +class Comp(Readable): + pollerClass = None + parameters = { + 'value': Override(datatype=FloatRange(unit='V')), + } + + +class arg(Readable): + pollerClass = None + parameters = { + 'value': Override(datatype=FloatRange(unit='')), + } + + # parameters = { + # 'valueX': Override('X, Y', datatype=TupleOf(FloatRange(unit='V'), FloatRange(unit='V'))), + #} + #iodevClass = SR7270 +# def read_valueX(self): + # reply = self.sendRecv('XY.') + # return reply.split(',')[0] + # def read_valueY(self): + # reply = self.sendRecv('XY.') + # return reply.split(',')[1] + + +#class aphase(self): + # reply = self.sendRecv('ASM') + # return reply + + # def asens(self): + # reply = self.sendRecv('AS') + # return reply + + # def write_Fstart(self,value): + # self.sendRecv('FSTART. %g' % value) + # return value + + # def write_Fstop(self,value): + # self.sendRecv('FSTOP. %g' % value) + # return value + + # def write_Fstep(self,value): + # self.sendRecv('FSTEP. %g' % value) + # return value + + # def write_Astart(self,value): + # self.sendRecv('ASTART. %g' % value') + # return value + + # def write_Astop(self,value): + # self.sendRecv('ASTOP. %g' % value) + # return value + + # def write_Astep(self,value): + # self.sendRecv('ASTEP. %g' % value) + # return value + \ No newline at end of file diff --git a/secop_psi/calcurves/.#x38622.inp.1.2 b/secop_psi/calcurves/.#x38622.inp.1.2 new file mode 100644 index 0000000..95315b1 --- /dev/null +++ b/secop_psi/calcurves/.#x38622.inp.1.2 @@ -0,0 +1,61 @@ +sens=x30906 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +71.59785311 325 +71.77447095 324 +74.57787422 309 +77.67656285 294 +81.11851656 279 +84.95716272 264 +89.25858546 249 +94.10658202 234 +99.60015172 219 +105.8741654 204 +113.0941133 189 +121.4842565 174 +131.3409037 159 +143.0836466 144 +157.3040847 129 +174.8799418 114 +197.2150255 99 +226.6992065 84 +267.7133324 69 +303.4659719 59.5 +351.6333029 50 +384.4678243 45 +424.8444997 40 +475.7841828 35 +542.2505485 30 +630.913761 25.1 +725.6212623 21.3 +838.397549 18 +965.8507024 15.3 +1117.094722 13 +1281.150056 11.2 +1483.81583 9.6 +1693.869702 8.4 +1958.97999 7.3 +2260.476518 6.4 +2580.358212 5.7 +2948.695996 5.1 +3357.840013 4.6 +3911.289841 4.1 +4514.815423 3.7 +5110.107072 3.4 +5887.351963 3.1 +6549.678763 2.9 +7374.456191 2.7 +8425.777762 2.5 +9804.602701 2.3 +10664.97889 2.2 +11677.23445 2.1 +12881.90227 2 +14333.42572 1.9 +16104.60213 1.8 +18295.74085 1.7 +24540.30748 1.5 +29071.00193 1.4 \ No newline at end of file diff --git a/secop_psi/calcurves/CStdILL.340x b/secop_psi/calcurves/CStdILL.340x new file mode 100644 index 0000000..1f92fc3 --- /dev/null +++ b/secop_psi/calcurves/CStdILL.340x @@ -0,0 +1,189 @@ +Sensor Model: CARBONE C91 +Serial Number: C91_0404 +Data Format: 4 (Log Ohms vs. Kelvin) +SetPoint Limit: 100. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 180 + +No. Units Temperature (K) + + 1 1.95425 310.451 + 2 2.00000 177.957 + 3 2.04140 115.629 + 4 2.07918 82.078 + 5 2.11394 62.133 + 6 2.14614 49.348 + 7 2.17609 40.656 + 8 2.20413 34.463 + 9 2.23045 29.880 + 10 2.25527 26.380 + 11 2.27875 23.636 + 12 2.30103 21.437 + 13 2.34242 18.150 + 14 2.38021 15.823 + 15 2.41497 14.097 + 16 2.44717 12.767 + 17 2.47713 11.712 + 18 2.50515 10.855 + 19 2.53148 10.144 + 20 2.55630 9.545 + 21 2.57978 9.033 + 22 2.60206 8.589 + 23 2.62325 8.202 + 24 2.64345 7.859 + 25 2.66276 7.555 + 26 2.68124 7.282 + 27 2.69897 7.036 + 28 2.71600 6.813 + 29 2.73239 6.610 + 30 2.74820 6.424 + 31 2.76344 6.253 + 32 2.77815 6.095 + 33 2.79239 5.949 + 34 2.80618 5.813 + 35 2.81954 5.687 + 36 2.83251 5.569 + 37 2.84510 5.458 + 38 2.85733 5.354 + 39 2.86923 5.256 + 40 2.88081 5.164 + 41 2.89209 5.077 + 42 2.90309 4.995 + 43 2.91381 4.916 + 44 2.92428 4.842 + 45 2.93450 4.772 + 46 2.94448 4.705 + 47 2.95424 4.641 + 48 2.96380 4.579 + 49 2.97314 4.521 + 50 2.98227 4.465 + 51 2.99123 4.411 + 52 3.00000 4.360 + 53 3.02120 4.240 + 54 3.04140 4.131 + 55 3.06071 4.032 + 56 3.07918 3.940 + 57 3.09691 3.856 + 58 3.11394 3.778 + 59 3.13034 3.706 + 60 3.14614 3.639 + 61 3.16138 3.576 + 62 3.17609 3.517 + 63 3.19034 3.461 + 64 3.20413 3.409 + 65 3.21748 3.360 + 66 3.23045 3.313 + 67 3.24304 3.269 + 68 3.25527 3.227 + 69 3.26718 3.187 + 70 3.27875 3.149 + 71 3.29004 3.113 + 72 3.30103 3.078 + 73 3.32222 3.013 + 74 3.34242 2.953 + 75 3.36173 2.898 + 76 3.38021 2.847 + 77 3.39794 2.799 + 78 3.41497 2.755 + 79 3.43136 2.713 + 80 3.44717 2.674 + 81 3.46240 2.637 + 82 3.47713 2.602 + 83 3.49136 2.569 + 84 3.50515 2.538 + 85 3.51851 2.508 + 86 3.53148 2.480 + 87 3.54407 2.453 + 88 3.55630 2.427 + 89 3.56820 2.403 + 90 3.57978 2.379 + 91 3.59106 2.356 + 92 3.60206 2.335 + 93 3.61278 2.314 + 94 3.62325 2.294 + 95 3.63347 2.275 + 96 3.64345 2.256 + 97 3.65321 2.239 + 98 3.66276 2.221 + 99 3.67210 2.205 +100 3.68124 2.189 +101 3.69020 2.173 +102 3.69897 2.158 +103 3.71600 2.129 +104 3.73239 2.103 +105 3.74820 2.077 +106 3.76344 2.053 +107 3.77815 2.030 +108 3.79239 2.009 +109 3.80618 1.988 +110 3.81954 1.969 +111 3.83251 1.950 +112 3.84510 1.933 +113 3.85733 1.916 +114 3.86923 1.900 +115 3.88081 1.884 +116 3.89209 1.869 +117 3.90309 1.855 +118 3.91381 1.841 +119 3.92428 1.828 +120 3.93450 1.815 +121 3.94448 1.803 +122 3.95424 1.791 +123 3.96380 1.780 +124 3.97314 1.769 +125 3.98227 1.758 +126 3.99123 1.747 +127 4.00000 1.737 +128 4.02119 1.714 +129 4.04140 1.692 +130 4.06070 1.671 +131 4.07918 1.652 +132 4.09691 1.634 +133 4.11394 1.616 +134 4.13033 1.600 +135 4.14613 1.585 +136 4.16137 1.570 +137 4.17610 1.557 +138 4.19033 1.543 +139 4.20412 1.531 +140 4.21748 1.519 +141 4.23046 1.507 +142 4.24305 1.496 +143 4.25528 1.485 +144 4.26717 1.475 +145 4.27876 1.465 +146 4.29003 1.455 +147 4.30103 1.446 +148 4.32222 1.428 +149 4.34242 1.412 +150 4.36173 1.396 +151 4.38021 1.381 +152 4.39794 1.367 +153 4.41497 1.354 +154 4.43137 1.341 +155 4.44717 1.329 +156 4.46240 1.318 +157 4.47713 1.307 +158 4.49137 1.296 +159 4.50515 1.286 +160 4.51851 1.277 +161 4.53148 1.268 +162 4.54407 1.259 +163 4.55631 1.251 +164 4.56820 1.243 +165 4.57979 1.236 +166 4.59107 1.229 +167 4.60206 1.222 +168 4.61278 1.216 +169 4.62325 1.210 +170 4.63347 1.204 +171 4.64345 1.199 +172 4.65321 1.194 +173 4.66276 1.190 +174 4.67210 1.186 +175 4.68125 1.182 +176 4.69020 1.178 +177 4.69897 1.175 +178 4.74037 1.164 +179 4.77815 1.161 +180 4.81291 1.160 diff --git a/secop_psi/calcurves/CX078_HIGH.340 b/secop_psi/calcurves/CX078_HIGH.340 new file mode 100644 index 0000000..a218bc8 --- /dev/null +++ b/secop_psi/calcurves/CX078_HIGH.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: CX078 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-05-15 + +No. Units Temperature (K) + + 1 1.80076 2.51858 + 2 1.80639 2.51188 + 3 1.81326 2.50379 + 4 1.81969 2.49624 + 5 1.82627 2.48855 + 6 1.83299 2.48073 + 7 1.83986 2.47276 + 8 1.84690 2.46464 + 9 1.85409 2.45637 + 10 1.86144 2.44793 + 11 1.86896 2.43933 + 12 1.87665 2.43056 + 13 1.88451 2.42160 + 14 1.89256 2.41246 + 15 1.90078 2.40312 + 16 1.90843 2.39445 + 17 1.91625 2.38561 + 18 1.92421 2.37658 + 19 1.93236 2.36736 + 20 1.94068 2.35793 + 21 1.94917 2.34830 + 22 1.95786 2.33846 + 23 1.96674 2.32838 + 24 1.97582 2.31806 + 25 1.98511 2.30750 + 26 1.99461 2.29667 + 27 2.00433 2.28556 + 28 2.01428 2.27416 + 29 2.02447 2.26245 + 30 2.03386 2.25164 + 31 2.04346 2.24055 + 32 2.05326 2.22917 + 33 2.06331 2.21748 + 34 2.07357 2.20548 + 35 2.08410 2.19312 + 36 2.09487 2.18041 + 37 2.10593 2.16732 + 38 2.11725 2.15381 + 39 2.12888 2.13988 + 40 2.13948 2.12710 + 41 2.15034 2.11394 + 42 2.16147 2.10037 + 43 2.17289 2.08636 + 44 2.18462 2.07188 + 45 2.19667 2.05690 + 46 2.20906 2.04139 + 47 2.22181 2.02531 + 48 2.23330 2.01072 + 49 2.24170 2.00000 + 50 2.25026 1.98900 + 51 2.25899 1.97772 + 52 2.26791 1.96614 + 53 2.27701 1.95424 + 54 2.28632 1.94201 + 55 2.29585 1.92942 + 56 2.30560 1.91645 + 57 2.31558 1.90309 + 58 2.32581 1.88930 + 59 2.33419 1.87795 + 60 2.34273 1.86629 + 61 2.35147 1.85431 + 62 2.36040 1.84198 + 63 2.36953 1.82930 + 64 2.37889 1.81624 + 65 2.38847 1.80277 + 66 2.39829 1.78888 + 67 2.40888 1.77379 + 68 2.41924 1.75891 + 69 2.42990 1.74351 + 70 2.43976 1.72916 + 71 2.44987 1.71433 + 72 2.46026 1.69897 + 73 2.47094 1.68305 + 74 2.48195 1.66652 + 75 2.49329 1.64933 + 76 2.50367 1.63347 + 77 2.51436 1.61700 + 78 2.52606 1.59879 + 79 2.53742 1.58092 + 80 2.54917 1.56229 + 81 2.56054 1.54407 + 82 2.57228 1.52504 + 83 2.58443 1.50515 + 84 2.59617 1.48572 + 85 2.60832 1.46538 + 86 2.62092 1.44404 + 87 2.63306 1.42325 + 88 2.64565 1.40140 + 89 2.65773 1.38021 + 90 2.67028 1.35793 + 91 2.68334 1.33445 + 92 2.69584 1.31175 + 93 2.70528 1.29447 + 94 2.71316 1.27989 + 95 2.72124 1.26482 + 96 2.72957 1.24920 + 97 2.73815 1.23300 + 98 2.74631 1.21748 + 99 2.75472 1.20140 + 100 2.76339 1.18469 + 101 2.77160 1.16879 + 102 2.78007 1.15229 + 103 2.78883 1.13513 + 104 2.79790 1.11727 + 105 2.80644 1.10037 + 106 2.81528 1.08279 + 107 2.82443 1.06446 + 108 2.83299 1.04727 + 109 2.84185 1.02938 + 110 2.85104 1.01072 + 111 2.86060 0.99123 + 112 2.86944 0.97313 + 113 2.87861 0.95424 + 114 2.88816 0.93450 + 115 2.89811 0.91381 + 116 2.90850 0.89209 + 117 2.91801 0.87216 + 118 2.92790 0.85126 + 119 2.93825 0.82930 + 120 2.94907 0.80618 + 121 2.96043 0.78176 + 122 2.97099 0.75891 + 123 2.98167 0.73560 + 124 2.99287 0.71096 + 125 3.00385 0.68664 + 126 3.01533 0.66087 + 127 3.02655 0.63548 + 128 3.03829 0.60853 + 129 3.04779 0.58659 + 130 3.05613 0.56703 + 131 3.06477 0.54654 + 132 3.07319 0.52634 + 133 3.08191 0.50515 + 134 3.09096 0.48287 + 135 3.09976 0.46090 + 136 3.10887 0.43775 + 137 3.11770 0.41497 + 138 3.12682 0.39094 + 139 3.13560 0.36736 + 140 3.14464 0.34242 + 141 3.15398 0.31597 + 142 3.16288 0.29003 + 143 3.17203 0.26245 + 144 3.18147 0.23300 + 145 3.19034 0.20412 + 146 3.19854 0.17609 + 147 3.20681 0.14922 + 148 3.20788 0.14613 + 149 3.23003 0.07968 diff --git a/secop_psi/calcurves/D69874.340 b/secop_psi/calcurves/D69874.340 new file mode 100644 index 0000000..af41d55 --- /dev/null +++ b/secop_psi/calcurves/D69874.340 @@ -0,0 +1,117 @@ +Sensor Model: DT-470-CO-13-1.4H +Serial Number: D69874 +Data Format: 2 (Volts/Kelvin) +SetPoint Limit: 500.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 108 + +No. Units Temperature (K) + + 1 4.09856e-02 500.000 + 2 4.97661e-02 494.500 + 3 5.95024e-02 489.000 + 4 7.21937e-02 482.500 + 5 8.70809e-02 475.500 + 6 9.04948e-02 474.000 + 7 .100622 469.500 + 8 .117028 462.500 + 9 .137589 454.000 + 10 .169783 441.000 + 11 .273941 399.500 + 12 .336138 374.500 + 13 .395255 350.500 + 14 .464776 322.000 + 15 .501093 307.000 + 16 .554051 285.000 + 17 .604319 264.000 + 18 .647150 246.000 + 19 .683775 230.500 + 20 .717769 216.000 + 21 .749156 202.500 + 22 .777965 190.000 + 23 .805368 178.000 + 24 .831375 166.500 + 25 .855993 155.500 + 26 .879230 145.000 + 27 .900002 135.500 + 28 .919439 126.500 + 29 .937546 118.000 + 30 .954337 110.000 + 31 .969831 102.500 + 32 .981020 97.000 + 33 .990074 92.500 + 34 .999019 88.000 + 35 1.00785 83.500 + 36 1.01656 79.000 + 37 1.02514 74.500 + 38 1.03359 70.000 + 39 1.04192 65.500 + 40 1.05013 61.000 + 41 1.05841 56.400 + 42 1.06659 51.800 + 43 1.07502 47.000 + 44 1.08581 40.800 + 45 1.09041 38.200 + 46 1.09386 36.300 + 47 1.09686 34.700 + 48 1.09959 33.300 + 49 1.10204 32.100 + 50 1.10440 31.000 + 51 1.10668 30.000 + 52 1.10888 29.100 + 53 1.11098 28.300 + 54 1.11297 27.600 + 55 1.11483 27.000 + 56 1.11656 26.500 + 57 1.11810 26.100 + 58 1.11984 25.700 + 59 1.12189 25.300 + 60 1.12375 25.000 + 61 1.12595 24.700 + 62 1.12868 24.400 + 63 1.13210 24.100 + 64 1.13629 23.800 + 65 1.14132 23.500 + 66 1.14920 23.100 + 67 1.17157 22.100 + 68 1.18390 21.500 + 69 1.19894 20.700 + 70 1.21570 19.750 + 71 1.24078 18.300 + 72 1.25839 17.300 + 73 1.27374 16.450 + 74 1.28768 15.700 + 75 1.30111 15.000 + 76 1.31401 14.350 + 77 1.32637 13.750 + 78 1.33922 13.150 + 79 1.35152 12.600 + 80 1.36432 12.050 + 81 1.37772 11.500 + 82 1.39048 11.000 + 83 1.40381 10.500 + 84 1.41782 10.000 + 85 1.43109 9.550 + 86 1.44502 9.100 + 87 1.45969 8.650 + 88 1.47511 8.200 + 89 1.49309 7.700 + 90 1.51565 7.100 + 91 1.57145 5.660 + 92 1.59930 4.920 + 93 1.61816 4.400 + 94 1.63124 4.020 + 95 1.64142 3.710 + 96 1.65055 3.420 + 97 1.65964 3.120 + 98 1.66748 2.850 + 99 1.67387 2.620 +100 1.67914 2.420 +101 1.68359 2.240 +102 1.68727 2.080 +103 1.69025 1.940 +104 1.69280 1.810 +105 1.69496 1.690 +106 1.69693 1.570 +107 1.69856 1.460 +108 1.69937 1.400 diff --git a/secop_psi/calcurves/D69875.340 b/secop_psi/calcurves/D69875.340 new file mode 100644 index 0000000..3de566a --- /dev/null +++ b/secop_psi/calcurves/D69875.340 @@ -0,0 +1,118 @@ +Sensor Model: DT-470-CO-13-1.4H +Serial Number: D69875 +Data Format: 2 (Volts/Kelvin) +SetPoint Limit: 500.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 109 + +No. Units Temperature (K) + + 1 4.13189e-02 500.000 + 2 5.01285e-02 494.500 + 3 5.98868e-02 489.000 + 4 7.25964e-02 482.500 + 5 8.74931e-02 475.500 + 6 9.09066e-02 474.000 + 7 .101034 469.500 + 8 .117435 462.500 + 9 .139205 453.500 + 10 .173884 439.500 + 11 .269153 401.500 + 12 .331296 376.500 + 13 .390382 352.500 + 14 .456228 325.500 + 15 .492574 310.500 + 16 .545569 288.500 + 17 .597076 267.000 + 18 .641140 248.500 + 19 .678994 232.500 + 20 .713028 218.000 + 21 .745619 204.000 + 22 .775607 191.000 + 23 .804166 178.500 + 24 .830180 167.000 + 25 .854810 156.000 + 26 .878055 145.500 + 27 .898836 136.000 + 28 .918285 127.000 + 29 .936405 118.500 + 30 .953209 110.500 + 31 .968717 103.000 + 32 .979918 97.500 + 33 .988983 93.000 + 34 .997941 88.500 + 35 1.00678 84.000 + 36 1.01551 79.500 + 37 1.02411 75.000 + 38 1.03258 70.500 + 39 1.04094 66.000 + 40 1.04917 61.500 + 41 1.05766 56.800 + 42 1.06622 52.000 + 43 1.07503 47.000 + 44 1.08585 40.800 + 45 1.09046 38.200 + 46 1.09411 36.200 + 47 1.09712 34.600 + 48 1.09967 33.300 + 49 1.10212 32.100 + 50 1.10449 31.000 + 51 1.10678 30.000 + 52 1.10899 29.100 + 53 1.11111 28.300 + 54 1.11310 27.600 + 55 1.11498 27.000 + 56 1.11674 26.500 + 57 1.11831 26.100 + 58 1.12011 25.700 + 59 1.12168 25.400 + 60 1.12350 25.100 + 61 1.12569 24.800 + 62 1.12841 24.500 + 63 1.13183 24.200 + 64 1.13605 23.900 + 65 1.14111 23.600 + 66 1.14895 23.200 + 67 1.17546 22.000 + 68 1.18960 21.300 + 69 1.20635 20.400 + 70 1.23209 18.950 + 71 1.24709 18.100 + 72 1.26515 17.100 + 73 1.28181 16.200 + 74 1.29705 15.400 + 75 1.31083 14.700 + 76 1.32408 14.050 + 77 1.33676 13.450 + 78 1.34994 12.850 + 79 1.36254 12.300 + 80 1.37566 11.750 + 81 1.38938 11.200 + 82 1.40244 10.700 + 83 1.41612 10.200 + 84 1.43053 9.700 + 85 1.44419 9.250 + 86 1.45854 8.800 + 87 1.47366 8.350 + 88 1.48952 7.900 + 89 1.50978 7.350 + 90 1.54235 6.500 + 91 1.57338 5.700 + 92 1.60199 4.940 + 93 1.62087 4.420 + 94 1.63471 4.020 + 95 1.63732 3.940 + 96 1.64426 3.730 + 97 1.65345 3.440 + 98 1.66258 3.140 + 99 1.67047 2.870 +100 1.67690 2.640 +101 1.68219 2.440 +102 1.68667 2.260 +103 1.69038 2.100 +104 1.69339 1.960 +105 1.69597 1.830 +106 1.69816 1.710 +107 1.70016 1.590 +108 1.70181 1.480 +109 1.70290 1.400 diff --git a/secop_psi/calcurves/LINRUO2.340 b/secop_psi/calcurves/LINRUO2.340 new file mode 100644 index 0000000..be0f5a0 --- /dev/null +++ b/secop_psi/calcurves/LINRUO2.340 @@ -0,0 +1,12 @@ +Sensor Model: RUO5K +Serial Number: LINRUO2 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 2 +intype:0,2,2,12,1 + +No. Units Temperature (K) + + 1 4000.0 4.000 + 2 100000.0 100.0 diff --git a/secop_psi/calcurves/PT100BF.340 b/secop_psi/calcurves/PT100BF.340 new file mode 100644 index 0000000..f071d7b --- /dev/null +++ b/secop_psi/calcurves/PT100BF.340 @@ -0,0 +1,59 @@ +Sensor Model: PT-100-20K +Serial Number: Pt1012 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 49 + +No. Units Temperature (K) + + +1 1.15783 20.1 +2 1.239 20.8 +3 1.33962 21.6 +4 1.44842 22.4 +5 1.5652 23.2 +6 1.68977 24 +7 1.82194 24.8 +8 1.97947 25.7 +9 2.1461 26.6 +10 2.3216 27.5 +11 2.50568 28.4 +12 2.72 29.4 +13 2.94429 30.4 +14 3.17822 31.4 +15 3.44629 32.5 +16 3.72522 33.6 +17 4.04142 34.8 +18 4.36953 36 +19 4.73786 37.3 +20 5.11897 38.6 +21 5.543 40 +22 5.98043 41.4 +23 6.43055 42.8 +24 6.95963 44.4 +25 7.57238 46.2 +26 8.20241 48 +27 8.92114 50 +28 9.73256 52.2 +29 10.64021 54.6 +30 11.64708 57.2 +31 12.75542 60 +32 13.96666 63 +33 15.40565 66.5 +34 17.28803 71 +35 19.83742 77 +36 28.86588 98 +37 33.75231 109.5 +38 39.16824 122.5 +39 44.46682 135.5 +40 49.86957 149 +41 55.60533 163.5 +42 61.91549 179.5 +43 68.65811 196.5 +44 75.87463 214.5 +45 83.36426 233 +46 91.08188 252 +47 98.97328 271.5 +48 107.05449 291.5 +49 115.13033 311 diff --git a/secop_psi/calcurves/PT1012.340 b/secop_psi/calcurves/PT1012.340 new file mode 100644 index 0000000..f071d7b --- /dev/null +++ b/secop_psi/calcurves/PT1012.340 @@ -0,0 +1,59 @@ +Sensor Model: PT-100-20K +Serial Number: Pt1012 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 49 + +No. Units Temperature (K) + + +1 1.15783 20.1 +2 1.239 20.8 +3 1.33962 21.6 +4 1.44842 22.4 +5 1.5652 23.2 +6 1.68977 24 +7 1.82194 24.8 +8 1.97947 25.7 +9 2.1461 26.6 +10 2.3216 27.5 +11 2.50568 28.4 +12 2.72 29.4 +13 2.94429 30.4 +14 3.17822 31.4 +15 3.44629 32.5 +16 3.72522 33.6 +17 4.04142 34.8 +18 4.36953 36 +19 4.73786 37.3 +20 5.11897 38.6 +21 5.543 40 +22 5.98043 41.4 +23 6.43055 42.8 +24 6.95963 44.4 +25 7.57238 46.2 +26 8.20241 48 +27 8.92114 50 +28 9.73256 52.2 +29 10.64021 54.6 +30 11.64708 57.2 +31 12.75542 60 +32 13.96666 63 +33 15.40565 66.5 +34 17.28803 71 +35 19.83742 77 +36 28.86588 98 +37 33.75231 109.5 +38 39.16824 122.5 +39 44.46682 135.5 +40 49.86957 149 +41 55.60533 163.5 +42 61.91549 179.5 +43 68.65811 196.5 +44 75.87463 214.5 +45 83.36426 233 +46 91.08188 252 +47 98.97328 271.5 +48 107.05449 291.5 +49 115.13033 311 diff --git a/secop_psi/calcurves/PtStdILL.340x b/secop_psi/calcurves/PtStdILL.340x new file mode 100644 index 0000000..f959105 --- /dev/null +++ b/secop_psi/calcurves/PtStdILL.340x @@ -0,0 +1,209 @@ +Sensor Model: PLATINE PT0 +Serial Number: PT0_0404 +Data Format: 3 (Ohms vs. Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 200 + +No. Units Temperature (K) + + 1 2.00100e-02 0.867 + 2 4.00000e-02 4.092 + 3 6.00000e-02 6.939 + 4 8.00100e-02 9.066 + 5 .100010 10.677 + 6 .118000 11.826 + 7 .136010 12.777 + 8 .154010 13.583 + 9 .172010 14.282 + 10 .190010 14.897 + 11 .208010 15.448 + 12 .226010 15.947 + 13 .244010 16.403 + 14 .262000 16.824 + 15 .280010 17.216 + 16 .298010 17.583 + 17 .316000 17.929 + 18 .334000 18.256 + 19 .352000 18.566 + 20 .370000 18.862 + 21 .388000 19.146 + 22 .406010 19.418 + 23 .424010 19.679 + 24 .442000 19.931 + 25 .460000 20.175 + 26 .478010 20.411 + 27 .496000 20.640 + 28 .514010 20.862 + 29 .532010 21.078 + 30 .550010 21.288 + 31 .568010 21.493 + 32 .586000 21.693 + 33 .604010 21.889 + 34 .622010 22.080 + 35 .640010 22.267 + 36 .658010 22.450 + 37 .676000 22.630 + 38 .694000 22.806 + 39 .712000 22.979 + 40 .730010 23.148 + 41 .748010 23.315 + 42 .766010 23.479 + 43 .784000 23.640 + 44 .802010 23.799 + 45 .820010 23.955 + 46 .838010 24.109 + 47 .856010 24.261 + 48 .874010 24.410 + 49 .892010 24.558 + 50 .910010 24.703 + 51 .928010 24.847 + 52 .946010 24.988 + 53 .964010 25.128 + 54 .982010 25.266 + 55 1.00001 25.402 + 56 1.12858 26.332 + 57 1.25714 27.196 + 58 1.38572 28.005 + 59 1.51429 28.769 + 60 1.64287 29.494 + 61 1.77143 30.185 + 62 1.90000 30.848 + 63 2.02858 31.484 + 64 2.15714 32.098 + 65 2.28572 32.692 + 66 2.41429 33.267 + 67 2.54286 33.825 + 68 2.67143 34.369 + 69 2.80000 34.899 + 70 2.92857 35.416 + 71 3.05714 35.922 + 72 3.18572 36.416 + 73 3.31429 36.902 + 74 3.44286 37.378 + 75 3.57143 37.845 + 76 3.70000 38.305 + 77 3.82857 38.757 + 78 3.95714 39.202 + 79 4.08571 39.641 + 80 4.21429 40.074 + 81 4.34286 40.501 + 82 4.47144 40.922 + 83 4.60000 41.339 + 84 4.72857 41.750 + 85 4.85714 42.157 + 86 4.98571 42.560 + 87 5.11429 42.959 + 88 5.24287 43.353 + 89 5.37143 43.744 + 90 5.50000 44.132 + 91 5.62857 44.516 + 92 5.75714 44.897 + 93 5.88571 45.275 + 94 6.01429 45.650 + 95 6.14286 46.022 + 96 6.27144 46.392 + 97 6.40001 46.759 + 98 6.52857 47.123 + 99 6.65714 47.485 +100 6.78571 47.845 +101 6.91430 48.203 +102 7.04286 48.559 +103 7.17143 48.913 +104 7.30000 49.265 +105 7.42857 49.615 +106 7.55714 49.963 +107 7.68571 50.310 +108 7.81429 50.655 +109 7.94287 50.998 +110 8.07144 51.340 +111 8.20000 51.680 +112 8.32857 52.019 +113 8.45715 52.357 +114 8.58572 52.693 +115 8.71429 53.028 +116 8.84286 53.362 +117 8.97144 53.695 +118 9.10000 54.026 +119 9.22857 54.357 +120 9.35715 54.686 +121 9.48572 55.014 +122 9.61429 55.342 +123 9.74286 55.668 +124 9.87144 55.993 +125 10.0000 56.318 +126 11.2858 59.518 +127 12.5715 62.654 +128 13.8572 65.741 +129 15.1429 68.791 +130 16.4286 71.815 +131 17.7144 74.818 +132 19.0001 77.806 +133 20.2857 80.783 +134 21.5715 83.752 +135 22.8572 86.717 +136 24.1430 89.680 +137 25.4286 92.642 +138 26.7144 95.604 +139 28.0001 98.569 +140 29.2857 101.537 +141 30.5715 104.508 +142 31.8572 107.484 +143 33.1430 110.465 +144 34.4287 113.452 +145 35.7144 116.444 +146 37.0001 119.443 +147 38.2858 122.448 +148 39.5714 125.459 +149 40.8571 128.477 +150 42.1430 131.502 +151 43.4287 134.535 +152 44.7144 137.574 +153 46.0001 140.621 +154 47.2858 143.674 +155 48.5714 146.735 +156 49.8571 149.803 +157 51.1430 152.876 +158 52.4287 155.958 +159 53.7144 159.045 +160 55.0001 162.140 +161 56.2858 165.240 +162 57.5714 168.349 +163 58.8571 171.462 +164 60.1430 174.582 +165 61.4287 177.706 +166 62.7144 180.839 +167 64.0001 183.975 +168 65.2857 187.117 +169 66.5714 190.265 +170 67.8572 193.419 +171 69.1429 196.577 +172 70.4287 199.740 +173 71.7144 202.909 +174 73.0001 206.081 +175 74.2857 209.256 +176 75.5714 212.438 +177 76.8572 215.623 +178 78.1429 218.811 +179 79.4287 222.003 +180 80.7144 225.199 +181 82.0001 228.399 +182 83.2857 231.600 +183 84.5714 234.806 +184 85.8572 238.014 +185 87.1429 241.224 +186 88.4287 244.438 +187 89.7144 247.653 +188 91.0001 250.870 +189 92.2857 254.090 +190 93.5714 257.311 +191 94.8572 260.533 +192 96.1429 263.757 +193 97.4287 266.983 +194 98.7144 270.209 +195 100.001 273.436 +196 105.001 285.992 +197 110.001 298.550 +198 115.001 311.098 +199 120.001 323.630 +200 125.001 336.135 diff --git a/secop_psi/calcurves/R10401.340 b/secop_psi/calcurves/R10401.340 new file mode 100644 index 0000000..b7ba17a --- /dev/null +++ b/secop_psi/calcurves/R10401.340 @@ -0,0 +1,88 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10401 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 79 + +No. Units Temperature (K) + + 1 11.1270 4.000 + 2 11.3246 4.500 + 3 11.5126 5.000 + 4 11.6917 5.500 + 5 11.8625 6.000 + 6 12.0256 6.500 + 7 12.1814 7.000 + 8 12.3302 7.500 + 9 12.4726 8.000 + 10 12.6089 8.500 + 11 12.7395 9.000 + 12 12.8647 9.500 + 13 12.9968 10.050 + 14 13.1232 10.600 + 15 13.2445 11.150 + 16 13.3611 11.700 + 17 13.4732 12.250 + 18 13.5910 12.850 + 19 13.7042 13.450 + 20 13.8134 14.050 + 21 13.9274 14.700 + 22 14.0372 15.350 + 23 14.1432 16.000 + 24 14.2535 16.700 + 25 14.3601 17.400 + 26 14.4559 18.050 + 27 14.5624 18.800 + 28 14.6938 19.750 + 29 14.8343 20.800 + 30 15.0133 22.200 + 31 15.2350 24.000 + 32 15.7634 28.400 + 33 16.0094 30.400 + 34 16.2252 32.100 + 35 16.4358 33.700 + 36 16.6413 35.200 + 37 16.8411 36.600 + 38 17.0493 38.000 + 39 17.2667 39.400 + 40 17.4939 40.800 + 41 17.7312 42.200 + 42 17.9787 43.600 + 43 18.2366 45.000 + 44 18.5049 46.400 + 45 18.7836 47.800 + 46 19.0726 49.200 + 47 19.4152 50.800 + 48 19.7716 52.400 + 49 20.1410 54.000 + 50 20.5235 55.600 + 51 20.9686 57.400 + 52 21.4296 59.200 + 53 21.9050 61.000 + 54 22.4490 63.000 + 55 23.0091 65.000 + 56 23.5838 67.000 + 57 24.1725 69.000 + 58 24.9264 71.500 + 59 25.7006 74.000 + 60 26.4913 76.500 + 61 27.4592 79.500 + 62 28.4467 82.500 + 63 29.6182 86.000 + 64 30.9803 90.000 + 65 32.5354 94.500 + 66 34.8108 101.000 + 67 39.9476 115.500 + 68 44.0348 127.000 + 69 48.6182 140.000 + 70 52.8094 152.000 + 71 56.9586 164.000 + 72 61.0665 176.000 + 73 65.4753 189.000 + 74 70.3484 203.500 + 75 75.8492 220.000 + 76 82.4719 240.000 + 77 92.3541 270.000 + 78 104.681 307.500 + 79 110.450 325.000 diff --git a/secop_psi/calcurves/R10402.340 b/secop_psi/calcurves/R10402.340 new file mode 100644 index 0000000..4354e65 --- /dev/null +++ b/secop_psi/calcurves/R10402.340 @@ -0,0 +1,88 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10402 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 79 + +No. Units Temperature (K) + + 1 11.0405 4.000 + 2 11.2462 4.520 + 3 11.4347 5.020 + 4 11.6141 5.520 + 5 11.7783 6.000 + 6 11.9417 6.500 + 7 12.0976 7.000 + 8 12.2465 7.500 + 9 12.3889 8.000 + 10 12.5253 8.500 + 11 12.6559 9.000 + 12 12.7813 9.500 + 13 12.9137 10.050 + 14 13.0404 10.600 + 15 13.1621 11.150 + 16 13.2790 11.700 + 17 13.3915 12.250 + 18 13.5097 12.850 + 19 13.6232 13.450 + 20 13.7326 14.050 + 21 13.8381 14.650 + 22 13.9484 15.300 + 23 14.0548 15.950 + 24 14.1575 16.600 + 25 14.2646 17.300 + 26 14.3681 18.000 + 27 14.4750 18.750 + 28 14.6069 19.700 + 29 14.7414 20.700 + 30 14.9215 22.100 + 31 15.1442 23.900 + 32 15.6748 28.300 + 33 15.9217 30.300 + 34 16.1384 32.000 + 35 16.3367 33.500 + 36 16.5288 34.900 + 37 16.7285 36.300 + 38 16.9370 37.700 + 39 17.1547 39.100 + 40 17.3659 40.400 + 41 17.6030 41.800 + 42 17.8507 43.200 + 43 18.1090 44.600 + 44 18.3780 46.000 + 45 18.6576 47.400 + 46 18.9478 48.800 + 47 19.2485 50.200 + 48 19.6047 51.800 + 49 19.9751 53.400 + 50 20.3587 55.000 + 51 20.7557 56.600 + 52 21.2172 58.400 + 53 21.6411 60.000 + 54 22.1858 62.000 + 55 22.7481 64.000 + 56 23.3258 66.000 + 57 23.9182 68.000 + 58 24.5249 70.000 + 59 25.3013 72.500 + 60 26.0977 75.000 + 61 26.9101 77.500 + 62 27.9039 80.500 + 63 28.9170 83.500 + 64 30.1182 87.000 + 65 31.5138 91.000 + 66 33.1058 95.500 + 67 35.4333 102.000 + 68 43.2218 123.500 + 69 46.8419 133.500 + 70 51.3254 146.000 + 71 55.5875 158.000 + 72 59.8072 170.000 + 73 64.1606 182.500 + 74 68.8197 196.000 + 75 73.9537 211.000 + 76 80.0698 229.000 + 77 88.1754 253.000 + 78 107.688 311.000 + 79 112.414 325.000 diff --git a/secop_psi/calcurves/R10403.340 b/secop_psi/calcurves/R10403.340 new file mode 100644 index 0000000..d1f047f --- /dev/null +++ b/secop_psi/calcurves/R10403.340 @@ -0,0 +1,87 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10403 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 78 + +No. Units Temperature (K) + + 1 10.8280 4.000 + 2 11.0464 4.540 + 3 11.2472 5.060 + 4 11.4317 5.560 + 5 11.5868 6.000 + 6 11.7391 6.450 + 7 11.9010 6.950 + 8 12.0552 7.450 + 9 12.2026 7.950 + 10 12.3436 8.450 + 11 12.4788 8.950 + 12 12.6213 9.500 + 13 12.7576 10.050 + 14 12.8884 10.600 + 15 13.0139 11.150 + 16 13.1345 11.700 + 17 13.2506 12.250 + 18 13.3726 12.850 + 19 13.4897 13.450 + 20 13.6026 14.050 + 21 13.7114 14.650 + 22 13.8251 15.300 + 23 13.9348 15.950 + 24 14.0407 16.600 + 25 14.1511 17.300 + 26 14.2579 18.000 + 27 14.3682 18.750 + 28 14.5043 19.700 + 29 14.6430 20.700 + 30 14.8288 22.100 + 31 15.0581 23.900 + 32 15.6407 28.600 + 33 15.8948 30.600 + 34 16.1178 32.300 + 35 16.3355 33.900 + 36 16.5481 35.400 + 37 16.7547 36.800 + 38 16.9700 38.200 + 39 17.1948 39.600 + 40 17.4297 41.000 + 41 17.6748 42.400 + 42 17.9305 43.800 + 43 18.1968 45.200 + 44 18.4738 46.600 + 45 18.7613 48.000 + 46 19.0594 49.400 + 47 19.4126 51.000 + 48 19.7798 52.600 + 49 20.1602 54.200 + 50 20.5540 55.800 + 51 21.0121 57.600 + 52 21.4864 59.400 + 53 22.0580 61.500 + 54 22.6207 63.500 + 55 23.1988 65.500 + 56 23.7919 67.500 + 57 24.3991 69.500 + 58 25.1761 72.000 + 59 25.9734 74.500 + 60 26.7874 77.000 + 61 27.7834 80.000 + 62 28.9691 83.500 + 63 30.1770 87.000 + 64 31.5787 91.000 + 65 33.1777 95.500 + 66 35.6948 102.500 + 67 45.6933 130.000 + 68 50.1999 142.500 + 69 54.3066 154.000 + 70 58.3734 165.500 + 71 62.5757 177.500 + 72 67.0853 190.500 + 73 72.0708 205.000 + 74 77.6993 221.500 + 75 84.6463 242.000 + 76 95.2649 273.500 + 77 106.200 306.000 + 78 112.612 325.000 diff --git a/secop_psi/calcurves/R10409.340 b/secop_psi/calcurves/R10409.340 new file mode 100644 index 0000000..c7ff88f --- /dev/null +++ b/secop_psi/calcurves/R10409.340 @@ -0,0 +1,141 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10409 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 132 + +No. Units Temperature (K) + + 1 8.63666 4.620 + 2 8.64115 4.600 + 3 8.64784 4.640 + 4 8.66048 4.580 + 5 8.67378 4.660 + 6 8.69184 4.560 + 7 8.71322 4.680 + 8 8.78962 4.520 + 9 8.82545 4.720 + 10 9.00578 4.460 + 11 9.06505 4.780 + 12 9.62290 4.320 + 13 9.83684 4.260 + 14 9.87889 4.000 + 15 9.93502 4.220 + 16 9.96266 4.080 + 17 9.96790 4.200 + 18 9.97968 4.100 + 19 9.98859 4.180 + 20 9.99252 4.120 + 21 9.99855 4.160 + 22 9.99933 4.140 + 23 10.0865 4.980 + 24 10.3150 5.040 + 25 10.3537 5.700 + 26 10.3544 5.680 + 27 10.3544 5.720 + 28 10.3565 5.740 + 29 10.3565 5.660 + 30 10.3598 5.760 + 31 10.3599 5.640 + 32 10.3697 5.800 + 33 10.3723 5.600 + 34 10.3909 5.560 + 35 10.3922 5.860 + 36 10.4274 5.080 + 37 10.4336 5.500 + 38 10.4338 5.940 + 39 10.5101 5.420 + 40 10.5113 5.120 + 41 10.5386 6.100 + 42 10.5676 5.160 + 43 10.5773 5.340 + 44 10.5858 5.180 + 45 10.5994 5.200 + 46 10.6001 5.300 + 47 10.6075 5.280 + 48 10.6076 6.200 + 49 10.6080 5.220 + 50 10.6116 5.260 + 51 10.6119 5.240 + 52 10.6660 6.300 + 53 10.7127 6.400 + 54 10.7497 6.500 + 55 10.7789 6.600 + 56 10.8022 6.700 + 57 10.8216 6.800 + 58 10.8650 7.050 + 59 10.8965 7.200 + 60 10.9329 7.350 + 61 11.0007 7.600 + 62 11.1172 8.000 + 63 11.1851 8.250 + 64 11.2598 8.550 + 65 11.3640 9.000 + 66 11.5555 9.850 + 67 11.6639 10.350 + 68 11.7774 10.900 + 69 11.8961 11.500 + 70 12.0101 12.100 + 71 12.1194 12.700 + 72 12.2244 13.300 + 73 12.3255 13.900 + 74 12.4229 14.500 + 75 12.5247 15.150 + 76 12.6228 15.800 + 77 12.7176 16.450 + 78 12.8164 17.150 + 79 12.9120 17.850 + 80 13.0044 18.550 + 81 13.1197 19.450 + 82 13.2381 20.400 + 83 13.3934 21.700 + 84 13.5887 23.400 + 85 14.1028 28.000 + 86 14.3321 30.000 + 87 14.5338 31.700 + 88 14.7188 33.200 + 89 14.8983 34.600 + 90 15.0853 36.000 + 91 15.2809 37.400 + 92 15.4857 38.800 + 93 15.6692 40.000 + 94 15.8599 41.200 + 95 16.0917 42.600 + 96 16.3345 44.000 + 97 16.5879 45.400 + 98 16.8520 46.800 + 99 17.1269 48.200 +100 17.4126 49.600 +101 17.7089 51.000 +102 18.0603 52.600 +103 18.4258 54.200 +104 18.8045 55.800 +105 19.1965 57.400 +106 19.6518 59.200 +107 20.1229 61.000 +108 20.6621 63.000 +109 21.2184 65.000 +110 21.7900 67.000 +111 22.3764 69.000 +112 22.9766 71.000 +113 23.7443 73.500 +114 24.5310 76.000 +115 25.3335 78.500 +116 26.3154 81.500 +117 27.4843 85.000 +118 28.6732 88.500 +119 30.0521 92.500 +120 31.8007 97.500 +121 34.6320 105.500 +122 43.2030 129.500 +123 47.8091 142.500 +124 52.0202 154.500 +125 56.1896 166.500 +126 60.4903 179.000 +127 65.0920 192.500 +128 70.1614 207.500 +129 76.0312 225.000 +130 83.6977 248.000 +131 105.768 314.500 +132 109.267 325.000 diff --git a/secop_psi/calcurves/R10410.340 b/secop_psi/calcurves/R10410.340 new file mode 100644 index 0000000..fdeb054 --- /dev/null +++ b/secop_psi/calcurves/R10410.340 @@ -0,0 +1,89 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10410 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 80 + +No. Units Temperature (K) + + 1 12.7415 4.000 + 2 12.9408 4.520 + 3 13.1160 5.000 + 4 13.2827 5.480 + 5 13.4415 5.960 + 6 13.5961 6.450 + 7 13.7467 6.950 + 8 13.8904 7.450 + 9 14.0280 7.950 + 10 14.1597 8.450 + 11 14.2860 8.950 + 12 14.4072 9.450 + 13 14.5350 10.000 + 14 14.6572 10.550 + 15 14.7745 11.100 + 16 14.8870 11.650 + 17 14.9952 12.200 + 18 15.1087 12.800 + 19 15.2175 13.400 + 20 15.3224 14.000 + 21 15.4235 14.600 + 22 15.5291 15.250 + 23 15.6310 15.900 + 24 15.7295 16.550 + 25 15.8321 17.250 + 26 15.9315 17.950 + 27 16.0345 18.700 + 28 16.1545 19.600 + 29 16.2710 20.500 + 30 16.4457 21.900 + 31 16.6980 24.000 + 32 17.0407 26.900 + 33 17.2829 28.900 + 34 17.4830 30.500 + 35 17.6777 32.000 + 36 17.8672 33.400 + 37 18.0507 34.700 + 38 18.2423 36.000 + 39 18.4430 37.300 + 40 18.6530 38.600 + 41 18.8731 39.900 + 42 19.1035 41.200 + 43 19.3631 42.600 + 44 19.6354 44.000 + 45 19.9201 45.400 + 46 20.2174 46.800 + 47 20.5272 48.200 + 48 20.8497 49.600 + 49 21.1849 51.000 + 50 21.5326 52.400 + 51 21.9446 54.000 + 52 22.3727 55.600 + 53 22.8155 57.200 + 54 23.3305 59.000 + 55 23.7740 60.500 + 56 24.3812 62.500 + 57 25.0093 64.500 + 58 25.6559 66.500 + 59 26.3204 68.500 + 60 27.0009 70.500 + 61 27.8712 73.000 + 62 28.7638 75.500 + 63 29.6754 78.000 + 64 30.7912 81.000 + 65 31.9292 84.000 + 66 33.2790 87.500 + 67 34.8478 91.500 + 68 36.6375 96.000 + 69 39.4561 103.000 + 70 51.0644 131.500 + 71 56.1121 144.000 + 72 60.9116 156.000 + 73 65.6624 168.000 + 74 70.5637 180.500 + 75 75.8090 194.000 + 76 81.5890 209.000 + 77 88.4747 227.000 + 78 97.5989 251.000 + 79 120.133 310.500 + 80 125.642 325.000 diff --git a/secop_psi/calcurves/R10411.340 b/secop_psi/calcurves/R10411.340 new file mode 100644 index 0000000..87cdaa5 --- /dev/null +++ b/secop_psi/calcurves/R10411.340 @@ -0,0 +1,89 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10411 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 80 + +No. Units Temperature (K) + + 1 11.3152 4.000 + 2 11.5075 4.500 + 3 11.6981 5.020 + 4 11.8872 5.560 + 5 12.0516 6.050 + 6 12.2129 6.550 + 7 12.3678 7.050 + 8 12.5163 7.550 + 9 12.6589 8.050 + 10 12.7956 8.550 + 11 12.9268 9.050 + 12 13.0528 9.550 + 13 13.1857 10.100 + 14 13.3130 10.650 + 15 13.4351 11.200 + 16 13.5523 11.750 + 17 13.6651 12.300 + 18 13.7836 12.900 + 19 13.8974 13.500 + 20 14.0071 14.100 + 21 14.1217 14.750 + 22 14.2320 15.400 + 23 14.3386 16.050 + 24 14.4496 16.750 + 25 14.5568 17.450 + 26 14.6533 18.100 + 27 14.7609 18.850 + 28 14.8866 19.750 + 29 15.0416 20.900 + 30 15.2350 22.400 + 31 15.5088 24.600 + 32 15.8519 27.400 + 33 16.1150 29.500 + 34 16.3349 31.200 + 35 16.5360 32.700 + 36 16.7309 34.100 + 37 16.9338 35.500 + 38 17.1457 36.900 + 39 17.3676 38.300 + 40 17.5831 39.600 + 41 17.8257 41.000 + 42 18.0798 42.400 + 43 18.3456 43.800 + 44 18.6231 45.200 + 45 18.9125 46.600 + 46 19.2137 48.000 + 47 19.5267 49.400 + 48 19.8514 50.800 + 49 20.2363 52.400 + 50 20.6368 54.000 + 51 21.0518 55.600 + 52 21.4812 57.200 + 53 21.9805 59.000 + 54 22.4104 60.500 + 55 22.9990 62.500 + 56 23.6076 64.500 + 57 24.2333 66.500 + 58 24.8758 68.500 + 59 25.5337 70.500 + 60 26.3754 73.000 + 61 27.2384 75.500 + 62 28.1190 78.000 + 63 29.1967 81.000 + 64 30.2962 84.000 + 65 31.6002 87.500 + 66 33.1154 91.500 + 67 34.8442 96.000 + 68 37.3720 102.500 + 69 45.2418 122.500 + 70 49.1796 132.500 + 71 54.2526 145.500 + 72 58.8896 157.500 + 73 63.4816 169.500 + 74 68.2196 182.000 + 75 73.2917 195.500 + 76 79.0685 211.000 + 77 85.9146 229.500 + 78 95.1132 254.500 + 79 114.731 308.000 + 80 120.986 325.000 diff --git a/secop_psi/calcurves/R10412.340 b/secop_psi/calcurves/R10412.340 new file mode 100644 index 0000000..dc0323c --- /dev/null +++ b/secop_psi/calcurves/R10412.340 @@ -0,0 +1,88 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10412 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 79 + +No. Units Temperature (K) + + 1 10.9667 4.000 + 2 11.1639 4.520 + 3 11.3372 5.000 + 4 11.5023 5.480 + 5 11.6663 5.980 + 6 11.8286 6.500 + 7 11.9774 7.000 + 8 12.1198 7.500 + 9 12.2559 8.000 + 10 12.3863 8.500 + 11 12.5113 9.000 + 12 12.6431 9.550 + 13 12.7691 10.100 + 14 12.8900 10.650 + 15 13.0060 11.200 + 16 13.1175 11.750 + 17 13.2247 12.300 + 18 13.3374 12.900 + 19 13.4456 13.500 + 20 13.5499 14.100 + 21 13.6505 14.700 + 22 13.7556 15.350 + 23 13.8569 16.000 + 24 13.9549 16.650 + 25 14.0570 17.350 + 26 14.1557 18.050 + 27 14.2580 18.800 + 28 14.3775 19.700 + 29 14.5062 20.700 + 30 14.6789 22.100 + 31 14.9045 24.000 + 32 15.3350 27.700 + 33 15.5734 29.700 + 34 15.7825 31.400 + 35 15.9740 32.900 + 36 16.1598 34.300 + 37 16.3533 35.700 + 38 16.5554 37.100 + 39 16.7670 38.500 + 40 16.9885 39.900 + 41 17.2039 41.200 + 42 17.4458 42.600 + 43 17.6990 44.000 + 44 17.9632 45.400 + 45 18.2387 46.800 + 46 18.5253 48.200 + 47 18.8230 49.600 + 48 19.1319 51.000 + 49 19.4981 52.600 + 50 19.8789 54.200 + 51 20.2733 55.800 + 52 20.6814 57.400 + 53 21.1555 59.200 + 54 21.6459 61.000 + 55 22.2074 63.000 + 56 22.7867 65.000 + 57 23.3822 67.000 + 58 23.9929 69.000 + 59 24.6179 71.000 + 60 25.4169 73.500 + 61 26.2358 76.000 + 62 27.0715 78.500 + 63 28.0935 81.500 + 64 29.3094 85.000 + 65 30.5473 88.500 + 66 31.9827 92.500 + 67 33.8021 97.500 + 68 36.7495 105.500 + 69 45.6744 129.500 + 70 50.4707 142.500 + 71 54.8559 154.500 + 72 59.1983 166.500 + 73 63.6779 179.000 + 74 68.4711 192.500 + 75 73.7516 207.500 + 76 79.8667 225.000 + 77 87.6811 247.500 + 78 110.503 313.500 + 79 114.494 325.000 diff --git a/secop_psi/calcurves/R10413.340 b/secop_psi/calcurves/R10413.340 new file mode 100644 index 0000000..50a8970 --- /dev/null +++ b/secop_psi/calcurves/R10413.340 @@ -0,0 +1,87 @@ +Sensor Model: RF-100U-AA-4L +Serial Number: R10413 +Data Format: 3 (Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 2 (Positive) +Number of Breakpoints: 78 + +No. Units Temperature (K) + + 1 11.5938 4.000 + 2 11.8402 4.640 + 3 12.0797 5.280 + 4 12.2661 5.800 + 5 12.4369 6.300 + 6 12.5993 6.800 + 7 12.7541 7.300 + 8 12.9021 7.800 + 9 13.0439 8.300 + 10 13.1800 8.800 + 11 13.3236 9.350 + 12 13.4609 9.900 + 13 13.5925 10.450 + 14 13.7186 11.000 + 15 13.8397 11.550 + 16 13.9561 12.100 + 17 14.0782 12.700 + 18 14.1954 13.300 + 19 14.3084 13.900 + 20 14.4173 14.500 + 21 14.5312 15.150 + 22 14.6410 15.800 + 23 14.7471 16.450 + 24 14.8576 17.150 + 25 14.9643 17.850 + 26 15.0675 18.550 + 27 15.1963 19.450 + 28 15.3286 20.400 + 29 15.5021 21.700 + 30 15.7201 23.400 + 31 16.3301 28.300 + 32 16.5727 30.200 + 33 16.7836 31.800 + 34 16.9885 33.300 + 35 17.1873 34.700 + 36 17.3943 36.100 + 37 17.6105 37.500 + 38 17.8366 38.900 + 39 18.0562 40.200 + 40 18.3032 41.600 + 41 18.5617 43.000 + 42 18.8317 44.400 + 43 19.1133 45.800 + 44 19.4066 47.200 + 45 19.7115 48.600 + 46 20.0280 50.000 + 47 20.4034 51.600 + 48 20.7943 53.200 + 49 21.1996 54.800 + 50 21.6194 56.400 + 51 22.1080 58.200 + 52 22.6140 60.000 + 53 23.1945 62.000 + 54 23.7939 64.000 + 55 24.4106 66.000 + 56 25.0437 68.000 + 57 25.6924 70.000 + 58 26.5230 72.500 + 59 27.3756 75.000 + 60 28.2465 77.500 + 61 29.3130 80.500 + 62 30.4014 83.500 + 63 31.6920 87.000 + 64 33.1918 91.000 + 65 34.9052 95.500 + 66 37.4117 102.000 + 67 42.8755 116.000 + 68 47.7710 128.500 + 69 53.0161 142.000 + 70 57.6342 154.000 + 71 62.2076 166.000 + 72 66.9250 178.500 + 73 71.9724 192.000 + 74 77.5329 207.000 + 75 83.9720 224.500 + 76 92.0168 246.500 + 77 116.583 314.000 + 78 120.600 325.000 diff --git a/secop_psi/calcurves/RC550.inp b/secop_psi/calcurves/RC550.inp new file mode 100644 index 0000000..f831069 --- /dev/null +++ b/secop_psi/calcurves/RC550.inp @@ -0,0 +1,104 @@ +#sens=RC550 +#unit=Ohm +#type=Ruox ! Model:RC550 +#curv ! curve follows R[Ohm] T[K] +1445.9959 4.4471 +1463.1306 4.2323 +1480.9575 4.0279 +1499.5083 3.8334 +1518.8161 3.6483 +1538.9161 3.4721 +1559.8453 3.3045 +1581.6428 3.1449 +1604.3498 2.9930 +1628.0101 2.8485 +1652.6695 2.7109 +1678.3770 2.5800 +1705.1839 2.4554 +1733.1450 2.3369 +1762.3180 2.2240 +1792.7641 2.1166 +1824.5483 2.0144 +1857.7393 1.9171 +1892.4102 1.8246 +1928.6386 1.7364 +1966.5069 1.6526 +2006.1024 1.5728 +2047.5184 1.4968 +2090.8538 1.4246 +2136.2139 1.3558 +2183.7111 1.2903 +2233.4648 1.2280 +2285.6024 1.1687 +2340.2600 1.1123 +2397.5825 1.0585 +2457.7250 1.0074 +2520.8527 0.9588 +2587.1427 0.9125 +2656.7841 0.8684 +2729.9793 0.8265 +2806.9450 0.7866 +2887.9135 0.7486 +2973.1335 0.7124 +3062.8720 0.6780 +3157.4153 0.6453 +3257.0711 0.6141 +3362.1695 0.5845 +3473.0657 0.5562 +3590.1416 0.5294 +3713.8082 0.5038 +3844.5080 0.4795 +3982.7178 0.4563 +4128.9515 0.4343 +4283.7635 0.4133 +4447.7522 0.3934 +4621.5637 0.3744 +4805.8961 0.3563 +5001.5042 0.3391 +5209.2046 0.3227 +5429.8811 0.3071 +5664.4910 0.2923 +5914.0717 0.2782 +6179.7479 0.2648 +6462.7401 0.2520 +6764.3730 0.2398 +7086.0858 0.2282 +7429.4423 0.2172 +7796.1434 0.2067 +8188.0396 0.1967 +8607.1457 0.1872 +9055.6564 0.1782 +9535.9635 0.1696 +10050.6758 0.1614 +10602.6394 0.1536 +11194.9617 0.1462 +11831.0369 0.1391 +12514.5745 0.1324 +13249.6307 0.1260 +14040.6432 0.1199 +14892.4692 0.1141 +15810.4284 0.1086 +16800.3490 0.1034 +17868.6202 0.0984 +19022.2489 0.0936 +20268.9232 0.0891 +21617.0824 0.0848 +23075.9940 0.0807 +24655.8396 0.0768 +26367.8096 0.0731 +28224.2072 0.0696 +30238.5650 0.0662 +32425.7720 0.0630 +34802.2158 0.0600 +37385.9384 0.0571 +40196.8090 0.0543 +43256.7154 0.0517 +46589.7737 0.0492 +50222.5622 0.0468 +54184.3772 0.0446 +58507.5166 0.0424 +63227.5921 0.0404 +68383.8730 0.0384 +74019.6647 0.0366 +80182.7251 0.0348 +86925.7225 0.0331 diff --git a/secop_psi/calcurves/RCW575.inp b/secop_psi/calcurves/RCW575.inp new file mode 100644 index 0000000..39cdd23 --- /dev/null +++ b/secop_psi/calcurves/RCW575.inp @@ -0,0 +1,100 @@ +sens=RCW575 +unit=Ohm ! sensor format (mV V Ohm) log formats are choosen automatically +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special Si GaAlAs Pt250 Pt500 Pt2500 RhFe C Cernox RuOx) +form=loglog +curv ! curve (sensor temp/K) follows must be ordered but can be in$ +1000 300 +1196.0677 26.0000 +1197.9099 23.2067 +1200.0980 20.7134 +1202.6877 18.4881 +1205.7424 16.5018 +1209.3334 14.7289 +1213.5411 13.1465 +1218.4554 11.7341 +1224.1767 10.4734 +1230.8169 9.3482 +1238.5000 8.3439 +1247.3630 7.4474 +1257.5571 6.6473 +1269.2482 5.9331 +1282.6180 5.2957 +1297.8652 4.7268 +1315.2055 4.2189 +1334.8733 3.7657 +1357.1224 3.3611 +1382.2261 3.0000 +1386.2 2.9779 +1399.7 2.8638 +1413.2 2.7541 +1422.3 2.6573 +1426.8 2.6059 +1436 2.5144 +1449.9 2.4102 +1464 2.3254 +1473.3 2.2364 +1487.6 2.1507 +1502.1 2.075 +1511.8 2.0217 +1521.5 1.9569 +1531.3 1.8943 +1541.1 1.8337 +1556.1 1.7807 +1581.4 1.6957 +1596.7 1.6149 +1612.2 1.5581 +1633.1 1.4887 +1648.9 1.4224 +1664.9 1.3768 +1686.6 1.324 +1708.5 1.2773 +1719.5 1.2404 +1736.2 1.2007 +1753.1 1.1622 +1770.1 1.1213 +1804.8 1.0643 +1834.1 1.007 +1876.2 0.9589 +1912.8 0.8984 +1956.6 0.8444 +2034.1 0.7707 +2087.4 0.7173 +2163.1 0.6676 +2219.8 0.6234 +2256 0.5975 +2330.3 0.5579 +2414.7 0.5126 +2535.1 0.4662 +2644.2 0.4325 +2793.9 0.382 +2933 0.3452 +3079 0.308 +3285 0.27114 +3483 0.24264 +3656 0.22214 +3838 0.20141 +4069 0.18141 +4328 0.16498 +4471 0.15505 +4694 0.1415 +4928 0.13039 +5123 0.12056 +5292 0.11441 +5485 0.10857 +5629 0.10338 +5758 0.10005 +5948 0.09243 +6211 0.08538 +6486 0.07886 +6772 0.07283 +7069 0.06727 +7378 0.06214 +7699 0.05739 +8032 0.05301 +8378 0.04896 +8736 0.04522 +9107. 0.04177 +9492 0.03858 +9889 0.03563 +10301 0.03291 diff --git a/secop_psi/calcurves/RCW575_fit.inp b/secop_psi/calcurves/RCW575_fit.inp new file mode 100644 index 0000000..3c2eec6 --- /dev/null +++ b/secop_psi/calcurves/RCW575_fit.inp @@ -0,0 +1,107 @@ +sens=RCW575_fit +unit=Ohm ! sensor format (mV V Ohm) log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special Si GaAlAs Pt250 Pt500 Pt2500 RhFe C Cern$ +form=loglog +curv ! curve (sensor temp/K) follows must be ordered but can be in$ +1000 300 +1196.067 26 +1197.321 24.01478 +1198.735 22.18114 +1200.329 20.4875 +1202.121 18.9232 +1204.134 17.47833 +1206.391 16.1437 +1208.916 14.9111 +1211.738 13.7725 +1214.886 12.7209 +1218.393 11.7496 +1222.293 10.8525 +1226.624 10.0239 +1231.426 9.258539 +1236.742 8.55160 +1242.619 7.89865 +1249.107 7.29555 +1256.259 6.73850 +1264.131 6.22399 +1272.785 5.74876 +1282.284 5.30981 +1292.697 4.90439 +1304.097 4.52991 +1316.561 4.18403 +1330.169 3.86456 +1345.009 3.56949 +1361.170 3.29694 +1378.749 3.04520 +1397.845 2.81269 +1418.565 2.59793 +1441.020 2.39956 +1465.324 2.21634 +1491.601 2.04712 +1519.976 1.89081 +1550.583 1.74644 +1583.558 1.61309 +1619.046 1.48992 +1657.196 1.37616 +1698.163 1.27108 +1742.106 1.17403 +1789.194 1.08439 +1839.596 1.00159 +1893.491 0.92511 +1951.062 0.85448 +2012.498 0.78923 +2077.991 0.72897 +2147.742 0.67331 +2221.955 0.62190 +2300.840 0.57441 +2384.611 0.530559 +2473.488 0.49004 +2567.695 0.45263 +2667.461 0.418070 +2773.018 0.38614 +2884.603 0.35666 +3002.457 0.329432 +3126.825 0.30427 +3257.954 0.28104 +3396.096 0.25958 +3541.504 0.239765 +3694.434 0.22145 +3855.145 0.20454 +4023.898 0.18893 +4200.955 0.17450 +4386.579 0.16118 +4581.035 0.14887 +4784.588 0.13750 +4997.503 0.12700 +5220.046 0.11731 +5452.482 0.108352 +5695.076 0.10007 +5948.090 0.09243 +6211.786 0.08538 +6486.424 0.07886 +6772.262 0.07283 +7069.555 0.06727 +7378.555 0.06214 +7699.512 0.05739 +8032.669 0.05301 +8378.269 0.04896 +8736.548 0.04522 +9107.739 0.04177 +9492.069 0.03858 +9889.760 0.03563 +10301.02 0.03291 +10726.08 0.03040 +11165.12 0.02808 +11618.36 0.02593 +12085.97 0.023957 +12568.14 0.02212 +13065.06 0.02043 +13576.87 0.01887 +14103.76 0.01743 +14645.86 0.01610 +15203.32 0.01487 +15776.28 0.01373 +16364.87 0.01269 +16969.19 0.011721 +17589.36 0.01082 +18225.49 0.01 diff --git a/secop_psi/calcurves/RO600A_408.inp b/secop_psi/calcurves/RO600A_408.inp new file mode 100644 index 0000000..8fbaee9 --- /dev/null +++ b/secop_psi/calcurves/RO600A_408.inp @@ -0,0 +1,42 @@ +sens=R0408 +unit=Ohm ! sensor format (mV V Ohm) log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special Si GaAlAs Pt250 Pt500 Pt2500 RhFe C Cern$ +form=loglog +curv ! curve (sensor temp/K) follows must be ordered but can be in$ +1480.0 300 +1488.5 3.20 +1517.2 3.00 +1550.3 2.80 +1587.5 2.60 +1630.2 2.40 +1679.8 2.20 +1739.8 2.00 +1774.8 1.90 +1812.4 1.80 +1854.4 1.70 +1901.5 1.60 +1953.7 1.50 +2011.5 1.40 +2079.3 1.30 +2160.4 1.20 +2256.6 1.10 +2368.1 1.00 +2508.7 0.90 +2679.9 0.80 +2902.2 0.70 +3193.5 0.60 +3602.5 0.50 +3875.1 0.45 +4222.8 0.40 +4629.0 0.35 +5228.7 0.30 +6081.5 0.25 +7398.5 0.20 +9749.7 0.15 +15315. 0.10 +17554 0.09 +20523 0.08 +23723 0.07 +29568 0.06 +37886.0 0.05 diff --git a/secop_psi/calcurves/RX078.340 b/secop_psi/calcurves/RX078.340 new file mode 100644 index 0000000..4887716 --- /dev/null +++ b/secop_psi/calcurves/RX078.340 @@ -0,0 +1,125 @@ +Sensor Model: CX-unknown +Serial Number: RX078 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-05-15 + +No. Units Temperature (K) + + 1 3.43221 2.51858 + 36 3.43222 2.18041 + 37 3.43242 2.16732 + 38 3.43264 2.15381 + 39 3.43288 2.13988 + 40 3.43312 2.12710 + 41 3.43338 2.11394 + 42 3.43367 2.10037 + 43 3.43399 2.08636 + 44 3.43433 2.07188 + 45 3.43471 2.05690 + 46 3.43512 2.04139 + 47 3.43558 2.02531 + 48 3.43601 2.01072 + 49 3.43635 2.00000 + 50 3.43670 1.98900 + 51 3.43707 1.97772 + 52 3.43747 1.96614 + 53 3.43789 1.95424 + 54 3.43835 1.94201 + 55 3.43883 1.92942 + 56 3.43934 1.91645 + 57 3.43989 1.90309 + 58 3.44047 1.88930 + 59 3.44097 1.87795 + 60 3.44149 1.86629 + 61 3.44205 1.85431 + 62 3.44264 1.84198 + 63 3.44326 1.82930 + 64 3.44392 1.81624 + 65 3.44463 1.80277 + 66 3.44538 1.78888 + 67 3.44622 1.77379 + 68 3.44707 1.75891 + 69 3.44799 1.74351 + 70 3.44887 1.72916 + 71 3.44981 1.71433 + 72 3.45082 1.69897 + 73 3.45189 1.68305 + 74 3.45305 1.66652 + 75 3.45429 1.64933 + 76 3.45548 1.63347 + 77 3.45675 1.61700 + 78 3.45820 1.59879 + 79 3.45968 1.58092 + 80 3.46127 1.56229 + 81 3.46288 1.54407 + 82 3.46463 1.52504 + 83 3.46651 1.50515 + 84 3.46842 1.48572 + 85 3.47049 1.46538 + 86 3.47275 1.44404 + 87 3.47502 1.42325 + 88 3.47750 1.40140 + 89 3.48000 1.38021 + 90 3.48271 1.35793 + 91 3.48568 1.33445 + 92 3.48867 1.31175 + 93 3.49102 1.29447 + 94 3.49305 1.27989 + 95 3.49520 1.26482 + 96 3.49748 1.24920 + 97 3.49991 1.23300 + 98 3.50229 1.21748 + 99 3.50482 1.20140 + 100 3.50752 1.18469 + 101 3.51016 1.16879 + 102 3.51297 1.15229 + 103 3.51596 1.13513 + 104 3.51917 1.11727 + 105 3.52229 1.10037 + 106 3.52562 1.08279 + 107 3.52920 1.06446 + 108 3.53264 1.04727 + 109 3.53632 1.02938 + 110 3.54027 1.01072 + 111 3.54452 0.99123 + 112 3.54859 0.97313 + 113 3.55294 0.95424 + 114 3.55762 0.93450 + 115 3.56268 0.91381 + 116 3.56816 0.89209 + 117 3.57335 0.87216 + 118 3.57895 0.85126 + 119 3.58501 0.82930 + 120 3.59160 0.80618 + 121 3.59879 0.78176 + 122 3.60575 0.75891 + 123 3.61307 0.73560 + 124 3.62105 0.71096 + 125 3.62919 0.68664 + 126 3.63808 0.66087 + 127 3.64713 0.63548 + 128 3.65705 0.60853 + 129 3.66541 0.58659 + 130 3.67302 0.56703 + 131 3.68118 0.54654 + 132 3.68943 0.52634 + 133 3.69830 0.50515 + 134 3.70787 0.48287 + 135 3.71759 0.46090 + 136 3.72809 0.43775 + 137 3.73874 0.41497 + 138 3.75027 0.39094 + 139 3.76193 0.36736 + 140 3.77457 0.34242 + 141 3.78836 0.31597 + 142 3.80223 0.29003 + 143 3.81730 0.26245 + 144 3.83377 0.23300 + 145 3.85017 0.20412 + 146 3.86616 0.17609 + 147 3.88234 0.14922 + 148 3.88443 0.14613 + 149 3.92781 0.07968 diff --git a/secop_psi/calcurves/RX078_HIGH.340 b/secop_psi/calcurves/RX078_HIGH.340 new file mode 100644 index 0000000..4887716 --- /dev/null +++ b/secop_psi/calcurves/RX078_HIGH.340 @@ -0,0 +1,125 @@ +Sensor Model: CX-unknown +Serial Number: RX078 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-05-15 + +No. Units Temperature (K) + + 1 3.43221 2.51858 + 36 3.43222 2.18041 + 37 3.43242 2.16732 + 38 3.43264 2.15381 + 39 3.43288 2.13988 + 40 3.43312 2.12710 + 41 3.43338 2.11394 + 42 3.43367 2.10037 + 43 3.43399 2.08636 + 44 3.43433 2.07188 + 45 3.43471 2.05690 + 46 3.43512 2.04139 + 47 3.43558 2.02531 + 48 3.43601 2.01072 + 49 3.43635 2.00000 + 50 3.43670 1.98900 + 51 3.43707 1.97772 + 52 3.43747 1.96614 + 53 3.43789 1.95424 + 54 3.43835 1.94201 + 55 3.43883 1.92942 + 56 3.43934 1.91645 + 57 3.43989 1.90309 + 58 3.44047 1.88930 + 59 3.44097 1.87795 + 60 3.44149 1.86629 + 61 3.44205 1.85431 + 62 3.44264 1.84198 + 63 3.44326 1.82930 + 64 3.44392 1.81624 + 65 3.44463 1.80277 + 66 3.44538 1.78888 + 67 3.44622 1.77379 + 68 3.44707 1.75891 + 69 3.44799 1.74351 + 70 3.44887 1.72916 + 71 3.44981 1.71433 + 72 3.45082 1.69897 + 73 3.45189 1.68305 + 74 3.45305 1.66652 + 75 3.45429 1.64933 + 76 3.45548 1.63347 + 77 3.45675 1.61700 + 78 3.45820 1.59879 + 79 3.45968 1.58092 + 80 3.46127 1.56229 + 81 3.46288 1.54407 + 82 3.46463 1.52504 + 83 3.46651 1.50515 + 84 3.46842 1.48572 + 85 3.47049 1.46538 + 86 3.47275 1.44404 + 87 3.47502 1.42325 + 88 3.47750 1.40140 + 89 3.48000 1.38021 + 90 3.48271 1.35793 + 91 3.48568 1.33445 + 92 3.48867 1.31175 + 93 3.49102 1.29447 + 94 3.49305 1.27989 + 95 3.49520 1.26482 + 96 3.49748 1.24920 + 97 3.49991 1.23300 + 98 3.50229 1.21748 + 99 3.50482 1.20140 + 100 3.50752 1.18469 + 101 3.51016 1.16879 + 102 3.51297 1.15229 + 103 3.51596 1.13513 + 104 3.51917 1.11727 + 105 3.52229 1.10037 + 106 3.52562 1.08279 + 107 3.52920 1.06446 + 108 3.53264 1.04727 + 109 3.53632 1.02938 + 110 3.54027 1.01072 + 111 3.54452 0.99123 + 112 3.54859 0.97313 + 113 3.55294 0.95424 + 114 3.55762 0.93450 + 115 3.56268 0.91381 + 116 3.56816 0.89209 + 117 3.57335 0.87216 + 118 3.57895 0.85126 + 119 3.58501 0.82930 + 120 3.59160 0.80618 + 121 3.59879 0.78176 + 122 3.60575 0.75891 + 123 3.61307 0.73560 + 124 3.62105 0.71096 + 125 3.62919 0.68664 + 126 3.63808 0.66087 + 127 3.64713 0.63548 + 128 3.65705 0.60853 + 129 3.66541 0.58659 + 130 3.67302 0.56703 + 131 3.68118 0.54654 + 132 3.68943 0.52634 + 133 3.69830 0.50515 + 134 3.70787 0.48287 + 135 3.71759 0.46090 + 136 3.72809 0.43775 + 137 3.73874 0.41497 + 138 3.75027 0.39094 + 139 3.76193 0.36736 + 140 3.77457 0.34242 + 141 3.78836 0.31597 + 142 3.80223 0.29003 + 143 3.81730 0.26245 + 144 3.83377 0.23300 + 145 3.85017 0.20412 + 146 3.86616 0.17609 + 147 3.88234 0.14922 + 148 3.88443 0.14613 + 149 3.92781 0.07968 diff --git a/secop_psi/calcurves/RuO2392.inp b/secop_psi/calcurves/RuO2392.inp new file mode 100644 index 0000000..60c31d0 --- /dev/null +++ b/secop_psi/calcurves/RuO2392.inp @@ -0,0 +1,60 @@ +#sens=RuO2392 +#unit=Ohm +#type=Special Model:RuO2392 +#curv ! Curve follows R[Ohm] T[K] +1373.8 4.369 +1400.6 4.045 +1427.4 3.759 +1454.5 3.51 +1482 3.289 +1509.4 3.089 +1535.2 2.927 +1593.3 2.605 +1650.1 2.349 +1707.2 2.135 +1764.8 1.956 +1824 1.804 +1882.2 1.673 +1941.3 1.56 +1999.8 1.459 +2084.2 1.328 +2176.2 1.222 +2265.9 1.128 +2355.3 1.047 +2445.7 0.977 +2533.5 0.917 +2656.7 0.844 +2773.5 0.784 +2957.3 0.706 +3143.1 0.642 +3329.5 0.589 +3581.9 0.529 +3842.7 0.481 +4181.2 0.432 +4533.3 0.393 +512.4 0.337 +5708.4 0.3 +6063.7 0.28 +7338.8 0.222 +8057.2 0.202 +8765.7 0.185 +9486.1 0.171 +10255 0.159 +10998 0.149 +12514 0.133 +14842 0.118 +15772 0.109 +19200 0.093 +21161 0.087 +23163 0.082 +24916 0.078 +28421 0.071 +33467 0.065 +40298 0.059 +48260 0.054 +56358 0.05 +68461 0.046 +84969 0.043 +94612 0.042 +124595 0.039 +157821 0.037 \ No newline at end of file diff --git a/secop_psi/calcurves/U02045.340 b/secop_psi/calcurves/U02045.340 new file mode 100644 index 0000000..81465be --- /dev/null +++ b/secop_psi/calcurves/U02045.340 @@ -0,0 +1,157 @@ +Sensor Model: RX-102A-AA-0.05B +Serial Number: U02045 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 40.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 3.02337 40.000 + 2 3.02389 38.800 + 3 3.02440 37.700 + 4 3.02493 36.600 + 5 3.02550 35.500 + 6 3.02610 34.400 + 7 3.02667 33.400 + 8 3.02729 32.400 + 9 3.02793 31.400 + 10 3.02862 30.400 + 11 3.02935 29.400 + 12 3.03014 28.400 + 13 3.03089 27.500 + 14 3.03168 26.600 + 15 3.03253 25.700 + 16 3.03344 24.800 + 17 3.03441 23.900 + 18 3.03545 23.000 + 19 3.03657 22.100 + 20 3.03764 21.300 + 21 3.03879 20.500 + 22 3.03979 19.850 + 23 3.04060 19.350 + 24 3.04145 18.850 + 25 3.04234 18.350 + 26 3.04328 17.850 + 27 3.04417 17.400 + 28 3.04511 16.950 + 29 3.04609 16.500 + 30 3.04713 16.050 + 31 3.04822 15.600 + 32 3.04937 15.150 + 33 3.05060 14.700 + 34 3.05189 14.250 + 35 3.05326 13.800 + 36 3.05455 13.400 + 37 3.05591 13.000 + 38 3.05735 12.600 + 39 3.05887 12.200 + 40 3.06048 11.800 + 41 3.06220 11.400 + 42 3.06402 11.000 + 43 3.06597 10.600 + 44 3.06780 10.250 + 45 3.06974 9.900 + 46 3.07181 9.550 + 47 3.07404 9.200 + 48 3.07645 8.850 + 49 3.07904 8.500 + 50 3.08180 8.150 + 51 3.08473 7.800 + 52 3.08741 7.500 + 53 3.09029 7.200 + 54 3.09343 6.900 + 55 3.09686 6.600 + 56 3.10056 6.300 + 57 3.10510 5.960 + 58 3.10917 5.680 + 59 3.11329 5.420 + 60 3.11776 5.160 + 61 3.12264 4.900 + 62 3.12798 4.640 + 63 3.13384 4.380 + 64 3.13980 4.140 + 65 3.14523 3.940 + 66 3.15020 3.770 + 67 3.15522 3.610 + 68 3.16061 3.450 + 69 3.16643 3.290 + 70 3.17231 3.140 + 71 3.17866 2.990 + 72 3.18555 2.840 + 73 3.19253 2.700 + 74 3.20010 2.560 + 75 3.20837 2.420 + 76 3.21677 2.290 + 77 3.22593 2.160 + 78 3.23598 2.030 + 79 3.24620 1.910 + 80 3.25742 1.790 + 81 3.26985 1.670 + 82 3.28252 1.560 + 83 3.29659 1.450 + 84 3.31240 1.340 + 85 3.32857 1.240 + 86 3.33932 1.180 + 87 3.34685 1.140 + 88 3.35478 1.100 + 89 3.36313 1.060 + 90 3.37196 1.020 + 91 3.38017 0.985 + 92 3.38891 0.950 + 93 3.39831 0.915 + 94 3.40972 0.875 + 95 3.42324 0.830 + 96 3.43594 0.790 + 97 3.44784 0.755 + 98 3.46060 0.720 + 99 3.47431 0.685 +100 3.48903 0.650 +101 3.50262 0.620 +102 3.51715 0.590 +103 3.53283 0.560 +104 3.54979 0.530 +105 3.56508 0.505 +106 3.57877 0.484 +107 3.59265 0.464 +108 3.60742 0.444 +109 3.62319 0.424 +110 3.63834 0.406 +111 3.65444 0.388 +112 3.67164 0.370 +113 3.69002 0.352 +114 3.70973 0.334 +115 3.73090 0.316 +116 3.75373 0.298 +117 3.77556 0.282 +118 3.79901 0.266 +119 3.82432 0.250 +120 3.84999 0.235 +121 3.87778 0.220 +122 3.90605 0.206 +123 3.93464 0.193 +124 3.96593 0.180 +125 3.99782 0.168 +126 4.03015 0.157 +127 4.06607 0.146 +128 4.10281 0.136 +129 4.14417 0.126 +130 4.19140 0.116 +131 4.24001 0.107 +132 4.30410 0.097 +133 4.38027 0.086 +134 4.46521 0.075 +135 4.53922 0.066 +136 4.60547 0.060 +137 4.67495 0.054 +138 4.73607 0.050 +139 4.7557 0.048093007 +140 4.814933133 0.04394173 +141 4.864933133 0.041142987 +142 4.914933133 0.038589535 +143 4.964933133 0.036256857 +144 5.014933132 0.034123262 +145 5.064933133 0.032169514 +146 5.114933133 0.030378517 +147 5.164933133 0.028735054 +148 5.214933132 0.027225553 diff --git a/secop_psi/calcurves/U02269.340 b/secop_psi/calcurves/U02269.340 new file mode 100644 index 0000000..bfb8ecf --- /dev/null +++ b/secop_psi/calcurves/U02269.340 @@ -0,0 +1,140 @@ +Sensor Model: RX-202A-AA-0.05B +Serial Number: U02269 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 40.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 131 + +No. Units Temperature (K) + + 1 3.34181 40.000 + 2 3.34298 38.600 + 3 3.34411 37.300 + 4 3.34531 36.000 + 5 3.34646 34.800 + 6 3.34767 33.600 + 7 3.34894 32.400 + 8 3.35028 31.200 + 9 3.35168 30.000 + 10 3.35316 28.800 + 11 3.35460 27.700 + 12 3.35611 26.600 + 13 3.35770 25.500 + 14 3.35939 24.400 + 15 3.36102 23.400 + 16 3.36274 22.400 + 17 3.36457 21.400 + 18 3.36651 20.400 + 19 3.36795 19.700 + 20 3.36913 19.150 + 21 3.37035 18.600 + 22 3.37162 18.050 + 23 3.37294 17.500 + 24 3.37432 16.950 + 25 3.37576 16.400 + 26 3.37727 15.850 + 27 3.37885 15.300 + 28 3.38050 14.750 + 29 3.38207 14.250 + 30 3.38372 13.750 + 31 3.38545 13.250 + 32 3.38726 12.750 + 33 3.38917 12.250 + 34 3.39118 11.750 + 35 3.39309 11.300 + 36 3.39510 10.850 + 37 3.39721 10.400 + 38 3.39945 9.950 + 39 3.40155 9.550 + 40 3.40377 9.150 + 41 3.40612 8.750 + 42 3.40862 8.350 + 43 3.41129 7.950 + 44 3.41380 7.600 + 45 3.41647 7.250 + 46 3.41934 6.900 + 47 3.42243 6.550 + 48 3.42575 6.200 + 49 3.42923 5.860 + 50 3.43257 5.560 + 51 3.43594 5.280 + 52 3.43960 5.000 + 53 3.44357 4.720 + 54 3.44761 4.460 + 55 3.45201 4.200 + 56 3.45609 3.980 + 57 3.45968 3.800 + 58 3.46333 3.630 + 59 3.46701 3.470 + 60 3.47096 3.310 + 61 3.47522 3.150 + 62 3.47953 3.000 + 63 3.48419 2.850 + 64 3.48924 2.700 + 65 3.49437 2.560 + 66 3.49995 2.420 + 67 3.50606 2.280 + 68 3.51228 2.150 + 69 3.51911 2.020 + 70 3.52606 1.900 + 71 3.53371 1.780 + 72 3.54221 1.660 + 73 3.55092 1.550 + 74 3.55972 1.450 + 75 3.56952 1.350 + 76 3.58056 1.250 + 77 3.58862 1.185 + 78 3.59388 1.145 + 79 3.59942 1.105 + 80 3.60527 1.065 + 81 3.61146 1.025 + 82 3.61801 0.985 + 83 3.62493 0.945 + 84 3.63227 0.905 + 85 3.63911 0.870 + 86 3.64639 0.835 + 87 3.65419 0.800 + 88 3.66254 0.765 + 89 3.67149 0.730 + 90 3.68112 0.695 + 91 3.69154 0.660 + 92 3.70120 0.630 + 93 3.71156 0.600 + 94 3.72276 0.570 + 95 3.73491 0.540 + 96 3.74811 0.510 + 97 3.75862 0.488 + 98 3.76876 0.468 + 99 3.77956 0.448 +100 3.78994 0.430 +101 3.80095 0.412 +102 3.81269 0.394 +103 3.82525 0.376 +104 3.83872 0.358 +105 3.85158 0.342 +106 3.86532 0.326 +107 3.88011 0.310 +108 3.89607 0.294 +109 3.91227 0.279 +110 3.92984 0.264 +111 3.94769 0.250 +112 3.96712 0.236 +113 3.98688 0.223 +114 4.00845 0.210 +115 4.03222 0.197 +116 4.05642 0.185 +117 4.08304 0.173 +118 4.11252 0.161 +119 4.14526 0.149 +120 4.17870 0.138 +121 4.21589 0.127 +122 4.25395 0.117 +123 4.29251 0.108 +124 4.33651 0.099 +125 4.38195 0.091 +126 4.43175 0.084 +127 4.49021 0.076 +128 4.56714 0.068 +129 4.66036 0.059 +130 4.74977 0.051 +131 4.76410 0.050 diff --git a/secop_psi/calcurves/U02272.340 b/secop_psi/calcurves/U02272.340 new file mode 100644 index 0000000..f2cea18 --- /dev/null +++ b/secop_psi/calcurves/U02272.340 @@ -0,0 +1,139 @@ +Sensor Model: RX-202A-AA-0.05B +Serial Number: U02272 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 40.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 130 + +No. Units Temperature (K) + + 1 3.34813 40.000 + 2 3.34933 38.600 + 3 3.35050 37.300 + 4 3.35172 36.000 + 5 3.35300 34.700 + 6 3.35425 33.500 + 7 3.35555 32.300 + 8 3.35692 31.100 + 9 3.35836 29.900 + 10 3.35988 28.700 + 11 3.36135 27.600 + 12 3.36290 26.500 + 13 3.36453 25.400 + 14 3.36627 24.300 + 15 3.36793 23.300 + 16 3.36969 22.300 + 17 3.37156 21.300 + 18 3.37355 20.300 + 19 3.37502 19.600 + 20 3.37633 19.000 + 21 3.37770 18.400 + 22 3.37913 17.800 + 23 3.38049 17.250 + 24 3.38192 16.700 + 25 3.38340 16.150 + 26 3.38495 15.600 + 27 3.38657 15.050 + 28 3.38812 14.550 + 29 3.38973 14.050 + 30 3.39142 13.550 + 31 3.39320 13.050 + 32 3.39506 12.550 + 33 3.39703 12.050 + 34 3.39889 11.600 + 35 3.40085 11.150 + 36 3.40291 10.700 + 37 3.40509 10.250 + 38 3.40740 9.800 + 39 3.40957 9.400 + 40 3.41187 9.000 + 41 3.41430 8.600 + 42 3.41689 8.200 + 43 3.41966 7.800 + 44 3.42224 7.450 + 45 3.42501 7.100 + 46 3.42798 6.750 + 47 3.43072 6.450 + 48 3.43365 6.150 + 49 3.43691 5.840 + 50 3.44032 5.540 + 51 3.44400 5.240 + 52 3.44774 4.960 + 53 3.45180 4.680 + 54 3.45592 4.420 + 55 3.46043 4.160 + 56 3.46441 3.950 + 57 3.46787 3.780 + 58 3.47157 3.610 + 59 3.47556 3.440 + 60 3.47960 3.280 + 61 3.48395 3.120 + 62 3.48837 2.970 + 63 3.49313 2.820 + 64 3.49831 2.670 + 65 3.50358 2.530 + 66 3.50930 2.390 + 67 3.51511 2.260 + 68 3.52145 2.130 + 69 3.52842 2.000 + 70 3.53552 1.880 + 71 3.54333 1.760 + 72 3.55202 1.640 + 73 3.56090 1.530 + 74 3.56989 1.430 + 75 3.57990 1.330 + 76 3.59118 1.230 + 77 3.59878 1.170 + 78 3.60413 1.130 + 79 3.60978 1.090 + 80 3.61576 1.050 + 81 3.62210 1.010 + 82 3.62882 0.970 + 83 3.63596 0.930 + 84 3.64354 0.890 + 85 3.65161 0.850 + 86 3.65914 0.815 + 87 3.66716 0.780 + 88 3.67579 0.745 + 89 3.68510 0.710 + 90 3.69515 0.675 + 91 3.70443 0.645 + 92 3.71438 0.615 + 93 3.72510 0.585 + 94 3.73668 0.555 + 95 3.74925 0.525 + 96 3.75830 0.505 + 97 3.76732 0.486 + 98 3.77742 0.466 + 99 3.78817 0.446 +100 3.79965 0.426 +101 3.81069 0.408 +102 3.82242 0.390 +103 3.83497 0.372 +104 3.84843 0.354 +105 3.86127 0.338 +106 3.87499 0.322 +107 3.88976 0.306 +108 3.90469 0.291 +109 3.92079 0.276 +110 3.93828 0.261 +111 3.95605 0.247 +112 3.97542 0.233 +113 3.99512 0.220 +114 4.01665 0.207 +115 4.04039 0.194 +116 4.06457 0.182 +117 4.09117 0.170 +118 4.12063 0.158 +119 4.15335 0.146 +120 4.18676 0.135 +121 4.22397 0.124 +122 4.26214 0.114 +123 4.30092 0.105 +124 4.34284 0.097 +125 4.38858 0.089 +126 4.43895 0.081 +127 4.50188 0.073 +128 4.58398 0.064 +129 4.67663 0.055 +130 4.73532 0.050 diff --git a/secop_psi/calcurves/UMEN102.340 b/secop_psi/calcurves/UMEN102.340 new file mode 100644 index 0000000..874cdb5 --- /dev/null +++ b/secop_psi/calcurves/UMEN102.340 @@ -0,0 +1,126 @@ +Sensor Model: RX-102A-AA-0.05D-0.05B +Serial Number: UMEN102 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 40. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 104 +Extrapolated: 2018-10-18 M.Zolliker + +No. Units Temperature (K) + +1 2.99577 330 +2 2.99634 295 +3 2.9988 200 +4 3.00125 150 +5 3.00312 125 +6 3.00581 100 +7 3.00893 80 +8 3.01101 70 +9 3.01359 60 +10 3.01511 55 +11 3.01681 50 +12 3.01871 45 +13 3.02081 40 +14 3.02133 38.8 +15 3.02184 37.7 +16 3.02237 36.6 +17 3.02294 35.5 +18 3.02353 34.4 +19 3.02411 33.4 +20 3.02472 32.4 +21 3.02537 31.4 +22 3.02605 30.4 +23 3.02679 29.4 +24 3.02749 28.5 +25 3.02823 27.6 +26 3.02903 26.7 +27 3.02988 25.8 +28 3.03078 24.9 +29 3.03176 24 +30 3.0328 23.1 +31 3.03393 22.2 +32 3.035 21.4 +33 3.03615 20.6 +34 3.03716 19.95 +35 3.03797 19.45 +36 3.03882 18.95 +37 3.03971 18.45 +38 3.04065 17.95 +39 3.04164 17.45 +40 3.04258 17 +41 3.04357 16.55 +42 3.0446 16.1 +43 3.04569 15.65 +44 3.04685 15.2 +45 3.04807 14.75 +46 3.04936 14.3 +47 3.05058 13.9 +48 3.05186 13.5 +49 3.05322 13.1 +50 3.05466 12.7 +51 3.05618 12.3 +52 3.0578 11.9 +53 3.05952 11.5 +54 3.06135 11.1 +55 3.0633 10.7 +56 3.06537 10.3 +57 3.0676 9.9 +58 3.06968 9.55 +59 3.0719 9.2 +60 3.07428 8.85 +61 3.07685 8.5 +62 3.07922 8.2 +63 3.08175 7.9 +64 3.08447 7.6 +65 3.08786 7.25 +66 3.0915 6.9 +67 3.09485 6.6 +68 3.09791 6.35 +69 3.10191 6.05 +70 3.10638 5.74 +71 3.11078 5.46 +72 3.11558 5.18 +73 3.12085 4.9 +74 3.12622 4.64 +75 3.13211 4.38 +76 3.13861 4.12 +77 3.14411 3.92 +78 3.14913 3.75 +79 3.15454 3.58 +80 3.16002 3.42 +81 3.16593 3.26 +82 3.17191 3.11 +83 3.17838 2.96 +84 3.1854 2.81 +85 3.19253 2.67 +86 3.20027 2.53 +87 3.20875 2.39 +88 3.21736 2.26 +89 3.22675 2.13 +90 3.23707 2 +91 3.24842 1.87 +92 3.26 1.75 +93 3.27169 1.64 +94 3.28462 1.53 +95 3.29779 1.43 +96 3.31256 1.33 +97 3.32938 1.23 +98 3.34846 1.13 +99 3.37196 1.02 +100 3.3922 0.935 +101 3.41621 0.85 +102 3.44351 0.765 +103 3.47148 0.69 +104 3.5042 0.615 +105 3.54057 0.545 +106 3.58493 0.474 +107 3.63222 0.412 +108 3.68615 0.354 +109 3.75456 0.295 +110 3.82865 0.245 +111 3.91348 0.201 +112 4.01514 0.162 +113 4.14432 0.127 +114 4.34126 0.091 +115 4.54568 0.066 +116 4.79803 0.05 diff --git a/secop_psi/calcurves/X09941.340 b/secop_psi/calcurves/X09941.340 new file mode 100644 index 0000000..514f8a2 --- /dev/null +++ b/secop_psi/calcurves/X09941.340 @@ -0,0 +1,144 @@ +Sensor Model: CX-1070-AA-4L +Serial Number: X09941 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 135 + +No. Units Temperature (K) + + 1 1.94632 325.000 + 2 1.95541 319.000 + 3 1.96393 313.500 + 4 1.97264 308.000 + 5 1.98155 302.500 + 6 1.99067 297.000 + 7 2.00001 291.500 + 8 2.00957 286.000 + 9 2.01847 281.000 + 10 2.02755 276.000 + 11 2.03685 271.000 + 12 2.04636 266.000 + 13 2.05608 261.000 + 14 2.06603 256.000 + 15 2.07622 251.000 + 16 2.08665 246.000 + 17 2.09733 241.000 + 18 2.10827 236.000 + 19 2.11949 231.000 + 20 2.13099 226.000 + 21 2.14278 221.000 + 22 2.15488 216.000 + 23 2.16730 211.000 + 24 2.18005 206.000 + 25 2.19183 201.500 + 26 2.20389 197.000 + 27 2.21627 192.500 + 28 2.22896 188.000 + 29 2.24199 183.500 + 30 2.25537 179.000 + 31 2.26912 174.500 + 32 2.28325 170.000 + 33 2.29778 165.500 + 34 2.31275 161.000 + 35 2.32816 156.500 + 36 2.34227 152.500 + 37 2.35675 148.500 + 38 2.37166 144.500 + 39 2.38701 140.500 + 40 2.40282 136.500 + 41 2.41911 132.500 + 42 2.43593 128.500 + 43 2.45329 124.500 + 44 2.47123 120.500 + 45 2.48746 117.000 + 46 2.50417 113.500 + 47 2.52142 110.000 + 48 2.53924 106.500 + 49 2.55767 103.000 + 50 2.57127 100.500 + 51 2.58519 98.000 + 52 2.59949 95.500 + 53 2.61418 93.000 + 54 2.62929 90.500 + 55 2.64485 88.000 + 56 2.65764 86.000 + 57 2.67073 84.000 + 58 2.68415 82.000 + 59 2.69792 80.000 + 60 2.71206 78.000 + 61 2.72659 76.000 + 62 2.74152 74.000 + 63 2.75688 72.000 + 64 2.77270 70.000 + 65 2.78901 68.000 + 66 2.80583 66.000 + 67 2.82321 64.000 + 68 2.84117 62.000 + 69 2.85975 60.000 + 70 2.87705 58.200 + 71 2.89493 56.400 + 72 2.91343 54.600 + 73 2.93259 52.800 + 74 2.95246 51.000 + 75 2.97078 49.400 + 76 2.98972 47.800 + 77 3.00937 46.200 + 78 3.02975 44.600 + 79 3.05093 43.000 + 80 3.07298 41.400 + 81 3.09597 39.800 + 82 3.11843 38.300 + 83 3.14187 36.800 + 84 3.16471 35.400 + 85 3.18853 34.000 + 86 3.21344 32.600 + 87 3.23765 31.300 + 88 3.26295 30.000 + 89 3.28949 28.700 + 90 3.31521 27.500 + 91 3.34216 26.300 + 92 3.37053 25.100 + 93 3.39792 24.000 + 94 3.42670 22.900 + 95 3.45714 21.800 + 96 3.48640 20.800 + 97 3.50794 20.100 + 98 3.52702 19.500 + 99 3.54682 18.900 +100 3.56737 18.300 +101 3.58874 17.700 +102 3.61099 17.100 +103 3.63420 16.500 +104 3.65641 15.950 +105 3.67954 15.400 +106 3.70373 14.850 +107 3.72904 14.300 +108 3.75315 13.800 +109 3.77835 13.300 +110 3.80479 12.800 +111 3.83258 12.300 +112 3.85889 11.850 +113 3.88649 11.400 +114 3.91557 10.950 +115 3.94626 10.500 +116 3.97876 10.050 +117 4.00937 9.650 +118 4.04171 9.250 +119 4.07602 8.850 +120 4.11255 8.450 +121 4.15158 8.050 +122 4.18810 7.700 +123 4.22697 7.350 +124 4.26863 7.000 +125 4.31339 6.650 +126 4.36173 6.300 +127 4.41577 5.940 +128 4.46466 5.640 +129 4.51751 5.340 +130 4.57110 5.060 +131 4.62921 4.780 +132 4.69270 4.500 +133 4.75738 4.240 +134 4.81715 4.020 +135 4.82317 4.000 diff --git a/secop_psi/calcurves/X10045.340 b/secop_psi/calcurves/X10045.340 new file mode 100644 index 0000000..acc93c4 --- /dev/null +++ b/secop_psi/calcurves/X10045.340 @@ -0,0 +1,139 @@ +Sensor Model: CX-1070-AA-4L +Serial Number: X10045 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 130 + +No. Units Temperature (K) + + 1 1.76022 325.000 + 2 1.76831 319.000 + 3 1.77589 313.500 + 4 1.78364 308.000 + 5 1.79157 302.500 + 6 1.79968 297.000 + 7 1.80798 291.500 + 8 1.81648 286.000 + 9 1.82519 280.500 + 10 1.83329 275.500 + 11 1.84156 270.500 + 12 1.85002 265.500 + 13 1.85868 260.500 + 14 1.86754 255.500 + 15 1.87660 250.500 + 16 1.88587 245.500 + 17 1.89537 240.500 + 18 1.90509 235.500 + 19 1.91505 230.500 + 20 1.92526 225.500 + 21 1.93572 220.500 + 22 1.94645 215.500 + 23 1.95745 210.500 + 24 1.96873 205.500 + 25 1.98031 200.500 + 26 1.99220 195.500 + 27 2.00318 191.000 + 28 2.01443 186.500 + 29 2.02596 182.000 + 30 2.03778 177.500 + 31 2.04991 173.000 + 32 2.06235 168.500 + 33 2.07514 164.000 + 34 2.08827 159.500 + 35 2.10177 155.000 + 36 2.11565 150.500 + 37 2.12995 146.000 + 38 2.14467 141.500 + 39 2.15814 137.500 + 40 2.17198 133.500 + 41 2.18622 129.500 + 42 2.20088 125.500 + 43 2.21598 121.500 + 44 2.23155 117.500 + 45 2.24762 113.500 + 46 2.26423 109.500 + 47 2.27925 106.000 + 48 2.29470 102.500 + 49 2.30837 99.500 + 50 2.32004 97.000 + 51 2.33198 94.500 + 52 2.34423 92.000 + 53 2.35678 89.500 + 54 2.36967 87.000 + 55 2.38291 84.500 + 56 2.39653 82.000 + 57 2.41053 79.500 + 58 2.42206 77.500 + 59 2.43384 75.500 + 60 2.44593 73.500 + 61 2.45833 71.500 + 62 2.47107 69.500 + 63 2.48415 67.500 + 64 2.49761 65.500 + 65 2.51146 63.500 + 66 2.52574 61.500 + 67 2.54120 59.400 + 68 2.55488 57.600 + 69 2.56897 55.800 + 70 2.58350 54.000 + 71 2.59850 52.200 + 72 2.61400 50.400 + 73 2.63003 48.600 + 74 2.64664 46.800 + 75 2.66387 45.000 + 76 2.67976 43.400 + 77 2.69620 41.800 + 78 2.71326 40.200 + 79 2.72984 38.700 + 80 2.74705 37.200 + 81 2.76493 35.700 + 82 2.78353 34.200 + 83 2.80293 32.700 + 84 2.82183 31.300 + 85 2.84152 29.900 + 86 2.86212 28.500 + 87 2.88215 27.200 + 88 2.90308 25.900 + 89 2.92506 24.600 + 90 2.94635 23.400 + 91 2.96683 22.300 + 92 2.98840 21.200 + 93 3.01110 20.100 + 94 3.01656 19.850 + 95 3.02738 19.350 + 96 3.04197 18.700 + 97 3.05709 18.050 + 98 3.07279 17.400 + 99 3.08784 16.800 +100 3.10346 16.200 +101 3.11971 15.600 +102 3.13664 15.000 +103 3.15283 14.450 +104 3.16969 13.900 +105 3.18731 13.350 +106 3.20576 12.800 +107 3.22334 12.300 +108 3.24172 11.800 +109 3.26104 11.300 +110 3.28137 10.800 +111 3.30066 10.350 +112 3.32095 9.900 +113 3.34239 9.450 +114 3.36255 9.050 +115 3.38379 8.650 +116 3.40632 8.250 +117 3.43026 7.850 +118 3.45581 7.450 +119 3.47972 7.100 +120 3.50516 6.750 +121 3.53242 6.400 +122 3.56174 6.050 +123 3.59156 5.720 +124 3.62280 5.400 +125 3.65448 5.100 +126 3.68879 4.800 +127 3.72365 4.520 +128 3.75880 4.260 +129 3.79405 4.020 +130 3.79734 4.000 diff --git a/secop_psi/calcurves/X10051.340 b/secop_psi/calcurves/X10051.340 new file mode 100644 index 0000000..bbc4535 --- /dev/null +++ b/secop_psi/calcurves/X10051.340 @@ -0,0 +1,139 @@ +Sensor Model: CX-1070-AA-4L +Serial Number: X10051 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 130 + +No. Units Temperature (K) + + 1 1.76512 325.000 + 2 1.77317 319.000 + 3 1.78071 313.500 + 4 1.78843 308.000 + 5 1.79634 302.500 + 6 1.80442 297.000 + 7 1.81270 291.500 + 8 1.82118 286.000 + 9 1.82907 281.000 + 10 1.83713 276.000 + 11 1.84538 271.000 + 12 1.85381 266.000 + 13 1.86244 261.000 + 14 1.87126 256.000 + 15 1.88030 251.000 + 16 1.88954 246.000 + 17 1.89901 241.000 + 18 1.90871 236.000 + 19 1.91864 231.000 + 20 1.92883 226.000 + 21 1.93926 221.000 + 22 1.94996 216.000 + 23 1.96093 211.000 + 24 1.97219 206.000 + 25 1.98375 201.000 + 26 1.99561 196.000 + 27 2.00657 191.500 + 28 2.01779 187.000 + 29 2.02929 182.500 + 30 2.04109 178.000 + 31 2.05319 173.500 + 32 2.06562 169.000 + 33 2.07837 164.500 + 34 2.09148 160.000 + 35 2.10495 155.500 + 36 2.11881 151.000 + 37 2.13308 146.500 + 38 2.14777 142.000 + 39 2.16122 138.000 + 40 2.17503 134.000 + 41 2.18924 130.000 + 42 2.20386 126.000 + 43 2.21893 122.000 + 44 2.23446 118.000 + 45 2.25049 114.000 + 46 2.26705 110.000 + 47 2.28202 106.500 + 48 2.29744 103.000 + 49 2.31106 100.000 + 50 2.32270 97.500 + 51 2.33461 95.000 + 52 2.34682 92.500 + 53 2.35934 90.000 + 54 2.37219 87.500 + 55 2.38539 85.000 + 56 2.39895 82.500 + 57 2.41291 80.000 + 58 2.42728 77.500 + 59 2.43912 75.500 + 60 2.45123 73.500 + 61 2.46366 71.500 + 62 2.47642 69.500 + 63 2.48954 67.500 + 64 2.50302 65.500 + 65 2.51691 63.500 + 66 2.53121 61.500 + 67 2.54671 59.400 + 68 2.56042 57.600 + 69 2.57454 55.800 + 70 2.58910 54.000 + 71 2.60413 52.200 + 72 2.61967 50.400 + 73 2.63573 48.600 + 74 2.65238 46.800 + 75 2.66965 45.000 + 76 2.68557 43.400 + 77 2.70205 41.800 + 78 2.71914 40.200 + 79 2.73577 38.700 + 80 2.75301 37.200 + 81 2.77094 35.700 + 82 2.78959 34.200 + 83 2.80905 32.700 + 84 2.82799 31.300 + 85 2.84775 29.900 + 86 2.86841 28.500 + 87 2.88850 27.200 + 88 2.90949 25.900 + 89 2.93154 24.600 + 90 2.95288 23.400 + 91 2.97342 22.300 + 92 2.99504 21.200 + 93 3.01780 20.100 + 94 3.02327 19.850 + 95 3.03412 19.350 + 96 3.04875 18.700 + 97 3.06391 18.050 + 98 3.07965 17.400 + 99 3.09474 16.800 +100 3.11040 16.200 +101 3.12669 15.600 +102 3.14367 15.000 +103 3.15991 14.450 +104 3.17681 13.900 +105 3.19448 13.350 +106 3.21298 12.800 +107 3.23061 12.300 +108 3.24905 11.800 +109 3.26843 11.300 +110 3.28882 10.800 +111 3.30817 10.350 +112 3.32852 9.900 +113 3.35002 9.450 +114 3.37024 9.050 +115 3.39155 8.650 +116 3.41415 8.250 +117 3.43816 7.850 +118 3.46379 7.450 +119 3.48777 7.100 +120 3.51328 6.750 +121 3.54061 6.400 +122 3.57001 6.050 +123 3.59990 5.720 +124 3.63122 5.400 +125 3.66297 5.100 +126 3.69737 4.800 +127 3.73233 4.520 +128 3.76760 4.260 +129 3.80302 4.020 +130 3.80633 4.000 diff --git a/secop_psi/calcurves/X101105.340 b/secop_psi/calcurves/X101105.340 new file mode 100644 index 0000000..1f0d1b2 --- /dev/null +++ b/secop_psi/calcurves/X101105.340 @@ -0,0 +1,152 @@ +Sensor Model: CX-1030-CU-HT-1.4L +Serial Number: X101105 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 143 + +No. Units Temperature (K) + + 1 1.52034 330.046 + 2 1.52452 325.000 + 3 1.52963 319.000 + 4 1.53443 313.500 + 5 1.53933 308.000 + 6 1.54435 302.500 + 7 1.54948 297.000 + 8 1.55473 291.500 + 9 1.56011 286.000 + 10 1.56561 280.500 + 11 1.57124 275.000 + 12 1.57701 269.500 + 13 1.58292 264.000 + 14 1.58897 258.500 + 15 1.59460 253.500 + 16 1.60035 248.500 + 17 1.60624 243.500 + 18 1.61226 238.500 + 19 1.61841 233.500 + 20 1.62471 228.500 + 21 1.63116 223.500 + 22 1.63776 218.500 + 23 1.64451 213.500 + 24 1.65142 208.500 + 25 1.65851 203.500 + 26 1.66576 198.500 + 27 1.67320 193.500 + 28 1.68082 188.500 + 29 1.68863 183.500 + 30 1.69665 178.500 + 31 1.70487 173.500 + 32 1.71331 168.500 + 33 1.72111 164.000 + 34 1.72909 159.500 + 35 1.73728 155.000 + 36 1.74567 150.500 + 37 1.75428 146.000 + 38 1.76312 141.500 + 39 1.77220 137.000 + 40 1.78153 132.500 + 41 1.79113 128.000 + 42 1.80101 123.500 + 43 1.81005 119.500 + 44 1.81933 115.500 + 45 1.82888 111.500 + 46 1.83872 107.500 + 47 1.84885 103.500 + 48 1.85669 100.500 + 49 1.86335 98.000 + 50 1.87015 95.500 + 51 1.87710 93.000 + 52 1.88421 90.500 + 53 1.89148 88.000 + 54 1.89892 85.500 + 55 1.90655 83.000 + 56 1.91437 80.500 + 57 1.92239 78.000 + 58 1.93062 75.500 + 59 1.93908 73.000 + 60 1.94779 70.500 + 61 1.95495 68.500 + 62 1.96227 66.500 + 63 1.96979 64.500 + 64 1.97750 62.500 + 65 1.98542 60.500 + 66 1.99315 58.600 + 67 2.00152 56.600 + 68 2.01013 54.600 + 69 2.01901 52.600 + 70 2.02817 50.600 + 71 2.03764 48.600 + 72 2.04644 46.800 + 73 2.05551 45.000 + 74 2.06488 43.200 + 75 2.07457 41.400 + 76 2.08517 39.500 + 77 2.09501 37.800 + 78 2.10520 36.100 + 79 2.11515 34.500 + 80 2.12547 32.900 + 81 2.13619 31.300 + 82 2.14665 29.800 + 83 2.15752 28.300 + 84 2.16810 26.900 + 85 2.17912 25.500 + 86 2.19064 24.100 + 87 2.20185 22.800 + 88 2.21268 21.600 + 89 2.22403 20.400 + 90 2.23245 19.550 + 91 2.23961 18.850 + 92 2.24701 18.150 + 93 2.25468 17.450 + 94 2.26206 16.800 + 95 2.26971 16.150 + 96 2.27767 15.500 + 97 2.28531 14.900 + 98 2.29326 14.300 + 99 2.30086 13.750 +100 2.30877 13.200 +101 2.31704 12.650 +102 2.32569 12.100 +103 2.33394 11.600 +104 2.34258 11.100 +105 2.35166 10.600 +106 2.36026 10.150 +107 2.36928 9.700 +108 2.37880 9.250 +109 2.38887 8.800 +110 2.39836 8.400 +111 2.40837 8.000 +112 2.41900 7.600 +113 2.43033 7.200 +114 2.44091 6.850 +115 2.45214 6.500 +116 2.46416 6.150 +117 2.47630 5.820 +118 2.48893 5.500 +119 2.50252 5.180 +120 2.51628 4.880 +121 2.53116 4.580 +122 2.54626 4.300 +123 2.56266 4.020 +124 2.56653 3.960 +125 2.57540 3.820 +126 2.58759 3.640 +127 2.60060 3.460 +128 2.61376 3.290 +129 2.62784 3.120 +130 2.64209 2.960 +131 2.65740 2.800 +132 2.67396 2.640 +133 2.69080 2.490 +134 2.70781 2.350 +135 2.72626 2.210 +136 2.74639 2.070 +137 2.76688 1.940 +138 2.78932 1.810 +139 2.81220 1.690 +140 2.83745 1.570 +141 2.86329 1.460 +142 2.87884 1.400 +143 2.93750 1.199 diff --git a/secop_psi/calcurves/X10409.340 b/secop_psi/calcurves/X10409.340 new file mode 100644 index 0000000..451a74c --- /dev/null +++ b/secop_psi/calcurves/X10409.340 @@ -0,0 +1,141 @@ +Sensor Model: CX-1070-AA-4L +Serial Number: X10409 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 132 + +No. Units Temperature (K) + + 1 1.87104 325.000 + 2 1.87939 319.000 + 3 1.88721 313.500 + 4 1.89521 308.000 + 5 1.90339 302.500 + 6 1.91177 297.000 + 7 1.92034 291.500 + 8 1.92912 286.000 + 9 1.93811 280.500 + 10 1.94648 275.500 + 11 1.95503 270.500 + 12 1.96378 265.500 + 13 1.97272 260.500 + 14 1.98188 255.500 + 15 1.99125 250.500 + 16 2.00084 245.500 + 17 2.01066 240.500 + 18 2.02071 235.500 + 19 2.03102 230.500 + 20 2.04158 225.500 + 21 2.05241 220.500 + 22 2.06351 215.500 + 23 2.07490 210.500 + 24 2.08660 205.500 + 25 2.09860 200.500 + 26 2.10969 196.000 + 27 2.12105 191.500 + 28 2.13269 187.000 + 29 2.14464 182.500 + 30 2.15690 178.000 + 31 2.16948 173.500 + 32 2.18241 169.000 + 33 2.19569 164.500 + 34 2.20936 160.000 + 35 2.22341 155.500 + 36 2.23789 151.000 + 37 2.25114 147.000 + 38 2.26475 143.000 + 39 2.27874 139.000 + 40 2.29314 135.000 + 41 2.30797 131.000 + 42 2.32325 127.000 + 43 2.33901 123.000 + 44 2.35529 119.000 + 45 2.37210 115.000 + 46 2.38731 111.500 + 47 2.40297 108.000 + 48 2.41914 104.500 + 49 2.43585 101.000 + 50 2.44816 98.500 + 51 2.46074 96.000 + 52 2.47367 93.500 + 53 2.48693 91.000 + 54 2.50056 88.500 + 55 2.51457 86.000 + 56 2.52900 83.500 + 57 2.54086 81.500 + 58 2.55300 79.500 + 59 2.56545 77.500 + 60 2.57822 75.500 + 61 2.59134 73.500 + 62 2.60481 71.500 + 63 2.61867 69.500 + 64 2.63293 67.500 + 65 2.64762 65.500 + 66 2.66276 63.500 + 67 2.67839 61.500 + 68 2.69536 59.400 + 69 2.71040 57.600 + 70 2.72592 55.800 + 71 2.74194 54.000 + 72 2.75852 52.200 + 73 2.77568 50.400 + 74 2.79347 48.600 + 75 2.80986 47.000 + 76 2.82681 45.400 + 77 2.84438 43.800 + 78 2.86260 42.200 + 79 2.88154 40.600 + 80 2.90000 39.100 + 81 2.91919 37.600 + 82 2.93916 36.100 + 83 2.95859 34.700 + 84 2.97881 33.300 + 85 2.99993 31.900 + 86 3.02200 30.500 + 87 3.04346 29.200 + 88 3.06589 27.900 + 89 3.08943 26.600 + 90 3.11226 25.400 + 91 3.13620 24.200 + 92 3.16144 23.000 + 93 3.18583 21.900 + 94 3.21154 20.800 + 95 3.23253 19.950 + 96 3.24918 19.300 + 97 3.26647 18.650 + 98 3.28443 18.000 + 99 3.30168 17.400 +100 3.31960 16.800 +101 3.33826 16.200 +102 3.35609 15.650 +103 3.37464 15.100 +104 3.39400 14.550 +105 3.41424 14.000 +106 3.43349 13.500 +107 3.45359 13.000 +108 3.47466 12.500 +109 3.49678 12.000 +110 3.52006 11.500 +111 3.54216 11.050 +112 3.56538 10.600 +113 3.58992 10.150 +114 3.61589 9.700 +115 3.64037 9.300 +116 3.66623 8.900 +117 3.69370 8.500 +118 3.72297 8.100 +119 3.75030 7.750 +120 3.77930 7.400 +121 3.81032 7.050 +122 3.84355 6.700 +123 3.87933 6.350 +124 3.91240 6.050 +125 3.94654 5.760 +126 3.98462 5.460 +127 4.02585 5.160 +128 4.06767 4.880 +129 4.11308 4.600 +130 4.15917 4.340 +131 4.20952 4.080 +132 4.22652 4.000 diff --git a/secop_psi/calcurves/X108579.340 b/secop_psi/calcurves/X108579.340 new file mode 100644 index 0000000..86d080a --- /dev/null +++ b/secop_psi/calcurves/X108579.340 @@ -0,0 +1,150 @@ +Sensor Model: CX-1030-CU-HT-1.4L +Serial Number: X108579 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 141 + +No. Units Temperature (K) + + 1 1.53270 330.031 + 2 1.53707 325.000 + 3 1.54242 319.000 + 4 1.54744 313.500 + 5 1.55256 308.000 + 6 1.55780 302.500 + 7 1.56316 297.000 + 8 1.56864 291.500 + 9 1.57424 286.000 + 10 1.57997 280.500 + 11 1.58584 275.000 + 12 1.59184 269.500 + 13 1.59798 264.000 + 14 1.60426 258.500 + 15 1.61070 253.000 + 16 1.61728 247.500 + 17 1.62403 242.000 + 18 1.63031 237.000 + 19 1.63673 232.000 + 20 1.64329 227.000 + 21 1.65000 222.000 + 22 1.65686 217.000 + 23 1.66388 212.000 + 24 1.67107 207.000 + 25 1.67842 202.000 + 26 1.68595 197.000 + 27 1.69366 192.000 + 28 1.70156 187.000 + 29 1.70965 182.000 + 30 1.71795 177.000 + 31 1.72646 172.000 + 32 1.73519 167.000 + 33 1.74415 162.000 + 34 1.75243 157.500 + 35 1.76090 153.000 + 36 1.76959 148.500 + 37 1.77849 144.000 + 38 1.78763 139.500 + 39 1.79702 135.000 + 40 1.80667 130.500 + 41 1.81658 126.000 + 42 1.82679 121.500 + 43 1.83613 117.500 + 44 1.84571 113.500 + 45 1.85558 109.500 + 46 1.86573 105.500 + 47 1.87620 101.500 + 48 1.88429 98.500 + 49 1.89116 96.000 + 50 1.89819 93.500 + 51 1.90536 91.000 + 52 1.91270 88.500 + 53 1.92020 86.000 + 54 1.92789 83.500 + 55 1.93577 81.000 + 56 1.94383 78.500 + 57 1.95211 76.000 + 58 1.96061 73.500 + 59 1.96936 71.000 + 60 1.97836 68.500 + 61 1.98577 66.500 + 62 1.99335 64.500 + 63 2.00113 62.500 + 64 2.00912 60.500 + 65 2.01691 58.600 + 66 2.02534 56.600 + 67 2.03402 54.600 + 68 2.04296 52.600 + 69 2.05219 50.600 + 70 2.06171 48.600 + 71 2.07057 46.800 + 72 2.07969 45.000 + 73 2.08911 43.200 + 74 2.09885 41.400 + 75 2.10950 39.500 + 76 2.11938 37.800 + 77 2.12961 36.100 + 78 2.13959 34.500 + 79 2.14993 32.900 + 80 2.16068 31.300 + 81 2.17116 29.800 + 82 2.18204 28.300 + 83 2.19264 26.900 + 84 2.20367 25.500 + 85 2.21520 24.100 + 86 2.22641 22.800 + 87 2.23724 21.600 + 88 2.24859 20.400 + 89 2.25701 19.550 + 90 2.26417 18.850 + 91 2.27157 18.150 + 92 2.27923 17.450 + 93 2.28661 16.800 + 94 2.29425 16.150 + 95 2.30159 15.550 + 96 2.30919 14.950 + 97 2.31711 14.350 + 98 2.32466 13.800 + 99 2.33251 13.250 +100 2.34073 12.700 +101 2.34933 12.150 +102 2.35753 11.650 +103 2.36611 11.150 +104 2.37513 10.650 +105 2.38367 10.200 +106 2.39262 9.750 +107 2.40208 9.300 +108 2.41206 8.850 +109 2.42147 8.450 +110 2.43140 8.050 +111 2.44193 7.650 +112 2.45315 7.250 +113 2.46363 6.900 +114 2.47475 6.550 +115 2.48664 6.200 +116 2.49902 5.860 +117 2.51152 5.540 +118 2.52498 5.220 +119 2.53860 4.920 +120 2.55331 4.620 +121 2.56824 4.340 +122 2.58445 4.060 +123 2.59768 3.850 +124 2.60975 3.670 +125 2.62263 3.490 +126 2.63566 3.320 +127 2.64959 3.150 +128 2.66370 2.990 +129 2.67884 2.830 +130 2.69522 2.670 +131 2.71186 2.520 +132 2.72866 2.380 +133 2.74687 2.240 +134 2.76674 2.100 +135 2.78694 1.970 +136 2.80903 1.840 +137 2.83153 1.720 +138 2.85632 1.600 +139 2.88164 1.490 +140 2.90461 1.400 +141 2.96386 1.200 diff --git a/secop_psi/calcurves/X12532.340 b/secop_psi/calcurves/X12532.340 new file mode 100644 index 0000000..ecd5188 --- /dev/null +++ b/secop_psi/calcurves/X12532.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X12532 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 150 + +No. Units Temperature (K) + + 1 1.74677 325.000 + 2 1.75365 319.500 + 3 1.76003 314.500 + 4 1.76656 309.500 + 5 1.77324 304.500 + 6 1.78006 299.500 + 7 1.78703 294.500 + 8 1.79416 289.500 + 9 1.80145 284.500 + 10 1.80890 279.500 + 11 1.81652 274.500 + 12 1.82432 269.500 + 13 1.83230 264.500 + 14 1.84046 259.500 + 15 1.84881 254.500 + 16 1.85737 249.500 + 17 1.86612 244.500 + 18 1.87509 239.500 + 19 1.88428 234.500 + 20 1.89370 229.500 + 21 1.90336 224.500 + 22 1.91326 219.500 + 23 1.92342 214.500 + 24 1.93385 209.500 + 25 1.94455 204.500 + 26 1.95444 200.000 + 27 1.96456 195.500 + 28 1.97494 191.000 + 29 1.98559 186.500 + 30 1.99651 182.000 + 31 2.00772 177.500 + 32 2.01923 173.000 + 33 2.03105 168.500 + 34 2.04319 164.000 + 35 2.05568 159.500 + 36 2.06853 155.000 + 37 2.08176 150.500 + 38 2.09538 146.000 + 39 2.10785 142.000 + 40 2.12064 138.000 + 41 2.13381 134.000 + 42 2.14736 130.000 + 43 2.16132 126.000 + 44 2.17571 122.000 + 45 2.19056 118.000 + 46 2.20590 114.000 + 47 2.22177 110.000 + 48 2.23612 106.500 + 49 2.25092 103.000 + 50 2.26402 100.000 + 51 2.27522 97.500 + 52 2.28669 95.000 + 53 2.29846 92.500 + 54 2.31054 90.000 + 55 2.32294 87.500 + 56 2.33568 85.000 + 57 2.34877 82.500 + 58 2.35954 80.500 + 59 2.37056 78.500 + 60 2.38186 76.500 + 61 2.39344 74.500 + 62 2.40533 72.500 + 63 2.41755 70.500 + 64 2.43011 68.500 + 65 2.44302 66.500 + 66 2.45633 64.500 + 67 2.47004 62.500 + 68 2.48419 60.500 + 69 2.49806 58.600 + 70 2.51162 56.800 + 71 2.52560 55.000 + 72 2.54004 53.200 + 73 2.55497 51.400 + 74 2.57042 49.600 + 75 2.58643 47.800 + 76 2.60118 46.200 + 77 2.61642 44.600 + 78 2.63221 43.000 + 79 2.64859 41.400 + 80 2.66669 39.700 + 81 2.68330 38.200 + 82 2.70056 36.700 + 83 2.71852 35.200 + 84 2.73599 33.800 + 85 2.75417 32.400 + 86 2.77313 31.000 + 87 2.79296 29.600 + 88 2.81223 28.300 + 89 2.83237 27.000 + 90 2.85350 25.700 + 91 2.87399 24.500 + 92 2.89548 23.300 + 93 2.91813 22.100 + 94 2.94004 21.000 + 95 2.95889 20.100 + 96 2.97415 19.400 + 97 2.98884 18.750 + 98 3.00407 18.100 + 99 3.01991 17.450 +100 3.03511 16.850 +101 3.05089 16.250 +102 3.06734 15.650 +103 3.08305 15.100 +104 3.09940 14.550 +105 3.11647 14.000 +106 3.13425 13.450 +107 3.15113 12.950 +108 3.16880 12.450 +109 3.18736 11.950 +110 3.20684 11.450 +111 3.22528 11.000 +112 3.24462 10.550 +113 3.26499 10.100 +114 3.28650 9.650 +115 3.30927 9.200 +116 3.33075 8.800 +117 3.35344 8.400 +118 3.37756 8.000 +119 3.40327 7.600 +120 3.42730 7.250 +121 3.45284 6.900 +122 3.48016 6.550 +123 3.50951 6.200 +124 3.54026 5.860 +125 3.57150 5.540 +126 3.60318 5.240 +127 3.63744 4.940 +128 3.67224 4.660 +129 3.71008 4.380 +130 3.74855 4.120 +131 3.78072 3.920 +132 3.80989 3.750 +133 3.84106 3.580 +134 3.87450 3.410 +135 3.90835 3.250 +136 3.94473 3.090 +137 3.98408 2.930 +138 4.02409 2.780 +139 4.06450 2.640 +140 4.10831 2.500 +141 4.15611 2.360 +142 4.20471 2.230 +143 4.25790 2.100 +144 4.31200 1.980 +145 4.37145 1.860 +146 4.43744 1.740 +147 4.50471 1.630 +148 4.57931 1.520 +149 4.66297 1.410 +150 4.67188 1.400 diff --git a/secop_psi/calcurves/X12533.340 b/secop_psi/calcurves/X12533.340 new file mode 100644 index 0000000..fe2f58c --- /dev/null +++ b/secop_psi/calcurves/X12533.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X12533 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.73183 325.000 + 2 1.73929 319.000 + 3 1.74629 313.500 + 4 1.75346 308.000 + 5 1.76079 302.500 + 6 1.76829 297.000 + 7 1.77598 291.500 + 8 1.78313 286.500 + 9 1.79043 281.500 + 10 1.79790 276.500 + 11 1.80555 271.500 + 12 1.81336 266.500 + 13 1.82136 261.500 + 14 1.82955 256.500 + 15 1.83793 251.500 + 16 1.84652 246.500 + 17 1.85531 241.500 + 18 1.86432 236.500 + 19 1.87356 231.500 + 20 1.88302 226.500 + 21 1.89273 221.500 + 22 1.90269 216.500 + 23 1.91291 211.500 + 24 1.92339 206.500 + 25 1.93416 201.500 + 26 1.94411 197.000 + 27 1.95429 192.500 + 28 1.96474 188.000 + 29 1.97545 183.500 + 30 1.98643 179.000 + 31 1.99771 174.500 + 32 2.00928 170.000 + 33 2.02117 165.500 + 34 2.03340 161.000 + 35 2.04596 156.500 + 36 2.05890 152.000 + 37 2.07221 147.500 + 38 2.08440 143.500 + 39 2.09691 139.500 + 40 2.10977 135.500 + 41 2.12301 131.500 + 42 2.13665 127.500 + 43 2.15070 123.500 + 44 2.16520 119.500 + 45 2.18016 115.500 + 46 2.19563 111.500 + 47 2.20963 108.000 + 48 2.22403 104.500 + 49 2.23892 101.000 + 50 2.24987 98.500 + 51 2.26106 96.000 + 52 2.27254 93.500 + 53 2.28430 91.000 + 54 2.29639 88.500 + 55 2.30879 86.000 + 56 2.32154 83.500 + 57 2.33203 81.500 + 58 2.34275 79.500 + 59 2.35376 77.500 + 60 2.36505 75.500 + 61 2.37662 73.500 + 62 2.38848 71.500 + 63 2.40066 69.500 + 64 2.41320 67.500 + 65 2.42610 65.500 + 66 2.43939 63.500 + 67 2.45309 61.500 + 68 2.46795 59.400 + 69 2.48111 57.600 + 70 2.49468 55.800 + 71 2.50868 54.000 + 72 2.52314 52.200 + 73 2.53810 50.400 + 74 2.55360 48.600 + 75 2.56966 46.800 + 76 2.58447 45.200 + 77 2.59978 43.600 + 78 2.61566 42.000 + 79 2.63214 40.400 + 80 2.64818 38.900 + 81 2.66482 37.400 + 82 2.68214 35.900 + 83 2.70017 34.400 + 84 2.71771 33.000 + 85 2.73598 31.600 + 86 2.75507 30.200 + 87 2.77359 28.900 + 88 2.79293 27.600 + 89 2.81319 26.300 + 90 2.83281 25.100 + 91 2.85337 23.900 + 92 2.87499 22.700 + 93 2.89587 21.600 + 94 2.91783 20.500 + 95 2.93465 19.700 + 96 2.94880 19.050 + 97 2.96346 18.400 + 98 2.97869 17.750 + 99 2.99328 17.150 +100 3.00843 16.550 +101 3.02419 15.950 +102 3.04061 15.350 +103 3.05631 14.800 +104 3.07266 14.250 +105 3.08973 13.700 +106 3.10757 13.150 +107 3.12458 12.650 +108 3.14237 12.150 +109 3.16105 11.650 +110 3.18070 11.150 +111 3.19932 10.700 +112 3.21888 10.250 +113 3.23952 9.800 +114 3.26135 9.350 +115 3.28191 8.950 +116 3.30360 8.550 +117 3.32663 8.150 +118 3.35114 7.750 +119 3.37400 7.400 +120 3.39826 7.050 +121 3.42418 6.700 +122 3.45194 6.350 +123 3.48362 5.980 +124 3.51326 5.660 +125 3.54324 5.360 +126 3.57559 5.060 +127 3.60837 4.780 +128 3.64391 4.500 +129 3.68279 4.220 +130 3.71621 4.000 +131 3.74549 3.820 +132 3.77505 3.650 +133 3.80669 3.480 +134 3.84071 3.310 +135 3.87522 3.150 +136 3.91242 2.990 +137 3.95018 2.840 +138 3.99102 2.690 +139 4.03250 2.550 +140 4.07755 2.410 +141 4.12329 2.280 +142 4.17321 2.150 +143 4.22818 2.020 +144 4.28426 1.900 +145 4.34617 1.780 +146 4.40924 1.670 +147 4.47904 1.560 +148 4.55711 1.450 +149 4.59660 1.400 diff --git a/secop_psi/calcurves/X13089.340 b/secop_psi/calcurves/X13089.340 new file mode 100644 index 0000000..ee1a8b2 --- /dev/null +++ b/secop_psi/calcurves/X13089.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X13089 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.72769 325.000 + 2 1.73477 319.000 + 3 1.74141 313.500 + 4 1.74818 308.000 + 5 1.75511 302.500 + 6 1.76220 297.000 + 7 1.76944 291.500 + 8 1.77686 286.000 + 9 1.78445 280.500 + 10 1.79221 275.000 + 11 1.80016 269.500 + 12 1.80830 264.000 + 13 1.81664 258.500 + 14 1.82440 253.500 + 15 1.83233 248.500 + 16 1.84044 243.500 + 17 1.84873 238.500 + 18 1.85722 233.500 + 19 1.86591 228.500 + 20 1.87480 223.500 + 21 1.88391 218.500 + 22 1.89324 213.500 + 23 1.90279 208.500 + 24 1.91259 203.500 + 25 1.92263 198.500 + 26 1.93292 193.500 + 27 1.94349 188.500 + 28 1.95433 183.500 + 29 1.96435 179.000 + 30 1.97460 174.500 + 31 1.98511 170.000 + 32 1.99589 165.500 + 33 2.00695 161.000 + 34 2.01830 156.500 + 35 2.02996 152.000 + 36 2.04195 147.500 + 37 2.05427 143.000 + 38 2.06696 138.500 + 39 2.07857 134.500 + 40 2.09048 130.500 + 41 2.10273 126.500 + 42 2.11533 122.500 + 43 2.12831 118.500 + 44 2.14168 114.500 + 45 2.15548 110.500 + 46 2.16972 106.500 + 47 2.18445 102.500 + 48 2.19585 99.500 + 49 2.20557 97.000 + 50 2.21551 94.500 + 51 2.22568 92.000 + 52 2.23610 89.500 + 53 2.24678 87.000 + 54 2.25773 84.500 + 55 2.26897 82.000 + 56 2.28052 79.500 + 57 2.29241 77.000 + 58 2.30466 74.500 + 59 2.31474 72.500 + 60 2.32506 70.500 + 61 2.33565 68.500 + 62 2.34653 66.500 + 63 2.35770 64.500 + 64 2.36919 62.500 + 65 2.38102 60.500 + 66 2.39259 58.600 + 67 2.40514 56.600 + 68 2.41810 54.600 + 69 2.43014 52.800 + 70 2.44255 51.000 + 71 2.45536 49.200 + 72 2.46860 47.400 + 73 2.48230 45.600 + 74 2.49650 43.800 + 75 2.50958 42.200 + 76 2.52309 40.600 + 77 2.53710 39.000 + 78 2.55163 37.400 + 79 2.56673 35.800 + 80 2.58146 34.300 + 81 2.59678 32.800 + 82 2.61275 31.300 + 83 2.62830 29.900 + 84 2.64453 28.500 + 85 2.66028 27.200 + 86 2.67674 25.900 + 87 2.69400 24.600 + 88 2.71073 23.400 + 89 2.72829 22.200 + 90 2.74526 21.100 + 91 2.76145 20.100 + 92 2.77417 19.350 + 93 2.78558 18.700 + 94 2.79742 18.050 + 95 2.80971 17.400 + 96 2.82152 16.800 + 97 2.83378 16.200 + 98 2.84656 15.600 + 99 2.85878 15.050 +100 2.87152 14.500 +101 2.88482 13.950 +102 2.89747 13.450 +103 2.91068 12.950 +104 2.92453 12.450 +105 2.93907 11.950 +106 2.95283 11.500 +107 2.96726 11.050 +108 2.98245 10.600 +109 2.99848 10.150 +110 3.01545 9.700 +111 3.03145 9.300 +112 3.04834 8.900 +113 3.06628 8.500 +114 3.08539 8.100 +115 3.10322 7.750 +116 3.12215 7.400 +117 3.14239 7.050 +118 3.16407 6.700 +119 3.18742 6.350 +120 3.20900 6.050 +121 3.23129 5.760 +122 3.25617 5.460 +123 3.28311 5.160 +124 3.31047 4.880 +125 3.34020 4.600 +126 3.37039 4.340 +127 3.40334 4.080 +128 3.43108 3.880 +129 3.45630 3.710 +130 3.48333 3.540 +131 3.51067 3.380 +132 3.54003 3.220 +133 3.57175 3.060 +134 3.60396 2.910 +135 3.63884 2.760 +136 3.67428 2.620 +137 3.71280 2.480 +138 3.75192 2.350 +139 3.79459 2.220 +140 3.84151 2.090 +141 3.88924 1.970 +142 3.94167 1.850 +143 3.99982 1.730 +144 4.05914 1.620 +145 4.11896 1.520 +146 4.17928 1.430 +147 4.20173 1.400 diff --git a/secop_psi/calcurves/X13090.340 b/secop_psi/calcurves/X13090.340 new file mode 100644 index 0000000..7871085 --- /dev/null +++ b/secop_psi/calcurves/X13090.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X13090 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.70964 325.000 + 2 1.71657 319.000 + 3 1.72305 313.500 + 4 1.72967 308.000 + 5 1.73644 302.500 + 6 1.74337 297.000 + 7 1.75045 291.500 + 8 1.75769 286.000 + 9 1.76510 280.500 + 10 1.77269 275.000 + 11 1.78045 269.500 + 12 1.78840 264.000 + 13 1.79654 258.500 + 14 1.80412 253.500 + 15 1.81186 248.500 + 16 1.81978 243.500 + 17 1.82788 238.500 + 18 1.83616 233.500 + 19 1.84464 228.500 + 20 1.85332 223.500 + 21 1.86221 218.500 + 22 1.87131 213.500 + 23 1.88064 208.500 + 24 1.89020 203.500 + 25 1.90000 198.500 + 26 1.91004 193.500 + 27 1.92035 188.500 + 28 1.93093 183.500 + 29 1.94179 178.500 + 30 1.95183 174.000 + 31 1.96211 169.500 + 32 1.97265 165.000 + 33 1.98346 160.500 + 34 1.99456 156.000 + 35 2.00596 151.500 + 36 2.01768 147.000 + 37 2.02973 142.500 + 38 2.04213 138.000 + 39 2.05489 133.500 + 40 2.06658 129.500 + 41 2.07859 125.500 + 42 2.09094 121.500 + 43 2.10366 117.500 + 44 2.11677 113.500 + 45 2.13030 109.500 + 46 2.14427 105.500 + 47 2.15871 101.500 + 48 2.16989 98.500 + 49 2.17943 96.000 + 50 2.18918 93.500 + 51 2.19916 91.000 + 52 2.20939 88.500 + 53 2.21988 86.000 + 54 2.23064 83.500 + 55 2.24168 81.000 + 56 2.25305 78.500 + 57 2.26475 76.000 + 58 2.27679 73.500 + 59 2.28670 71.500 + 60 2.29685 69.500 + 61 2.30727 67.500 + 62 2.31797 65.500 + 63 2.32897 63.500 + 64 2.34028 61.500 + 65 2.35252 59.400 + 66 2.36455 57.400 + 67 2.37696 55.400 + 68 2.38849 53.600 + 69 2.40037 51.800 + 70 2.41262 50.000 + 71 2.42528 48.200 + 72 2.43837 46.400 + 73 2.45192 44.600 + 74 2.46597 42.800 + 75 2.47893 41.200 + 76 2.49317 39.500 + 77 2.50710 37.900 + 78 2.52156 36.300 + 79 2.53565 34.800 + 80 2.55028 33.300 + 81 2.56553 31.800 + 82 2.58036 30.400 + 83 2.59581 29.000 + 84 2.61196 27.600 + 85 2.62766 26.300 + 86 2.64407 25.000 + 87 2.65998 23.800 + 88 2.67664 22.600 + 89 2.69420 21.400 + 90 2.71118 20.300 + 91 2.72415 19.500 + 92 2.73507 18.850 + 93 2.74638 18.200 + 94 2.75814 17.550 + 95 2.76941 16.950 + 96 2.78112 16.350 + 97 2.79332 15.750 + 98 2.80497 15.200 + 99 2.81712 14.650 +100 2.82979 14.100 +101 2.84300 13.550 +102 2.85560 13.050 +103 2.86880 12.550 +104 2.88266 12.050 +105 2.89724 11.550 +106 2.91107 11.100 +107 2.92559 10.650 +108 2.94092 10.200 +109 2.95713 9.750 +110 2.97240 9.350 +111 2.98852 8.950 +112 3.00562 8.550 +113 3.02384 8.150 +114 3.04329 7.750 +115 3.06151 7.400 +116 3.08092 7.050 +117 3.10172 6.700 +118 3.12411 6.350 +119 3.14479 6.050 +120 3.16615 5.760 +121 3.18998 5.460 +122 3.21577 5.160 +123 3.24194 4.880 +124 3.27037 4.600 +125 3.29921 4.340 +126 3.33067 4.080 +127 3.35714 3.880 +128 3.38120 3.710 +129 3.40697 3.540 +130 3.43469 3.370 +131 3.46282 3.210 +132 3.49123 3.060 +133 3.52184 2.910 +134 3.55504 2.760 +135 3.58873 2.620 +136 3.62535 2.480 +137 3.66545 2.340 +138 3.70633 2.210 +139 3.75116 2.080 +140 3.80069 1.950 +141 3.85132 1.830 +142 3.90730 1.710 +143 3.96453 1.600 +144 4.02232 1.500 +145 4.08092 1.410 +146 4.08843 1.400 diff --git a/secop_psi/calcurves/X131164-Jakub_modif.340 b/secop_psi/calcurves/X131164-Jakub_modif.340 new file mode 100644 index 0000000..d650e4c --- /dev/null +++ b/secop_psi/calcurves/X131164-Jakub_modif.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-1050-SD-HT-1.4L +Serial Number: X131164-Jakub_modif +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 150 + +No. Units Temperature (K) + + 1 1.84265 331.479 + 2 1.85009 325.000 + 3 1.85719 319.000 + 4 1.86383 313.500 + 5 1.87062 308.000 + 6 1.87755 302.500 + 7 1.88464 297.000 + 8 1.89188 291.500 + 9 1.89929 286.000 + 10 1.90687 280.500 + 11 1.91462 275.000 + 12 1.92255 269.500 + 13 1.93066 264.000 + 14 1.93897 258.500 + 15 1.94748 253.000 + 16 1.95540 248.000 + 17 1.96349 243.000 + 18 1.97176 238.000 + 19 1.98022 233.000 + 20 1.98888 228.000 + 21 1.99774 223.000 + 22 2.00680 218.000 + 23 2.01609 213.000 + 24 2.02560 208.000 + 25 2.03535 203.000 + 26 2.04534 198.000 + 27 2.05559 193.000 + 28 2.06610 188.000 + 29 2.07690 183.000 + 30 2.08686 178.500 + 31 2.09706 174.000 + 32 2.10752 169.500 + 33 2.11825 165.000 + 34 2.12926 160.500 + 35 2.14056 156.000 + 36 2.15216 151.500 + 37 2.16409 147.000 + 38 2.17637 142.500 + 39 2.18900 138.000 + 40 2.20055 134.000 + 41 2.21241 130.000 + 42 2.22462 126.000 + 43 2.23717 122.000 + 44 2.25010 118.000 + 45 2.26343 114.000 + 46 2.27720 110.000 + 47 2.29141 106.000 + 48 2.30427 102.500 + 49 2.31371 100.000 + 50 2.32335 97.500 + 51 2.33322 95.000 + 52 2.34332 92.500 + 53 2.35368 90.000 + 54 2.36431 87.500 + 55 2.37523 85.000 + 56 2.38644 82.500 + 57 2.39797 80.000 + 58 2.40984 77.500 + 59 2.41960 75.500 + 60 2.42959 73.500 + 61 2.43984 71.500 + 62 2.45036 69.500 + 63 2.46116 67.500 + 64 2.47227 65.500 + 65 2.48371 63.500 + 66 2.49548 61.500 + 67 2.50824 59.400 + 68 2.51953 57.600 + 69 2.53115 55.800 + 70 2.54313 54.000 + 71 2.55549 52.200 + 72 2.56826 50.400 + 73 2.58147 48.600 + 74 2.59514 46.800 + 75 2.60932 45.000 + 76 2.62240 43.400 + 77 2.63591 41.800 + 78 2.64992 40.200 + 79 2.66446 38.600 + 80 2.67959 37.000 + 81 2.69433 35.500 + 82 2.70966 34.000 + 83 2.72565 32.500 + 84 2.74121 31.100 + 85 2.75743 29.700 + 86 2.77439 28.300 + 87 2.79088 27.000 + 88 2.80812 25.700 + 89 2.82482 24.500 + 90 2.84231 23.300 + 91 2.86071 22.100 + 92 2.87849 21.000 + 93 2.89377 20.100 + 94 2.90613 19.400 + 95 2.91802 18.750 + 96 2.93034 18.100 + 97 2.94314 17.450 + 98 2.95543 16.850 + 99 2.96819 16.250 +100 2.98148 15.650 +101 2.99418 15.100 +102 3.00740 14.550 +103 3.02119 14.000 +104 3.03562 13.450 +105 3.04936 12.950 +106 3.06374 12.450 +107 3.07884 11.950 +108 3.09472 11.450 +109 3.10978 11.000 +110 3.12559 10.550 +111 3.14228 10.100 +112 3.15994 9.650 +113 3.17657 9.250 +114 3.19413 8.850 +115 3.21277 8.450 +116 3.23262 8.050 +117 3.25113 7.700 +118 3.27078 7.350 +119 3.29178 7.000 +120 3.31427 6.650 +121 3.33850 6.300 +122 3.36550 5.940 +123 3.38986 5.640 +124 3.41614 5.340 +125 3.44467 5.040 +126 3.47367 4.760 +127 3.50525 4.480 +128 3.53740 4.220 +129 3.56430 4.020 +130 3.58870 3.850 +131 3.61479 3.680 +132 3.64277 3.510 +133 3.67110 3.350 +134 3.70156 3.190 +135 3.73240 3.040 +136 3.76567 2.890 +137 3.80181 2.740 +138 3.83857 2.600 +139 3.87859 2.460 +140 3.91931 2.330 +141 3.96380 2.200 +142 4.01285 2.070 +143 4.06282 1.950 +144 4.11784 1.830 +145 4.17898 1.710 +146 4.24143 1.600 +147 4.30452 1.500 +148 4.36861 1.410 +149 4.37685 1.400 +150 4.55037 1.201 diff --git a/secop_psi/calcurves/X131175.340 b/secop_psi/calcurves/X131175.340 new file mode 100644 index 0000000..5f48425 --- /dev/null +++ b/secop_psi/calcurves/X131175.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-1050-SD-HT-1.4L +Serial Number: X131175 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 150 + +No. Units Temperature (K) + + 1 1.84499 331.483 + 2 1.85246 325.000 + 3 1.85957 319.000 + 4 1.86623 313.500 + 5 1.87303 308.000 + 6 1.87997 302.500 + 7 1.88707 297.000 + 8 1.89433 291.500 + 9 1.90176 286.000 + 10 1.90935 280.500 + 11 1.91711 275.000 + 12 1.92506 269.500 + 13 1.93319 264.000 + 14 1.94152 258.500 + 15 1.95005 253.000 + 16 1.95798 248.000 + 17 1.96608 243.000 + 18 1.97438 238.000 + 19 1.98285 233.000 + 20 1.99153 228.000 + 21 2.00041 223.000 + 22 2.00949 218.000 + 23 2.01880 213.000 + 24 2.02833 208.000 + 25 2.03810 203.000 + 26 2.04811 198.000 + 27 2.05838 193.000 + 28 2.06891 188.000 + 29 2.07972 183.000 + 30 2.08970 178.500 + 31 2.09992 174.000 + 32 2.11040 169.500 + 33 2.12115 165.000 + 34 2.13218 160.500 + 35 2.14349 156.000 + 36 2.15512 151.500 + 37 2.16707 147.000 + 38 2.17936 142.500 + 39 2.19202 138.000 + 40 2.20359 134.000 + 41 2.21548 130.000 + 42 2.22770 126.000 + 43 2.24027 122.000 + 44 2.25323 118.000 + 45 2.26659 114.000 + 46 2.28037 110.000 + 47 2.29462 106.000 + 48 2.30750 102.500 + 49 2.31696 100.000 + 50 2.32661 97.500 + 51 2.33649 95.000 + 52 2.34662 92.500 + 53 2.35700 90.000 + 54 2.36764 87.500 + 55 2.37857 85.000 + 56 2.38980 82.500 + 57 2.40135 80.000 + 58 2.41323 77.500 + 59 2.42301 75.500 + 60 2.43302 73.500 + 61 2.44329 71.500 + 62 2.45384 69.500 + 63 2.46467 67.500 + 64 2.47580 65.500 + 65 2.48726 63.500 + 66 2.49907 61.500 + 67 2.51186 59.400 + 68 2.52317 57.600 + 69 2.53481 55.800 + 70 2.54681 54.000 + 71 2.55920 52.200 + 72 2.57199 50.400 + 73 2.58523 48.600 + 74 2.59893 46.800 + 75 2.61313 45.000 + 76 2.62623 43.400 + 77 2.63977 41.800 + 78 2.65381 40.200 + 79 2.66838 38.600 + 80 2.68353 37.000 + 81 2.69831 35.500 + 82 2.71367 34.000 + 83 2.72969 32.500 + 84 2.74529 31.100 + 85 2.76155 29.700 + 86 2.77856 28.300 + 87 2.79509 27.000 + 88 2.81238 25.700 + 89 2.82912 24.500 + 90 2.84665 23.300 + 91 2.86511 22.100 + 92 2.88293 21.000 + 93 2.89824 20.100 + 94 2.91064 19.400 + 95 2.92255 18.750 + 96 2.93491 18.100 + 97 2.94774 17.450 + 98 2.96006 16.850 + 99 2.97286 16.250 +100 2.98618 15.650 +101 2.99892 15.100 +102 3.01219 14.550 +103 3.02603 14.000 +104 3.04050 13.450 +105 3.05429 12.950 +106 3.06872 12.450 +107 3.08387 11.950 +108 3.09980 11.450 +109 3.11490 11.000 +110 3.13076 10.550 +111 3.14751 10.100 +112 3.16521 9.650 +113 3.18190 9.250 +114 3.19951 8.850 +115 3.21821 8.450 +116 3.23812 8.050 +117 3.25670 7.700 +118 3.27642 7.350 +119 3.29749 7.000 +120 3.32006 6.650 +121 3.34437 6.300 +122 3.37147 5.940 +123 3.39593 5.640 +124 3.42231 5.340 +125 3.45096 5.040 +126 3.48008 4.760 +127 3.51180 4.480 +128 3.54408 4.220 +129 3.57110 4.020 +130 3.59561 3.850 +131 3.62181 3.680 +132 3.64992 3.510 +133 3.67838 3.350 +134 3.70898 3.190 +135 3.73996 3.040 +136 3.77339 2.890 +137 3.80970 2.740 +138 3.84664 2.600 +139 3.88687 2.460 +140 3.92780 2.330 +141 3.97255 2.200 +142 4.02189 2.070 +143 4.07217 1.950 +144 4.12754 1.830 +145 4.18905 1.710 +146 4.25185 1.600 +147 4.31525 1.500 +148 4.37967 1.410 +149 4.38797 1.400 +150 4.56266 1.201 diff --git a/secop_psi/calcurves/X131346.340 b/secop_psi/calcurves/X131346.340 new file mode 100644 index 0000000..2ab4fe2 --- /dev/null +++ b/secop_psi/calcurves/X131346.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-unknown +Serial Number: X131346 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 325.0 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 +Calibration date: 2020-04-29 + +No. Units Temperature (K) + + 1 1.56188 2.51188 + 2 1.56717 2.50379 + 3 1.57213 2.49624 + 4 1.57719 2.48855 + 5 1.58237 2.48073 + 6 1.58767 2.47276 + 7 1.59310 2.46464 + 8 1.59865 2.45637 + 9 1.60434 2.44793 + 10 1.61016 2.43933 + 11 1.61611 2.43056 + 12 1.62220 2.42160 + 13 1.62843 2.41246 + 14 1.63480 2.40312 + 15 1.64074 2.39445 + 16 1.64680 2.38561 + 17 1.65299 2.37658 + 18 1.65933 2.36736 + 19 1.66580 2.35793 + 20 1.67243 2.34830 + 21 1.67921 2.33846 + 22 1.68614 2.32838 + 23 1.69325 2.31806 + 24 1.70052 2.30750 + 25 1.70798 2.29667 + 26 1.71562 2.28556 + 27 1.72345 2.27416 + 28 1.73147 2.26245 + 29 1.73889 2.25164 + 30 1.74646 2.24055 + 31 1.75421 2.22917 + 32 1.76216 2.21748 + 33 1.77029 2.20548 + 34 1.77863 2.19312 + 35 1.78718 2.18041 + 36 1.79595 2.16732 + 37 1.80494 2.15381 + 38 1.81418 2.13988 + 39 1.82260 2.12710 + 40 1.83123 2.11394 + 41 1.84009 2.10037 + 42 1.84917 2.08636 + 43 1.85851 2.07188 + 44 1.86811 2.05690 + 45 1.87799 2.04139 + 46 1.88816 2.02531 + 47 1.89734 2.01072 + 48 1.90406 2.00000 + 49 1.91091 1.98900 + 50 1.91791 1.97772 + 51 1.92506 1.96614 + 52 1.93237 1.95424 + 53 1.93985 1.94201 + 54 1.94753 1.92942 + 55 1.95539 1.91645 + 56 1.96345 1.90309 + 57 1.97173 1.88930 + 58 1.97853 1.87795 + 59 1.98547 1.86629 + 60 1.99258 1.85431 + 61 1.99986 1.84198 + 62 2.00732 1.82930 + 63 2.01498 1.81624 + 64 2.02284 1.80277 + 65 2.03091 1.78888 + 66 2.03964 1.77379 + 67 2.04819 1.75891 + 68 2.05701 1.74351 + 69 2.06519 1.72916 + 70 2.07360 1.71433 + 71 2.08226 1.69897 + 72 2.09118 1.68305 + 73 2.10040 1.66652 + 74 2.10991 1.64933 + 75 2.11865 1.63347 + 76 2.12766 1.61700 + 77 2.13754 1.59879 + 78 2.14717 1.58092 + 79 2.15715 1.56229 + 80 2.16684 1.54407 + 81 2.17686 1.52504 + 82 2.18726 1.50515 + 83 2.19735 1.48572 + 84 2.20782 1.46538 + 85 2.21871 1.44404 + 86 2.22924 1.42325 + 87 2.24022 1.40140 + 88 2.25080 1.38021 + 89 2.26183 1.35793 + 90 2.27338 1.33445 + 91 2.28450 1.31175 + 92 2.29294 1.29447 + 93 2.30002 1.27989 + 94 2.30732 1.26482 + 95 2.31487 1.24920 + 96 2.32269 1.23300 + 97 2.33017 1.21748 + 98 2.33793 1.20140 + 99 2.34598 1.18469 + 100 2.35365 1.16879 + 101 2.36161 1.15229 + 102 2.36991 1.13513 + 103 2.37857 1.11727 + 104 2.38679 1.10037 + 105 2.39537 1.08279 + 106 2.40434 1.06446 + 107 2.41281 1.04727 + 108 2.42165 1.02938 + 109 2.43094 1.01072 + 110 2.44071 0.99123 + 111 2.44985 0.97313 + 112 2.45944 0.95424 + 113 2.46956 0.93450 + 114 2.48026 0.91381 + 115 2.49162 0.89209 + 116 2.50218 0.87216 + 117 2.51335 0.85126 + 118 2.52524 0.82930 + 119 2.53794 0.80618 + 120 2.55155 0.78176 + 121 2.56449 0.75891 + 122 2.57790 0.73560 + 123 2.59231 0.71096 + 124 2.60680 0.68664 + 125 2.62242 0.66087 + 126 2.63812 0.63548 + 127 2.65511 0.60853 + 128 2.66929 0.58659 + 129 2.68207 0.56703 + 130 2.69568 0.54654 + 131 2.70934 0.52634 + 132 2.72391 0.50515 + 133 2.73953 0.48287 + 134 2.75527 0.46090 + 135 2.77219 0.43775 + 136 2.78926 0.41497 + 137 2.80769 0.39094 + 138 2.82626 0.36736 + 139 2.84633 0.34242 + 140 2.86817 0.31597 + 141 2.89006 0.29003 + 142 2.91375 0.26245 + 143 2.93984 0.23300 + 144 2.96644 0.20412 + 145 2.99330 0.17609 + 146 3.02060 0.14922 + 147 3.02412 0.14613 diff --git a/secop_psi/calcurves/X131693-Bernina_cryochamber.340 b/secop_psi/calcurves/X131693-Bernina_cryochamber.340 new file mode 100644 index 0000000..abc8876 --- /dev/null +++ b/secop_psi/calcurves/X131693-Bernina_cryochamber.340 @@ -0,0 +1,88 @@ +Sensor Model: CX-Bernina_cryochamber-Cryovac +Serial Number: X131693-Bernina_cryochamber +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 424.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 79 + +No. Units Temperature (K) + +1 1.77506712 4.24E+02 +2 1.779902182 4.19E+02 +3 1.789853509 4.09E+02 +4 1.800169679 3.99E+02 +5 1.810747439 3.89E+02 +6 1.821696902 3.79E+02 +7 1.833043903 3.69E+02 +8 1.844779135 3.59E+02 +9 1.856888823 3.49E+02 +10 1.869440421 3.39E+02 +11 1.882395322 3.30E+02 +12 1.895287236 3.20E+02 +13 1.909380577 3.10E+02 +14 1.924055355 3.00E+02 +15 1.93921382 2.90E+02 +16 1.9550761 2.80E+02 +17 1.971526654 2.70E+02 +18 1.988683443 2.60E+02 +19 2.006623516 2.50E+02 +20 2.025328489 2.40E+02 +21 2.044818983 2.30E+02 +22 2.06522448 2.20E+02 +23 2.086635552 2.10E+02 +24 2.10910284 2.00E+02 +25 2.132698573 1.90E+02 +26 2.15754326 1.80E+02 +27 2.183693837 1.70E+02 +28 2.21137166 1.60E+02 +29 2.240688143 1.50E+02 +30 2.271820477 1.40E+02 +31 2.305009059 1.30E+02 +32 2.3406047 1.20E+02 +33 2.37894988 1.10E+02 +34 2.420494003 1.00E+02 +35 2.44268049 9.52E+01 +36 2.465901859 9.02E+01 +37 2.490381524 8.52E+01 +38 2.516198524 8.02E+01 +39 2.543443714 7.52E+01 +40 2.572434577 7.02E+01 +41 2.603368671 6.53E+01 +42 2.636601482 6.03E+01 +43 2.672516089 5.53E+01 +44 2.71157219 5.03E+01 +45 2.728188311 4.83E+01 +46 2.754438735 4.53E+01 +47 2.782261814 4.23E+01 +48 2.812126663 3.93E+01 +49 2.844148165 3.63E+01 +50 2.878898476 3.33E+01 +51 2.90505644 3.11E+01 +52 2.928940482 2.93E+01 +53 2.951595206 2.77E+01 +54 2.975834358 2.61E+01 +55 3.001997411 2.44E+01 +56 3.029222269 2.28E+01 +57 3.057374804 2.12E+01 +58 3.077751161 2.01E+01 +59 3.097185983 1.91E+01 +60 3.117430373 1.82E+01 +61 3.138946572 1.72E+01 +62 3.161815153 1.63E+01 +63 3.186248068 1.53E+01 +64 3.21280949 1.43E+01 +65 3.2418775 1.34E+01 +66 3.274050203 1.24E+01 +67 3.310118643 1.14E+01 +68 3.351448319 1.03E+01 +69 3.398974401 9.28E+00 +70 3.45467593 8.23E+00 +71 3.520699541 7.19E+00 +72 3.58360321 6.36E+00 +73 3.648144917 5.64E+00 +74 3.704280487 5.12E+00 +75 3.754449236 4.71E+00 +76 3.825013665 4.21E+00 +77 3.85717136 4.01E+00 +78 3.89288797 3.80E+00 +79 3.930472618 3.60E+00 \ No newline at end of file diff --git a/secop_psi/calcurves/X133273.340 b/secop_psi/calcurves/X133273.340 new file mode 100644 index 0000000..9a37220 --- /dev/null +++ b/secop_psi/calcurves/X133273.340 @@ -0,0 +1,187 @@ +Sensor Model: CX-1030-CU-HT-0.3L +Serial Number: X133273 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 178 + +No. Units Temperature (K) + + 1 1.56207 330.085 + 2 1.56662 325.000 + 3 1.57211 319.000 + 4 1.57726 313.500 + 5 1.58251 308.000 + 6 1.58788 302.500 + 7 1.59337 297.000 + 8 1.59898 291.500 + 9 1.60472 286.000 + 10 1.61058 280.500 + 11 1.61658 275.000 + 12 1.62272 269.500 + 13 1.62900 264.000 + 14 1.63543 258.500 + 15 1.64201 253.000 + 16 1.64874 247.500 + 17 1.65564 242.000 + 18 1.66206 237.000 + 19 1.66862 232.000 + 20 1.67533 227.000 + 21 1.68219 222.000 + 22 1.68921 217.000 + 23 1.69639 212.000 + 24 1.70374 207.000 + 25 1.71127 202.000 + 26 1.71898 197.000 + 27 1.72687 192.000 + 28 1.73496 187.000 + 29 1.74325 182.000 + 30 1.75176 177.000 + 31 1.76048 172.000 + 32 1.76943 167.000 + 33 1.77770 162.500 + 34 1.78617 158.000 + 35 1.79485 153.500 + 36 1.80375 149.000 + 37 1.81288 144.500 + 38 1.82226 140.000 + 39 1.83190 135.500 + 40 1.84181 131.000 + 41 1.85201 126.500 + 42 1.86134 122.500 + 43 1.87092 118.500 + 44 1.88078 114.500 + 45 1.89093 110.500 + 46 1.90139 106.500 + 47 1.91218 102.500 + 48 1.92052 99.500 + 49 1.92762 97.000 + 50 1.93487 94.500 + 51 1.94228 92.000 + 52 1.94985 89.500 + 53 1.95760 87.000 + 54 1.96555 84.500 + 55 1.97369 82.000 + 56 1.98205 79.500 + 57 1.99064 77.000 + 58 1.99947 74.500 + 59 2.00855 72.000 + 60 2.01603 70.000 + 61 2.02367 68.000 + 62 2.03152 66.000 + 63 2.03957 64.000 + 64 2.04784 62.000 + 65 2.05720 59.800 + 66 2.06597 57.800 + 67 2.07501 55.800 + 68 2.08432 53.800 + 69 2.09394 51.800 + 70 2.10288 50.000 + 71 2.11208 48.200 + 72 2.12159 46.400 + 73 2.13141 44.600 + 74 2.14157 42.800 + 75 2.15210 41.000 + 76 2.16303 39.200 + 77 2.17374 37.500 + 78 2.18419 35.900 + 79 2.19504 34.300 + 80 2.20632 32.700 + 81 2.21731 31.200 + 82 2.22875 29.700 + 83 2.23987 28.300 + 84 2.25145 26.900 + 85 2.26355 25.500 + 86 2.27531 24.200 + 87 2.28763 22.900 + 88 2.29957 21.700 + 89 2.31210 20.500 + 90 2.32198 19.600 + 91 2.32993 18.900 + 92 2.33816 18.200 + 93 2.34608 17.550 + 94 2.35429 16.900 + 95 2.36282 16.250 + 96 2.37100 15.650 + 97 2.37950 15.050 + 98 2.38836 14.450 + 99 2.39683 13.900 +100 2.40565 13.350 +101 2.41488 12.800 +102 2.42365 12.300 +103 2.43282 11.800 +104 2.44243 11.300 +105 2.45253 10.800 +106 2.46211 10.350 +107 2.47217 9.900 +108 2.48278 9.450 +109 2.49401 9.000 +110 2.50460 8.600 +111 2.51578 8.200 +112 2.52765 7.800 +113 2.54032 7.400 +114 2.55215 7.050 +115 2.56471 6.700 +116 2.57815 6.350 +117 2.59343 5.980 +118 2.60768 5.660 +119 2.62299 5.340 +120 2.63850 5.040 +121 2.65525 4.740 +122 2.67222 4.460 +123 2.69065 4.180 +124 2.70717 3.950 +125 2.72099 3.770 +126 2.73575 3.590 +127 2.75070 3.420 +128 2.76576 3.260 +129 2.78193 3.100 +130 2.80038 2.930 +131 2.81788 2.780 +132 2.83676 2.630 +133 2.85724 2.480 +134 2.87801 2.340 +135 2.90062 2.200 +136 2.92361 2.070 +137 2.94877 1.940 +138 2.97438 1.820 +139 3.00257 1.700 +140 3.03395 1.580 +141 3.06609 1.470 +142 3.10203 1.360 +143 3.13887 1.260 +144 3.16551 1.195 +145 3.18510 1.150 +146 3.20355 1.110 +147 3.22301 1.070 +148 3.24363 1.030 +149 3.26552 0.990 +150 3.28881 0.950 +151 3.31367 0.910 +152 3.33690 0.875 +153 3.36158 0.840 +154 3.38796 0.805 +155 3.41622 0.770 +156 3.44662 0.735 +157 3.47469 0.705 +158 3.50470 0.675 +159 3.53703 0.645 +160 3.57199 0.615 +161 3.60992 0.585 +162 3.65131 0.555 +163 3.69668 0.525 +164 3.72968 0.505 +165 3.75923 0.488 +166 3.79250 0.470 +167 3.82792 0.452 +168 3.86574 0.434 +169 3.90619 0.416 +170 3.94955 0.398 +171 3.99106 0.382 +172 4.03556 0.366 +173 4.08367 0.350 +174 4.12947 0.336 +175 4.17911 0.322 +176 4.22568 0.310 +177 4.26764 0.300 +178 4.46090 0.260 diff --git a/secop_psi/calcurves/X133320.340 b/secop_psi/calcurves/X133320.340 new file mode 100644 index 0000000..585d468 --- /dev/null +++ b/secop_psi/calcurves/X133320.340 @@ -0,0 +1,187 @@ +Sensor Model: CX-1030-CU-HT-0.3L +Serial Number: X133320 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 178 + +No. Units Temperature (K) + + 1 1.53894 330.133 + 2 1.54339 325.000 + 3 1.54874 319.000 + 4 1.55376 313.500 + 5 1.55888 308.000 + 6 1.56411 302.500 + 7 1.56945 297.000 + 8 1.57492 291.500 + 9 1.58051 286.000 + 10 1.58622 280.500 + 11 1.59207 275.000 + 12 1.59805 269.500 + 13 1.60417 264.000 + 14 1.61043 258.500 + 15 1.61684 253.000 + 16 1.62340 247.500 + 17 1.63012 242.000 + 18 1.63637 237.000 + 19 1.64276 232.000 + 20 1.64929 227.000 + 21 1.65597 222.000 + 22 1.66281 217.000 + 23 1.66980 212.000 + 24 1.67696 207.000 + 25 1.68428 202.000 + 26 1.69179 197.000 + 27 1.69947 192.000 + 28 1.70735 187.000 + 29 1.71542 182.000 + 30 1.72369 177.000 + 31 1.73218 172.000 + 32 1.74090 167.000 + 33 1.74984 162.000 + 34 1.75811 157.500 + 35 1.76657 153.000 + 36 1.77525 148.500 + 37 1.78416 144.000 + 38 1.79331 139.500 + 39 1.80271 135.000 + 40 1.81237 130.500 + 41 1.82231 126.000 + 42 1.83140 122.000 + 43 1.84074 118.000 + 44 1.85034 114.000 + 45 1.86022 110.000 + 46 1.87041 106.000 + 47 1.88091 102.000 + 48 1.88903 99.000 + 49 1.89595 96.500 + 50 1.90301 94.000 + 51 1.91023 91.500 + 52 1.91761 89.000 + 53 1.92517 86.500 + 54 1.93291 84.000 + 55 1.94085 81.500 + 56 1.94900 79.000 + 57 1.95736 76.500 + 58 1.96596 74.000 + 59 1.97481 71.500 + 60 1.98209 69.500 + 61 1.98954 67.500 + 62 1.99718 65.500 + 63 2.00502 63.500 + 64 2.01307 61.500 + 65 2.02177 59.400 + 66 2.03030 57.400 + 67 2.03909 55.400 + 68 2.04815 53.400 + 69 2.05750 51.400 + 70 2.06619 49.600 + 71 2.07515 47.800 + 72 2.08439 46.000 + 73 2.09394 44.200 + 74 2.10383 42.400 + 75 2.11407 40.600 + 76 2.12409 38.900 + 77 2.13387 37.300 + 78 2.14399 35.700 + 79 2.15450 34.100 + 80 2.16542 32.500 + 81 2.17607 31.000 + 82 2.18714 29.500 + 83 2.19791 28.100 + 84 2.20913 26.700 + 85 2.22084 25.300 + 86 2.23223 24.000 + 87 2.24414 22.700 + 88 2.25569 21.500 + 89 2.26678 20.400 + 90 2.27524 19.600 + 91 2.28289 18.900 + 92 2.29078 18.200 + 93 2.29838 17.550 + 94 2.30625 16.900 + 95 2.31443 16.250 + 96 2.32228 15.650 + 97 2.33042 15.050 + 98 2.33891 14.450 + 99 2.34702 13.900 +100 2.35547 13.350 +101 2.36430 12.800 +102 2.37270 12.300 +103 2.38146 11.800 +104 2.39066 11.300 +105 2.40032 10.800 +106 2.40947 10.350 +107 2.41908 9.900 +108 2.42922 9.450 +109 2.43995 9.000 +110 2.45005 8.600 +111 2.46072 8.200 +112 2.47204 7.800 +113 2.48411 7.400 +114 2.49539 7.050 +115 2.50735 6.700 +116 2.52015 6.350 +117 2.53469 5.980 +118 2.54824 5.660 +119 2.56280 5.340 +120 2.57753 5.040 +121 2.59343 4.740 +122 2.60954 4.460 +123 2.62701 4.180 +124 2.64267 3.950 +125 2.65576 3.770 +126 2.66973 3.590 +127 2.68387 3.420 +128 2.69810 3.260 +129 2.71337 3.100 +130 2.73078 2.930 +131 2.74727 2.780 +132 2.76508 2.630 +133 2.78439 2.480 +134 2.80397 2.340 +135 2.82526 2.200 +136 2.84688 2.070 +137 2.87051 1.940 +138 2.89452 1.820 +139 2.92089 1.700 +140 2.95017 1.580 +141 2.98009 1.470 +142 3.01345 1.360 +143 3.04755 1.260 +144 3.07215 1.195 +145 3.09022 1.150 +146 3.10723 1.110 +147 3.12515 1.070 +148 3.14413 1.030 +149 3.16425 0.990 +150 3.18566 0.950 +151 3.20850 0.910 +152 3.22984 0.875 +153 3.25250 0.840 +154 3.27670 0.805 +155 3.30263 0.770 +156 3.33050 0.735 +157 3.36059 0.700 +158 3.38847 0.670 +159 3.41834 0.640 +160 3.45063 0.610 +161 3.48558 0.580 +162 3.52363 0.550 +163 3.56520 0.520 +164 3.60152 0.496 +165 3.63059 0.478 +166 3.66143 0.460 +167 3.69433 0.442 +168 3.72952 0.424 +169 3.76728 0.406 +170 3.80342 0.390 +171 3.84223 0.374 +172 3.88422 0.358 +173 3.92401 0.344 +174 3.96688 0.330 +175 4.01334 0.316 +176 4.06336 0.302 +177 4.07109 0.300 +178 4.24118 0.260 diff --git a/secop_psi/calcurves/X133322.340 b/secop_psi/calcurves/X133322.340 new file mode 100644 index 0000000..2494e8f --- /dev/null +++ b/secop_psi/calcurves/X133322.340 @@ -0,0 +1,187 @@ +Sensor Model: CX-1030-CU-HT-0.3L +Serial Number: X133322 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 178 + +No. Units Temperature (K) + + 1 1.55029 330.134 + 2 1.55500 325.000 + 3 1.56066 319.000 + 4 1.56596 313.500 + 5 1.57138 308.000 + 6 1.57691 302.500 + 7 1.58257 297.000 + 8 1.58835 291.500 + 9 1.59426 286.000 + 10 1.60031 280.500 + 11 1.60650 275.000 + 12 1.61283 269.500 + 13 1.61931 264.000 + 14 1.62595 258.500 + 15 1.63274 253.000 + 16 1.63970 247.500 + 17 1.64617 242.500 + 18 1.65278 237.500 + 19 1.65954 232.500 + 20 1.66646 227.500 + 21 1.67353 222.500 + 22 1.68077 217.500 + 23 1.68818 212.500 + 24 1.69576 207.500 + 25 1.70353 202.500 + 26 1.71148 197.500 + 27 1.71963 192.500 + 28 1.72798 187.500 + 29 1.73654 182.500 + 30 1.74533 177.500 + 31 1.75434 172.500 + 32 1.76360 167.500 + 33 1.77215 163.000 + 34 1.78090 158.500 + 35 1.78989 154.000 + 36 1.79910 149.500 + 37 1.80856 145.000 + 38 1.81828 140.500 + 39 1.82827 136.000 + 40 1.83855 131.500 + 41 1.84913 127.000 + 42 1.85881 123.000 + 43 1.86875 119.000 + 44 1.87898 115.000 + 45 1.88950 111.000 + 46 1.90035 107.000 + 47 1.91155 103.000 + 48 1.92020 100.000 + 49 1.92757 97.500 + 50 1.93509 95.000 + 51 1.94280 92.500 + 52 1.95068 90.000 + 53 1.95875 87.500 + 54 1.96701 85.000 + 55 1.97548 82.500 + 56 1.98418 80.000 + 57 1.99312 77.500 + 58 2.00230 75.000 + 59 2.01176 72.500 + 60 2.01953 70.500 + 61 2.02749 68.500 + 62 2.03566 66.500 + 63 2.04404 64.500 + 64 2.05264 62.500 + 65 2.06149 60.500 + 66 2.07014 58.600 + 67 2.07950 56.600 + 68 2.08915 54.600 + 69 2.09912 52.600 + 70 2.10837 50.800 + 71 2.11791 49.000 + 72 2.12775 47.200 + 73 2.13792 45.400 + 74 2.14843 43.600 + 75 2.15933 41.800 + 76 2.17063 40.000 + 77 2.18170 38.300 + 78 2.19251 36.700 + 79 2.20371 35.100 + 80 2.21536 33.500 + 81 2.22671 32.000 + 82 2.23851 30.500 + 83 2.25081 29.000 + 84 2.26279 27.600 + 85 2.27528 26.200 + 86 2.28740 24.900 + 87 2.30007 23.600 + 88 2.31336 22.300 + 89 2.32626 21.100 + 90 2.33754 20.100 + 91 2.34635 19.350 + 92 2.35484 18.650 + 93 2.36301 18.000 + 94 2.37146 17.350 + 95 2.38022 16.700 + 96 2.38933 16.050 + 97 2.39808 15.450 + 98 2.40717 14.850 + 99 2.41666 14.250 +100 2.42573 13.700 +101 2.43519 13.150 +102 2.44508 12.600 +103 2.45451 12.100 +104 2.46436 11.600 +105 2.47470 11.100 +106 2.48448 10.650 +107 2.49473 10.200 +108 2.50553 9.750 +109 2.51693 9.300 +110 2.52901 8.850 +111 2.54041 8.450 +112 2.55247 8.050 +113 2.56529 7.650 +114 2.57898 7.250 +115 2.59179 6.900 +116 2.60542 6.550 +117 2.62003 6.200 +118 2.63527 5.860 +119 2.65070 5.540 +120 2.66734 5.220 +121 2.68422 4.920 +122 2.70249 4.620 +123 2.72105 4.340 +124 2.74125 4.060 +125 2.75780 3.850 +126 2.77292 3.670 +127 2.78820 3.500 +128 2.80455 3.330 +129 2.82109 3.170 +130 2.83999 3.000 +131 2.85912 2.840 +132 2.87847 2.690 +133 2.89944 2.540 +134 2.92068 2.400 +135 2.94374 2.260 +136 2.96715 2.130 +137 2.99268 2.000 +138 3.02081 1.870 +139 3.04953 1.750 +140 3.07855 1.640 +141 3.11060 1.530 +142 3.14634 1.420 +143 3.18275 1.320 +144 3.22347 1.220 +145 3.25085 1.160 +146 3.27008 1.120 +147 3.29042 1.080 +148 3.31194 1.040 +149 3.33479 1.000 +150 3.35913 0.960 +151 3.38510 0.920 +152 3.40940 0.885 +153 3.43522 0.850 +154 3.46283 0.815 +155 3.49245 0.780 +156 3.52435 0.745 +157 3.55382 0.715 +158 3.58534 0.685 +159 3.61932 0.655 +160 3.65604 0.625 +161 3.69588 0.595 +162 3.73928 0.565 +163 3.78677 0.535 +164 3.83889 0.505 +165 3.87877 0.484 +166 3.91505 0.466 +167 3.95370 0.448 +168 3.99504 0.430 +169 4.03937 0.412 +170 4.08170 0.396 +171 4.12718 0.380 +172 4.17645 0.364 +173 4.22321 0.350 +174 4.27377 0.336 +175 4.32889 0.322 +176 4.38864 0.308 +177 4.42509 0.300 +178 4.63659 0.260 diff --git a/secop_psi/calcurves/X14126.340 b/secop_psi/calcurves/X14126.340 new file mode 100644 index 0000000..74a4f7d --- /dev/null +++ b/secop_psi/calcurves/X14126.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X14126 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.72583 325.000 + 2 1.73246 319.500 + 3 1.73862 314.500 + 4 1.74491 309.500 + 5 1.75135 304.500 + 6 1.75792 299.500 + 7 1.76465 294.500 + 8 1.77152 289.500 + 9 1.77855 284.500 + 10 1.78574 279.500 + 11 1.79310 274.500 + 12 1.80063 269.500 + 13 1.80834 264.500 + 14 1.81622 259.500 + 15 1.82430 254.500 + 16 1.83257 249.500 + 17 1.84104 244.500 + 18 1.84972 239.500 + 19 1.85862 234.500 + 20 1.86773 229.500 + 21 1.87708 224.500 + 22 1.88667 219.500 + 23 1.89651 214.500 + 24 1.90660 209.500 + 25 1.91697 204.500 + 26 1.92654 200.000 + 27 1.93634 195.500 + 28 1.94640 191.000 + 29 1.95670 186.500 + 30 1.96728 182.000 + 31 1.97813 177.500 + 32 1.98927 173.000 + 33 2.00072 168.500 + 34 2.01248 164.000 + 35 2.02458 159.500 + 36 2.03703 155.000 + 37 2.04985 150.500 + 38 2.06157 146.500 + 39 2.07360 142.500 + 40 2.08597 138.500 + 41 2.09870 134.500 + 42 2.11179 130.500 + 43 2.12528 126.500 + 44 2.13918 122.500 + 45 2.15352 118.500 + 46 2.16832 114.500 + 47 2.18363 110.500 + 48 2.19747 107.000 + 49 2.21172 103.500 + 50 2.22434 100.500 + 51 2.23512 98.000 + 52 2.24615 95.500 + 53 2.25748 93.000 + 54 2.26910 90.500 + 55 2.28103 88.000 + 56 2.29330 85.500 + 57 2.30594 83.000 + 58 2.31894 80.500 + 59 2.33233 78.000 + 60 2.34335 76.000 + 61 2.35463 74.000 + 62 2.36622 72.000 + 63 2.37812 70.000 + 64 2.39036 68.000 + 65 2.40295 66.000 + 66 2.41591 64.000 + 67 2.42928 62.000 + 68 2.44306 60.000 + 69 2.45586 58.200 + 70 2.46905 56.400 + 71 2.48265 54.600 + 72 2.49670 52.800 + 73 2.51122 51.000 + 74 2.52626 49.200 + 75 2.54183 47.400 + 76 2.55619 45.800 + 77 2.57102 44.200 + 78 2.58639 42.600 + 79 2.60234 41.000 + 80 2.61890 39.400 + 81 2.63504 37.900 + 82 2.65182 36.400 + 83 2.66928 34.900 + 84 2.68627 33.500 + 85 2.70395 32.100 + 86 2.72240 30.700 + 87 2.74170 29.300 + 88 2.76046 28.000 + 89 2.78007 26.700 + 90 2.80065 25.400 + 91 2.82060 24.200 + 92 2.84153 23.000 + 93 2.86359 21.800 + 94 2.88492 20.700 + 95 2.90223 19.850 + 96 2.91595 19.200 + 97 2.93015 18.550 + 98 2.94487 17.900 + 99 2.96017 17.250 +100 2.97484 16.650 +101 2.99009 16.050 +102 3.00598 15.450 +103 3.02255 14.850 +104 3.03844 14.300 +105 3.05359 13.800 +106 3.07103 13.250 +107 3.08924 12.700 +108 3.10651 12.200 +109 3.12464 11.700 +110 3.14372 11.200 +111 3.16180 10.750 +112 3.18076 10.300 +113 3.20076 9.850 +114 3.22189 9.400 +115 3.24178 9.000 +116 3.26275 8.600 +117 3.28500 8.200 +118 3.30864 7.800 +119 3.33390 7.400 +120 3.35754 7.050 +121 3.38269 6.700 +122 3.40967 6.350 +123 3.44042 5.980 +124 3.46919 5.660 +125 3.49825 5.360 +126 3.52962 5.060 +127 3.56371 4.760 +128 3.59841 4.480 +129 3.63350 4.220 +130 3.66280 4.020 +131 3.69087 3.840 +132 3.72097 3.660 +133 3.75145 3.490 +134 3.78417 3.320 +135 3.81735 3.160 +136 3.85307 3.000 +137 3.88930 2.850 +138 3.92845 2.700 +139 3.96815 2.560 +140 4.01122 2.420 +141 4.05835 2.280 +142 4.10638 2.150 +143 4.15494 2.030 +144 4.20822 1.910 +145 4.26720 1.790 +146 4.32727 1.680 +147 4.39390 1.570 +148 4.46851 1.460 +149 4.51379 1.400 diff --git a/secop_psi/calcurves/X14129.340 b/secop_psi/calcurves/X14129.340 new file mode 100644 index 0000000..b13f097 --- /dev/null +++ b/secop_psi/calcurves/X14129.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X14129 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.71730 325.000 + 2 1.72456 319.000 + 3 1.73138 313.500 + 4 1.73836 308.000 + 5 1.74550 302.500 + 6 1.75282 297.000 + 7 1.75963 292.000 + 8 1.76659 287.000 + 9 1.77371 282.000 + 10 1.78099 277.000 + 11 1.78844 272.000 + 12 1.79605 267.000 + 13 1.80385 262.000 + 14 1.81183 257.000 + 15 1.82000 252.000 + 16 1.82837 247.000 + 17 1.83694 242.000 + 18 1.84573 237.000 + 19 1.85473 232.000 + 20 1.86396 227.000 + 21 1.87342 222.000 + 22 1.88312 217.000 + 23 1.89308 212.000 + 24 1.90331 207.000 + 25 1.91381 202.000 + 26 1.92350 197.500 + 27 1.93344 193.000 + 28 1.94362 188.500 + 29 1.95406 184.000 + 30 1.96478 179.500 + 31 1.97578 175.000 + 32 1.98707 170.500 + 33 1.99868 166.000 + 34 2.01060 161.500 + 35 2.02287 157.000 + 36 2.03549 152.500 + 37 2.04849 148.000 + 38 2.06038 144.000 + 39 2.07258 140.000 + 40 2.08513 136.000 + 41 2.09805 132.000 + 42 2.11134 128.000 + 43 2.12503 124.000 + 44 2.13916 120.000 + 45 2.15373 116.000 + 46 2.16879 112.000 + 47 2.18240 108.500 + 48 2.19641 105.000 + 49 2.21088 101.500 + 50 2.22153 99.000 + 51 2.23241 96.500 + 52 2.24357 94.000 + 53 2.25502 91.500 + 54 2.26678 89.000 + 55 2.27885 86.500 + 56 2.29127 84.000 + 57 2.30406 81.500 + 58 2.31721 79.000 + 59 2.32804 77.000 + 60 2.33911 75.000 + 61 2.35048 73.000 + 62 2.36215 71.000 + 63 2.37414 69.000 + 64 2.38646 67.000 + 65 2.39916 65.000 + 66 2.41223 63.000 + 67 2.42571 61.000 + 68 2.43963 59.000 + 69 2.45256 57.200 + 70 2.46589 55.400 + 71 2.47965 53.600 + 72 2.49387 51.800 + 73 2.50858 50.000 + 74 2.52382 48.200 + 75 2.53962 46.400 + 76 2.55419 44.800 + 77 2.56926 43.200 + 78 2.58489 41.600 + 79 2.60214 39.900 + 80 2.61905 38.300 + 81 2.63555 36.800 + 82 2.65269 35.300 + 83 2.67057 33.800 + 84 2.68797 32.400 + 85 2.70610 31.000 + 86 2.72504 29.600 + 87 2.74344 28.300 + 88 2.76266 27.000 + 89 2.78282 25.700 + 90 2.80234 24.500 + 91 2.82281 23.300 + 92 2.84437 22.100 + 93 2.86521 21.000 + 94 2.88312 20.100 + 95 2.89762 19.400 + 96 2.91157 18.750 + 97 2.92603 18.100 + 98 2.94106 17.450 + 99 2.95548 16.850 +100 2.97045 16.250 +101 2.98605 15.650 +102 3.00095 15.100 +103 3.01646 14.550 +104 3.03262 14.000 +105 3.04948 13.450 +106 3.06551 12.950 +107 3.08226 12.450 +108 3.09983 11.950 +109 3.11826 11.450 +110 3.13768 10.950 +111 3.15610 10.500 +112 3.17546 10.050 +113 3.19590 9.600 +114 3.21756 9.150 +115 3.23797 8.750 +116 3.25954 8.350 +117 3.28247 7.950 +118 3.30691 7.550 +119 3.32976 7.200 +120 3.35403 6.850 +121 3.38001 6.500 +122 3.40792 6.150 +123 3.43627 5.820 +124 3.46594 5.500 +125 3.49600 5.200 +126 3.52854 4.900 +127 3.56160 4.620 +128 3.59754 4.340 +129 3.63412 4.080 +130 3.66469 3.880 +131 3.69413 3.700 +132 3.72394 3.530 +133 3.75590 3.360 +134 3.78829 3.200 +135 3.82313 3.040 +136 3.85843 2.890 +137 3.89652 2.740 +138 3.93794 2.590 +139 3.98007 2.450 +140 4.02266 2.320 +141 4.06906 2.190 +142 4.12001 2.060 +143 4.17190 1.940 +144 4.22907 1.820 +145 4.29272 1.700 +146 4.35791 1.590 +147 4.43055 1.480 +148 4.48954 1.400 diff --git a/secop_psi/calcurves/X14130.340 b/secop_psi/calcurves/X14130.340 new file mode 100644 index 0000000..6fb41ea --- /dev/null +++ b/secop_psi/calcurves/X14130.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X14130 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.72913 325.000 + 2 1.73648 319.000 + 3 1.74337 313.500 + 4 1.75043 308.000 + 5 1.75765 302.500 + 6 1.76505 297.000 + 7 1.77194 292.000 + 8 1.77897 287.000 + 9 1.78617 282.000 + 10 1.79352 277.000 + 11 1.80105 272.000 + 12 1.80875 267.000 + 13 1.81664 262.000 + 14 1.82470 257.000 + 15 1.83296 252.000 + 16 1.84142 247.000 + 17 1.85009 242.000 + 18 1.85897 237.000 + 19 1.86807 232.000 + 20 1.87740 227.000 + 21 1.88696 222.000 + 22 1.89678 217.000 + 23 1.90685 212.000 + 24 1.91718 207.000 + 25 1.92780 202.000 + 26 1.93761 197.500 + 27 1.94765 193.000 + 28 1.95795 188.500 + 29 1.96851 184.000 + 30 1.97934 179.500 + 31 1.99047 175.000 + 32 2.00189 170.500 + 33 2.01362 166.000 + 34 2.02569 161.500 + 35 2.03809 157.000 + 36 2.05086 152.500 + 37 2.06401 148.000 + 38 2.07604 144.000 + 39 2.08840 140.000 + 40 2.10110 136.000 + 41 2.11417 132.000 + 42 2.12763 128.000 + 43 2.14150 124.000 + 44 2.15580 120.000 + 45 2.17057 116.000 + 46 2.18583 112.000 + 47 2.19962 108.500 + 48 2.21382 105.000 + 49 2.22849 101.500 + 50 2.23928 99.000 + 51 2.25031 96.500 + 52 2.26162 94.000 + 53 2.27322 91.500 + 54 2.28513 89.000 + 55 2.29737 86.500 + 56 2.30995 84.000 + 57 2.32289 81.500 + 58 2.33622 79.000 + 59 2.34718 77.000 + 60 2.35840 75.000 + 61 2.36992 73.000 + 62 2.38176 71.000 + 63 2.39392 69.000 + 64 2.40643 67.000 + 65 2.41930 65.000 + 66 2.43257 63.000 + 67 2.44625 61.000 + 68 2.46038 59.000 + 69 2.47351 57.200 + 70 2.48705 55.400 + 71 2.50102 53.600 + 72 2.51546 51.800 + 73 2.53040 50.000 + 74 2.54588 48.200 + 75 2.56193 46.400 + 76 2.57674 44.800 + 77 2.59205 43.200 + 78 2.60793 41.600 + 79 2.62547 39.900 + 80 2.64265 38.300 + 81 2.65942 36.800 + 82 2.67686 35.300 + 83 2.69503 33.800 + 84 2.71273 32.400 + 85 2.73116 31.000 + 86 2.75044 29.600 + 87 2.76916 28.300 + 88 2.78872 27.000 + 89 2.80923 25.700 + 90 2.82911 24.500 + 91 2.84995 23.300 + 92 2.87191 22.100 + 93 2.89314 21.000 + 94 2.91139 20.100 + 95 2.92617 19.400 + 96 2.94038 18.750 + 97 2.95513 18.100 + 98 2.97045 17.450 + 99 2.98515 16.850 +100 3.00043 16.250 +101 3.01633 15.650 +102 3.03153 15.100 +103 3.04735 14.550 +104 3.06384 14.000 +105 3.08102 13.450 +106 3.09737 12.950 +107 3.11447 12.450 +108 3.13240 11.950 +109 3.15122 11.450 +110 3.17103 10.950 +111 3.18984 10.500 +112 3.20961 10.050 +113 3.23050 9.600 +114 3.25262 9.150 +115 3.27348 8.750 +116 3.29552 8.350 +117 3.31896 7.950 +118 3.34394 7.550 +119 3.36731 7.200 +120 3.39213 6.850 +121 3.41871 6.500 +122 3.44727 6.150 +123 3.47628 5.820 +124 3.50664 5.500 +125 3.53742 5.200 +126 3.57073 4.900 +127 3.60458 4.620 +128 3.64139 4.340 +129 3.67886 4.080 +130 3.71019 3.880 +131 3.74035 3.700 +132 3.77090 3.530 +133 3.80366 3.360 +134 3.83687 3.200 +135 3.87259 3.040 +136 3.90880 2.890 +137 3.94789 2.740 +138 3.99040 2.590 +139 4.03368 2.450 +140 4.07744 2.320 +141 4.12515 2.190 +142 4.17757 2.060 +143 4.23097 1.940 +144 4.28981 1.820 +145 4.35531 1.700 +146 4.42235 1.590 +147 4.49696 1.480 +148 4.55747 1.400 diff --git a/secop_psi/calcurves/X141457.340 b/secop_psi/calcurves/X141457.340 new file mode 100644 index 0000000..94789a3 --- /dev/null +++ b/secop_psi/calcurves/X141457.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-BC-HT-1.4L +Serial Number: X141457 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.80543 330.080 + 2 1.81175 325.000 + 3 1.81943 319.000 + 4 1.82662 313.500 + 5 1.83397 308.000 + 6 1.84148 302.500 + 7 1.84915 297.000 + 8 1.85699 291.500 + 9 1.86501 286.000 + 10 1.87321 280.500 + 11 1.88159 275.000 + 12 1.89017 269.500 + 13 1.89896 264.000 + 14 1.90795 258.500 + 15 1.91715 253.000 + 16 1.92658 247.500 + 17 1.93535 242.500 + 18 1.94432 237.500 + 19 1.95349 232.500 + 20 1.96287 227.500 + 21 1.97247 222.500 + 22 1.98230 217.500 + 23 1.99236 212.500 + 24 2.00267 207.500 + 25 2.01323 202.500 + 26 2.02405 197.500 + 27 2.03515 192.500 + 28 2.04653 187.500 + 29 2.05822 182.500 + 30 2.07021 177.500 + 31 2.08129 173.000 + 32 2.09264 168.500 + 33 2.10428 164.000 + 34 2.11622 159.500 + 35 2.12847 155.000 + 36 2.14106 150.500 + 37 2.15400 146.000 + 38 2.16731 141.500 + 39 2.18100 137.000 + 40 2.19352 133.000 + 41 2.20638 129.000 + 42 2.21960 125.000 + 43 2.23320 121.000 + 44 2.24721 117.000 + 45 2.26165 113.000 + 46 2.27655 109.000 + 47 2.29194 105.000 + 48 2.30586 101.500 + 49 2.31607 99.000 + 50 2.32648 96.500 + 51 2.33715 94.000 + 52 2.34807 91.500 + 53 2.35927 89.000 + 54 2.37074 86.500 + 55 2.38252 84.000 + 56 2.39461 81.500 + 57 2.40705 79.000 + 58 2.41984 76.500 + 59 2.43037 74.500 + 60 2.44113 72.500 + 61 2.45218 70.500 + 62 2.46351 68.500 + 63 2.47514 66.500 + 64 2.48710 64.500 + 65 2.49941 62.500 + 66 2.51208 60.500 + 67 2.52447 58.600 + 68 2.53791 56.600 + 69 2.55180 54.600 + 70 2.56471 52.800 + 71 2.57802 51.000 + 72 2.59177 49.200 + 73 2.60598 47.400 + 74 2.62069 45.600 + 75 2.63594 43.800 + 76 2.65000 42.200 + 77 2.66453 40.600 + 78 2.67960 39.000 + 79 2.69524 37.400 + 80 2.71150 35.800 + 81 2.72736 34.300 + 82 2.74386 32.800 + 83 2.76107 31.300 + 84 2.77784 29.900 + 85 2.79532 28.500 + 86 2.81231 27.200 + 87 2.83004 25.900 + 88 2.84863 24.600 + 89 2.86666 23.400 + 90 2.88556 22.200 + 91 2.90550 21.000 + 92 2.92125 20.100 + 93 2.93397 19.400 + 94 2.94619 18.750 + 95 2.95885 18.100 + 96 2.97200 17.450 + 97 2.98460 16.850 + 98 2.99769 16.250 + 99 3.01130 15.650 +100 3.02431 15.100 +101 3.03784 14.550 +102 3.05196 14.000 +103 3.06671 13.450 +104 3.08076 12.950 +105 3.09544 12.450 +106 3.11085 11.950 +107 3.12704 11.450 +108 3.14238 11.000 +109 3.15849 10.550 +110 3.17548 10.100 +111 3.19345 9.650 +112 3.21038 9.250 +113 3.22823 8.850 +114 3.24719 8.450 +115 3.26737 8.050 +116 3.28619 7.700 +117 3.30616 7.350 +118 3.32750 7.000 +119 3.35035 6.650 +120 3.37495 6.300 +121 3.40235 5.940 +122 3.42707 5.640 +123 3.45372 5.340 +124 3.48263 5.040 +125 3.51200 4.760 +126 3.54396 4.480 +127 3.57647 4.220 +128 3.60366 4.020 +129 3.62831 3.850 +130 3.65464 3.680 +131 3.68290 3.510 +132 3.71149 3.350 +133 3.74223 3.190 +134 3.77336 3.040 +135 3.80695 2.890 +136 3.84344 2.740 +137 3.88056 2.600 +138 3.92099 2.460 +139 3.96211 2.330 +140 4.00702 2.200 +141 4.05646 2.070 +142 4.10676 1.950 +143 4.16201 1.830 +144 4.22329 1.710 +145 4.28584 1.600 +146 4.34911 1.500 +147 4.41366 1.410 +148 4.42202 1.400 +149 4.59793 1.201 diff --git a/secop_psi/calcurves/X14231.340 b/secop_psi/calcurves/X14231.340 new file mode 100644 index 0000000..dc99659 --- /dev/null +++ b/secop_psi/calcurves/X14231.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X14231 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.72504 325.000 + 2 1.73221 319.000 + 3 1.73894 313.500 + 4 1.74583 308.000 + 5 1.75288 302.500 + 6 1.76010 297.000 + 7 1.76681 292.000 + 8 1.77368 287.000 + 9 1.78070 282.000 + 10 1.78788 277.000 + 11 1.79523 272.000 + 12 1.80275 267.000 + 13 1.81045 262.000 + 14 1.81833 257.000 + 15 1.82640 252.000 + 16 1.83467 247.000 + 17 1.84314 242.000 + 18 1.85183 237.000 + 19 1.86073 232.000 + 20 1.86986 227.000 + 21 1.87923 222.000 + 22 1.88884 217.000 + 23 1.89871 212.000 + 24 1.90884 207.000 + 25 1.91819 202.500 + 26 1.92777 198.000 + 27 1.93759 193.500 + 28 1.94766 189.000 + 29 1.95798 184.500 + 30 1.96858 180.000 + 31 1.97945 175.500 + 32 1.99062 171.000 + 33 2.00209 166.500 + 34 2.01388 162.000 + 35 2.02600 157.500 + 36 2.03848 153.000 + 37 2.05132 148.500 + 38 2.06308 144.500 + 39 2.07515 140.500 + 40 2.08756 136.500 + 41 2.10033 132.500 + 42 2.11348 128.500 + 43 2.12703 124.500 + 44 2.14101 120.500 + 45 2.15544 116.500 + 46 2.17035 112.500 + 47 2.18384 109.000 + 48 2.19772 105.500 + 49 2.21207 102.000 + 50 2.22262 99.500 + 51 2.23340 97.000 + 52 2.24445 94.500 + 53 2.25579 92.000 + 54 2.26742 89.500 + 55 2.27936 87.000 + 56 2.29163 84.500 + 57 2.30425 82.000 + 58 2.31463 80.000 + 59 2.32525 78.000 + 60 2.33615 76.000 + 61 2.34732 74.000 + 62 2.35878 72.000 + 63 2.37055 70.000 + 64 2.38266 68.000 + 65 2.39511 66.000 + 66 2.40794 64.000 + 67 2.42116 62.000 + 68 2.43481 60.000 + 69 2.44748 58.200 + 70 2.46053 56.400 + 71 2.47400 54.600 + 72 2.48792 52.800 + 73 2.50230 51.000 + 74 2.51719 49.200 + 75 2.53262 47.400 + 76 2.54684 45.800 + 77 2.56154 44.200 + 78 2.57677 42.600 + 79 2.59257 41.000 + 80 2.60898 39.400 + 81 2.62497 37.900 + 82 2.64158 36.400 + 83 2.65887 34.900 + 84 2.67568 33.500 + 85 2.69317 32.100 + 86 2.71142 30.700 + 87 2.73050 29.300 + 88 2.74904 28.000 + 89 2.76841 26.700 + 90 2.78874 25.400 + 91 2.80845 24.200 + 92 2.82913 23.000 + 93 2.85092 21.800 + 94 2.87200 20.700 + 95 2.88912 19.850 + 96 2.90271 19.200 + 97 2.91677 18.550 + 98 2.93136 17.900 + 99 2.94653 17.250 +100 2.96109 16.650 +101 2.97622 16.050 +102 2.99199 15.450 +103 3.00707 14.900 +104 3.02276 14.350 +105 3.03913 13.800 +106 3.05621 13.250 +107 3.07249 12.750 +108 3.08951 12.250 +109 3.10736 11.750 +110 3.12612 11.250 +111 3.14389 10.800 +112 3.16254 10.350 +113 3.18220 9.900 +114 3.20296 9.450 +115 3.22498 9.000 +116 3.24576 8.600 +117 3.26774 8.200 +118 3.29114 7.800 +119 3.31293 7.450 +120 3.33605 7.100 +121 3.36071 6.750 +122 3.38712 6.400 +123 3.41552 6.050 +124 3.44440 5.720 +125 3.47468 5.400 +126 3.50541 5.100 +127 3.53646 4.820 +128 3.57010 4.540 +129 3.60684 4.260 +130 3.64131 4.020 +131 3.67076 3.830 +132 3.69893 3.660 +133 3.72904 3.490 +134 3.76140 3.320 +135 3.79420 3.160 +136 3.82951 3.000 +137 3.86533 2.850 +138 3.90402 2.700 +139 3.94327 2.560 +140 3.98584 2.420 +141 4.03243 2.280 +142 4.07991 2.150 +143 4.12792 2.030 +144 4.18061 1.910 +145 4.23892 1.790 +146 4.29833 1.680 +147 4.36423 1.570 +148 4.43801 1.460 +149 4.48278 1.400 diff --git a/secop_psi/calcurves/X143499-Jakub_modif.340 b/secop_psi/calcurves/X143499-Jakub_modif.340 new file mode 100644 index 0000000..be9ba76 --- /dev/null +++ b/secop_psi/calcurves/X143499-Jakub_modif.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X143499-Jakub_modif +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + +1 1.80227 331.524 +2 1.81075 325 +3 1.81876 319 +4 1.82626 313.5 +5 1.83392 308 +6 1.84174 302.5 +7 1.84974 297 +8 1.85791 291.5 +9 1.86627 286 +10 1.87481 280.5 +11 1.88355 275 +12 1.89249 269.5 +13 1.90164 264 +14 1.91101 258.5 +15 1.9206 253 +16 1.93042 247.5 +17 1.93956 242.5 +18 1.9489 237.5 +19 1.95845 232.5 +20 1.96823 227.5 +21 1.97823 222.5 +22 1.98847 217.5 +23 1.99895 212.5 +24 2.00969 207.5 +25 2.02069 202.5 +26 2.03197 197.5 +27 2.04354 192.5 +28 2.0554 187.5 +29 2.06758 182.5 +30 2.08008 177.5 +31 2.09162 173 +32 2.10345 168.5 +33 2.11558 164 +34 2.12802 159.5 +35 2.14079 155 +36 2.15391 150.5 +37 2.16738 146 +38 2.18124 141.5 +39 2.1955 137 +40 2.21018 132.5 +41 2.22363 128.5 +42 2.23743 124.5 +43 2.25164 120.5 +44 2.26627 116.5 +45 2.28135 112.5 +46 2.29692 108.5 +47 2.31299 104.5 +48 2.32753 101 +49 2.3382 98.5 +50 2.34908 96 +51 2.36022 93.5 +52 2.37164 91 +53 2.38333 88.5 +54 2.39532 86 +55 2.40762 83.5 +56 2.42026 81 +57 2.43324 78.5 +58 2.4466 76 +59 2.45759 74 +60 2.46884 72 +61 2.48038 70 +62 2.49221 68 +63 2.50437 66 +64 2.51686 64 +65 2.52972 62 +66 2.54295 60 +67 2.55659 58 +68 2.57067 56 +69 2.58374 54.2 +70 2.5972 52.4 +71 2.6111 50.6 +72 2.62544 48.8 +73 2.64028 47 +74 2.65564 45.2 +75 2.67157 43.4 +76 2.68626 41.8 +77 2.70144 40.2 +78 2.71719 38.6 +79 2.73355 37 +80 2.74948 35.5 +81 2.76603 34 +82 2.78327 32.5 +83 2.80004 31.1 +84 2.8175 29.7 +85 2.83575 28.3 +86 2.85347 27 +87 2.872 25.7 +88 2.89144 24.4 +89 2.91031 23.2 +90 2.93012 22 +91 2.94927 20.9 +92 2.96388 20.1 +93 2.97615 19.45 +94 2.98885 18.8 +95 3.00202 18.15 +96 3.01569 17.5 +97 3.02882 16.9 +98 3.04244 16.3 +99 3.05664 15.7 +100 3.07021 15.15 +101 3.08434 14.6 +102 3.09909 14.05 +103 3.11452 13.5 +104 3.12921 13 +105 3.14456 12.5 +106 3.16067 12 +107 3.17763 11.5 +108 3.19371 11.05 +109 3.2106 10.6 +110 3.22844 10.15 +111 3.24732 9.7 +112 3.26512 9.3 +113 3.28392 8.9 +114 3.30389 8.5 +115 3.32517 8.1 +116 3.34503 7.75 +117 3.36613 7.4 +118 3.38868 7.05 +119 3.41285 6.7 +120 3.43889 6.35 +121 3.46296 6.05 +122 3.48782 5.76 +123 3.51558 5.46 +124 3.54564 5.16 +125 3.57617 4.88 +126 3.60936 4.6 +127 3.64307 4.34 +128 3.67989 4.08 +129 3.71092 3.88 +130 3.73917 3.71 +131 3.76947 3.54 +132 3.80017 3.38 +133 3.83319 3.22 +134 3.86664 3.07 +135 3.90274 2.92 +136 3.94196 2.77 +137 3.9818 2.63 +138 4.02512 2.49 +139 4.07256 2.35 +140 4.12089 2.22 +141 4.17384 2.09 +142 4.22779 1.97 +143 4.2872 1.85 +144 4.34776 1.74 +145 4.40883 1.64 +146 4.4771 1.54 +147 4.56124 1.43 +148 4.58681 1.4 +149 4.77729 1.199 diff --git a/secop_psi/calcurves/X143499.340 b/secop_psi/calcurves/X143499.340 new file mode 100644 index 0000000..d942162 --- /dev/null +++ b/secop_psi/calcurves/X143499.340 @@ -0,0 +1,158 @@ +Sensor Model: Cold Plate +Serial Number: X143499 +Data Format: 4 (Log Ohms vs. Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 180227 331524000.000 + 2 181075 325000000.000 + 3 181876 319000000.000 + 4 182626 313500000.000 + 5 183392 308000000.000 + 6 184174 302500000.000 + 7 184974 297000000.000 + 8 185791 291500000.000 + 9 186627 286000000.000 + 10 187481 280500000.000 + 11 188355 275000000.000 + 12 189249 269500000.000 + 13 190164 264000000.000 + 14 191101 258500000.000 + 15 192060 253000000.000 + 16 193042 247500000.000 + 17 193956 242500000.000 + 18 194890 237500000.000 + 19 195845 232500000.000 + 20 196823 227500000.000 + 21 197823 222500000.000 + 22 198847 217500000.000 + 23 199895 212500000.000 + 24 200969 207500000.000 + 25 202069 202500000.000 + 26 203197 197500000.000 + 27 204354 192500000.000 + 28 205540 187500000.000 + 29 206758 182500000.000 + 30 208008 177500000.000 + 31 209162 173000000.000 + 32 210345 168500000.000 + 33 211558 164000000.000 + 34 212802 159500000.000 + 35 214079 155000000.000 + 36 215391 150500000.000 + 37 216738 146000000.000 + 38 218124 141500000.000 + 39 219550 137000000.000 + 40 221018 132500000.000 + 41 222363 128500000.000 + 42 223743 124500000.000 + 43 225164 120500000.000 + 44 226627 116500000.000 + 45 228135 112500000.000 + 46 229692 108500000.000 + 47 231299 104500000.000 + 48 232753 101000000.000 + 49 233820 98500000.000 + 50 234908 96000000.000 + 51 236022 93500000.000 + 52 237164 91000000.000 + 53 238333 88500000.000 + 54 239532 86000000.000 + 55 240762 83500000.000 + 56 242026 81000000.000 + 57 243324 78500000.000 + 58 244660 76000000.000 + 59 245759 74000000.000 + 60 246884 72000000.000 + 61 248038 70000000.000 + 62 249221 68000000.000 + 63 250437 66000000.000 + 64 251686 64000000.000 + 65 252972 62000000.000 + 66 254295 60000000.000 + 67 255659 58000000.000 + 68 257067 56000000.000 + 69 258374 54200000.000 + 70 259720 52400000.000 + 71 261110 50600000.000 + 72 262544 48800000.000 + 73 264028 47000000.000 + 74 265564 45200000.000 + 75 267157 43400000.000 + 76 268626 41800000.000 + 77 270144 40200000.000 + 78 271719 38600000.000 + 79 273355 37000000.000 + 80 274948 35500000.000 + 81 276603 34000000.000 + 82 278327 32500000.000 + 83 280004 31100000.000 + 84 281750 29700000.000 + 85 283575 28300000.000 + 86 285347 27000000.000 + 87 287200 25700000.000 + 88 289144 24400000.000 + 89 291031 23200000.000 + 90 293012 22000000.000 + 91 294927 20900000.000 + 92 296388 20100000.000 + 93 297615 19450000.000 + 94 298885 18800000.000 + 95 300202 18150000.000 + 96 301569 17500000.000 + 97 302882 16900000.000 + 98 304244 16300000.000 + 99 305664 15700000.000 +100 307021 15150000.000 +101 308434 14600000.000 +102 309909 14050000.000 +103 311452 13500000.000 +104 312921 13000000.000 +105 314456 12500000.000 +106 316067 12000000.000 +107 317763 11500000.000 +108 319371 11050000.000 +109 321060 10600000.000 +110 322844 10150000.000 +111 324732 9700000.000 +112 326512 9300000.000 +113 328392 8900000.000 +114 330389 8500000.000 +115 332517 8100000.000 +116 334503 7750000.000 +117 336613 7400000.000 +118 338868 7050000.000 +119 341285 6700000.000 +120 343889 6350000.000 +121 346296 6050000.000 +122 348782 5760000.000 +123 351558 5460000.000 +124 354564 5160000.000 +125 357617 4880000.000 +126 360936 4600000.000 +127 364307 4340000.000 +128 367989 4080000.000 +129 371092 3880000.000 +130 373917 3710000.000 +131 376947 3540000.000 +132 380017 3380000.000 +133 383319 3220000.000 +134 386664 3070000.000 +135 390274 2920000.000 +136 394196 2770000.000 +137 398180 2630000.000 +138 402512 2490000.000 +139 407256 2350000.000 +140 412089 2220000.000 +141 417384 2090000.000 +142 422779 1970000.000 +143 428720 1850000.000 +144 434776 1740000.000 +145 440883 1640000.000 +146 447710 1540000.000 +147 456124 1430000.000 +148 458681 1400000.000 +149 477729 1199000.000 diff --git a/secop_psi/calcurves/X15601.340 b/secop_psi/calcurves/X15601.340 new file mode 100644 index 0000000..847fef1 --- /dev/null +++ b/secop_psi/calcurves/X15601.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X15601 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.70408 325.000 + 2 1.71108 319.000 + 3 1.71764 313.500 + 4 1.72437 308.000 + 5 1.73125 302.500 + 6 1.73831 297.000 + 7 1.74487 292.000 + 8 1.75157 287.000 + 9 1.75843 282.000 + 10 1.76544 277.000 + 11 1.77261 272.000 + 12 1.77994 267.000 + 13 1.78744 262.000 + 14 1.79512 257.000 + 15 1.80298 252.000 + 16 1.81102 247.000 + 17 1.81925 242.000 + 18 1.82768 237.000 + 19 1.83632 232.000 + 20 1.84517 227.000 + 21 1.85424 222.000 + 22 1.86354 217.000 + 23 1.87307 212.000 + 24 1.88285 207.000 + 25 1.89289 202.000 + 26 1.90319 197.000 + 27 1.91270 192.500 + 28 1.92245 188.000 + 29 1.93243 183.500 + 30 1.94268 179.000 + 31 1.95318 174.500 + 32 1.96396 170.000 + 33 1.97503 165.500 + 34 1.98640 161.000 + 35 1.99809 156.500 + 36 2.01010 152.000 + 37 2.02247 147.500 + 38 2.03520 143.000 + 39 2.04831 138.500 + 40 2.06031 134.500 + 41 2.07264 130.500 + 42 2.08532 126.500 + 43 2.09838 122.500 + 44 2.11183 118.500 + 45 2.12571 114.500 + 46 2.14003 110.500 + 47 2.15482 106.500 + 48 2.16820 103.000 + 49 2.17802 100.500 + 50 2.18805 98.000 + 51 2.19832 95.500 + 52 2.20883 93.000 + 53 2.21961 90.500 + 54 2.23067 88.000 + 55 2.24202 85.500 + 56 2.25370 83.000 + 57 2.26569 80.500 + 58 2.27799 78.000 + 59 2.28811 76.000 + 60 2.29846 74.000 + 61 2.30909 72.000 + 62 2.31999 70.000 + 63 2.33118 68.000 + 64 2.34268 66.000 + 65 2.35451 64.000 + 66 2.36669 62.000 + 67 2.37923 60.000 + 68 2.39086 58.200 + 69 2.40282 56.400 + 70 2.41514 54.600 + 71 2.42784 52.800 + 72 2.44095 51.000 + 73 2.45450 49.200 + 74 2.46851 47.400 + 75 2.48301 45.600 + 76 2.49806 43.800 + 77 2.51193 42.200 + 78 2.52628 40.600 + 79 2.54115 39.000 + 80 2.55660 37.400 + 81 2.57266 35.800 + 82 2.58833 34.300 + 83 2.60463 32.800 + 84 2.62163 31.300 + 85 2.63819 29.900 + 86 2.65545 28.500 + 87 2.67352 27.100 + 88 2.69108 25.800 + 89 2.70946 24.500 + 90 2.72727 23.300 + 91 2.74593 22.100 + 92 2.76557 20.900 + 93 2.78106 20.000 + 94 2.79355 19.300 + 95 2.80647 18.600 + 96 2.81891 17.950 + 97 2.83179 17.300 + 98 2.84516 16.650 + 99 2.85798 16.050 +100 2.87130 15.450 +101 2.88516 14.850 +102 2.89839 14.300 +103 2.91216 13.750 +104 2.92654 13.200 +105 2.94157 12.650 +106 2.95589 12.150 +107 2.97085 11.650 +108 2.98655 11.150 +109 3.00305 10.650 +110 3.01869 10.200 +111 3.03510 9.750 +112 3.05242 9.300 +113 3.07073 8.850 +114 3.08798 8.450 +115 3.10618 8.050 +116 3.12550 7.650 +117 3.14608 7.250 +118 3.16529 6.900 +119 3.18569 6.550 +120 3.20752 6.200 +121 3.23027 5.860 +122 3.25326 5.540 +123 3.27803 5.220 +124 3.30316 4.920 +125 3.32850 4.640 +126 3.35594 4.360 +127 3.38588 4.080 +128 3.41038 3.870 +129 3.43277 3.690 +130 3.45673 3.510 +131 3.48102 3.340 +132 3.50551 3.180 +133 3.53180 3.020 +134 3.56015 2.860 +135 3.58891 2.710 +136 3.62001 2.560 +137 3.65159 2.420 +138 3.68589 2.280 +139 3.72074 2.150 +140 3.75881 2.020 +141 3.79751 1.900 +142 3.84008 1.780 +143 3.88340 1.670 +144 3.93143 1.560 +145 3.98535 1.450 +146 4.01270 1.400 diff --git a/secop_psi/calcurves/X22637.340 b/secop_psi/calcurves/X22637.340 new file mode 100644 index 0000000..e35046b --- /dev/null +++ b/secop_psi/calcurves/X22637.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X22637 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.68424 325.000 + 2 1.69122 319.000 + 3 1.69775 313.500 + 4 1.70442 308.000 + 5 1.71124 302.500 + 6 1.71821 297.000 + 7 1.72533 291.500 + 8 1.73261 286.000 + 9 1.74006 280.500 + 10 1.74768 275.000 + 11 1.75548 269.500 + 12 1.76346 264.000 + 13 1.77163 258.500 + 14 1.78000 253.000 + 15 1.78779 248.000 + 16 1.79575 243.000 + 17 1.80389 238.000 + 18 1.81222 233.000 + 19 1.82074 228.000 + 20 1.82946 223.000 + 21 1.83839 218.000 + 22 1.84753 213.000 + 23 1.85689 208.000 + 24 1.86649 203.000 + 25 1.87632 198.000 + 26 1.88641 193.000 + 27 1.89676 188.000 + 28 1.90738 183.000 + 29 1.91828 178.000 + 30 1.92835 173.500 + 31 1.93866 169.000 + 32 1.94924 164.500 + 33 1.96009 160.000 + 34 1.97123 155.500 + 35 1.98267 151.000 + 36 1.99443 146.500 + 37 2.00652 142.000 + 38 2.01896 137.500 + 39 2.03177 133.000 + 40 2.04350 129.000 + 41 2.05554 125.000 + 42 2.06794 121.000 + 43 2.08070 117.000 + 44 2.09386 113.000 + 45 2.10743 109.000 + 46 2.12145 105.000 + 47 2.13595 101.000 + 48 2.14718 98.000 + 49 2.15676 95.500 + 50 2.16655 93.000 + 51 2.17658 90.500 + 52 2.18686 88.000 + 53 2.19740 85.500 + 54 2.20822 83.000 + 55 2.21933 80.500 + 56 2.23077 78.000 + 57 2.24254 75.500 + 58 2.25466 73.000 + 59 2.26465 71.000 + 60 2.27487 69.000 + 61 2.28537 67.000 + 62 2.29615 65.000 + 63 2.30724 63.000 + 64 2.31865 61.000 + 65 2.33040 59.000 + 66 2.34252 57.000 + 67 2.35503 55.000 + 68 2.36665 53.200 + 69 2.37862 51.400 + 70 2.39099 49.600 + 71 2.40376 47.800 + 72 2.41697 46.000 + 73 2.43066 44.200 + 74 2.44327 42.600 + 75 2.45629 41.000 + 76 2.47064 39.300 + 77 2.48467 37.700 + 78 2.49924 36.100 + 79 2.51346 34.600 + 80 2.52822 33.100 + 81 2.54362 31.600 + 82 2.55861 30.200 + 83 2.57423 28.800 + 84 2.59058 27.400 + 85 2.60648 26.100 + 86 2.62313 24.800 + 87 2.63927 23.600 + 88 2.65621 22.400 + 89 2.67256 21.300 + 90 2.68975 20.200 + 91 2.70293 19.400 + 92 2.71402 18.750 + 93 2.72551 18.100 + 94 2.73746 17.450 + 95 2.74894 16.850 + 96 2.76087 16.250 + 97 2.77330 15.650 + 98 2.78520 15.100 + 99 2.79759 14.550 +100 2.81053 14.000 +101 2.82282 13.500 +102 2.83565 13.000 +103 2.84911 12.500 +104 2.86324 12.000 +105 2.87660 11.550 +106 2.89062 11.100 +107 2.90537 10.650 +108 2.92095 10.200 +109 2.93744 9.750 +110 2.95299 9.350 +111 2.96940 8.950 +112 2.98684 8.550 +113 3.00541 8.150 +114 3.02275 7.800 +115 3.04114 7.450 +116 3.06081 7.100 +117 3.08186 6.750 +118 3.10453 6.400 +119 3.12903 6.050 +120 3.15253 5.740 +121 3.17707 5.440 +122 3.20365 5.140 +123 3.23064 4.860 +124 3.25997 4.580 +125 3.28976 4.320 +126 3.32229 4.060 +127 3.34970 3.860 +128 3.37463 3.690 +129 3.40136 3.520 +130 3.42843 3.360 +131 3.45751 3.200 +132 3.48896 3.040 +133 3.52090 2.890 +134 3.55549 2.740 +135 3.59062 2.600 +136 3.62876 2.460 +137 3.67050 2.320 +138 3.71302 2.190 +139 3.75595 2.070 +140 3.80301 1.950 +141 3.85507 1.830 +142 3.90813 1.720 +143 3.96169 1.620 +144 4.02130 1.520 +145 4.09409 1.410 +146 4.10169 1.400 diff --git a/secop_psi/calcurves/X22642.340 b/secop_psi/calcurves/X22642.340 new file mode 100644 index 0000000..889b564 --- /dev/null +++ b/secop_psi/calcurves/X22642.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X22642 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.74682 325.000 + 2 1.75319 319.000 + 3 1.75916 313.500 + 4 1.76527 308.000 + 5 1.77151 302.500 + 6 1.77790 297.000 + 7 1.78443 291.500 + 8 1.79111 286.000 + 9 1.79794 280.500 + 10 1.80493 275.000 + 11 1.81208 269.500 + 12 1.81941 264.000 + 13 1.82690 258.500 + 14 1.83458 253.000 + 15 1.84172 248.000 + 16 1.84901 243.000 + 17 1.85648 238.000 + 18 1.86411 233.000 + 19 1.87192 228.000 + 20 1.87992 223.000 + 21 1.88811 218.000 + 22 1.89649 213.000 + 23 1.90509 208.000 + 24 1.91390 203.000 + 25 1.92294 198.000 + 26 1.93221 193.000 + 27 1.94172 188.000 + 28 1.95051 183.500 + 29 1.95951 179.000 + 30 1.96874 174.500 + 31 1.97820 170.000 + 32 1.98791 165.500 + 33 1.99788 161.000 + 34 2.00811 156.500 + 35 2.01863 152.000 + 36 2.02944 147.500 + 37 2.04057 143.000 + 38 2.05203 138.500 + 39 2.06251 134.500 + 40 2.07328 130.500 + 41 2.08436 126.500 + 42 2.09576 122.500 + 43 2.10752 118.500 + 44 2.11965 114.500 + 45 2.13219 110.500 + 46 2.14352 107.000 + 47 2.15519 103.500 + 48 2.16551 100.500 + 49 2.17433 98.000 + 50 2.18336 95.500 + 51 2.19261 93.000 + 52 2.20210 90.500 + 53 2.21184 88.000 + 54 2.22184 85.500 + 55 2.23212 83.000 + 56 2.24269 80.500 + 57 2.25139 78.500 + 58 2.26028 76.500 + 59 2.26941 74.500 + 60 2.27878 72.500 + 61 2.28841 70.500 + 62 2.29830 68.500 + 63 2.30848 66.500 + 64 2.31895 64.500 + 65 2.32975 62.500 + 66 2.34089 60.500 + 67 2.35181 58.600 + 68 2.36248 56.800 + 69 2.37348 55.000 + 70 2.38484 53.200 + 71 2.39658 51.400 + 72 2.40873 49.600 + 73 2.42132 47.800 + 74 2.43437 46.000 + 75 2.44641 44.400 + 76 2.45887 42.800 + 77 2.47179 41.200 + 78 2.48605 39.500 + 79 2.49916 38.000 + 80 2.51276 36.500 + 81 2.52692 35.000 + 82 2.54069 33.600 + 83 2.55501 32.200 + 84 2.56995 30.800 + 85 2.58557 29.400 + 86 2.60075 28.100 + 87 2.61661 26.800 + 88 2.63326 25.500 + 89 2.64941 24.300 + 90 2.66635 23.100 + 91 2.68422 21.900 + 92 2.70151 20.800 + 93 2.71557 19.950 + 94 2.72672 19.300 + 95 2.73827 18.650 + 96 2.75027 18.000 + 97 2.76178 17.400 + 98 2.77372 16.800 + 99 2.78615 16.200 +100 2.79911 15.600 +101 2.81151 15.050 +102 2.82444 14.500 +103 2.83794 13.950 +104 2.85076 13.450 +105 2.86416 12.950 +106 2.87821 12.450 +107 2.89296 11.950 +108 2.90849 11.450 +109 2.92322 11.000 +110 2.93869 10.550 +111 2.95504 10.100 +112 2.97233 9.650 +113 2.98864 9.250 +114 3.00585 8.850 +115 3.02413 8.450 +116 3.04360 8.050 +117 3.06177 7.700 +118 3.08106 7.350 +119 3.10167 7.000 +120 3.12375 6.650 +121 3.14753 6.300 +122 3.17403 5.940 +123 3.19794 5.640 +124 3.22373 5.340 +125 3.25172 5.040 +126 3.28017 4.760 +127 3.31113 4.480 +128 3.34263 4.220 +129 3.36898 4.020 +130 3.39287 3.850 +131 3.41839 3.680 +132 3.44576 3.510 +133 3.47345 3.350 +134 3.50319 3.190 +135 3.53533 3.030 +136 3.56797 2.880 +137 3.60332 2.730 +138 3.63926 2.590 +139 3.67833 2.450 +140 3.71804 2.320 +141 3.76138 2.190 +142 3.80910 2.060 +143 3.85770 1.940 +144 3.91121 1.820 +145 3.97069 1.700 +146 4.03153 1.590 +147 4.09304 1.490 +148 4.15524 1.400 diff --git a/secop_psi/calcurves/X22643.340 b/secop_psi/calcurves/X22643.340 new file mode 100644 index 0000000..6df7615 --- /dev/null +++ b/secop_psi/calcurves/X22643.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X22643 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.78621 325.000 + 2 1.79301 319.000 + 3 1.79937 313.500 + 4 1.80586 308.000 + 5 1.81250 302.500 + 6 1.81928 297.000 + 7 1.82621 291.500 + 8 1.83329 286.000 + 9 1.84053 280.500 + 10 1.84794 275.000 + 11 1.85552 269.500 + 12 1.86328 264.000 + 13 1.87122 258.500 + 14 1.87935 253.000 + 15 1.88692 248.000 + 16 1.89465 243.000 + 17 1.90256 238.000 + 18 1.91065 233.000 + 19 1.91893 228.000 + 20 1.92741 223.000 + 21 1.93608 218.000 + 22 1.94497 213.000 + 23 1.95407 208.000 + 24 1.96340 203.000 + 25 1.97297 198.000 + 26 1.98279 193.000 + 27 1.99286 188.000 + 28 2.00320 183.000 + 29 2.01276 178.500 + 30 2.02255 174.000 + 31 2.03259 169.500 + 32 2.04289 165.000 + 33 2.05346 160.500 + 34 2.06432 156.000 + 35 2.07548 151.500 + 36 2.08697 147.000 + 37 2.09879 142.500 + 38 2.10960 138.500 + 39 2.12070 134.500 + 40 2.13211 130.500 + 41 2.14386 126.500 + 42 2.15596 122.500 + 43 2.16844 118.500 + 44 2.18131 114.500 + 45 2.19461 110.500 + 46 2.20663 107.000 + 47 2.21900 103.500 + 48 2.22994 100.500 + 49 2.23929 98.000 + 50 2.24885 95.500 + 51 2.25866 93.000 + 52 2.26872 90.500 + 53 2.27904 88.000 + 54 2.28964 85.500 + 55 2.30054 83.000 + 56 2.30950 81.000 + 57 2.31868 79.000 + 58 2.32809 77.000 + 59 2.33773 75.000 + 60 2.34763 73.000 + 61 2.35778 71.000 + 62 2.36822 69.000 + 63 2.37895 67.000 + 64 2.39001 65.000 + 65 2.40140 63.000 + 66 2.41315 61.000 + 67 2.42528 59.000 + 68 2.43656 57.200 + 69 2.44818 55.400 + 70 2.46019 53.600 + 71 2.47259 51.800 + 72 2.48543 50.000 + 73 2.49873 48.200 + 74 2.51098 46.600 + 75 2.52364 45.000 + 76 2.53675 43.400 + 77 2.55034 41.800 + 78 2.56445 40.200 + 79 2.57820 38.700 + 80 2.59247 37.200 + 81 2.60732 35.700 + 82 2.62279 34.200 + 83 2.63785 32.800 + 84 2.65354 31.400 + 85 2.66994 30.000 + 86 2.68586 28.700 + 87 2.70250 27.400 + 88 2.71995 26.100 + 89 2.73686 24.900 + 90 2.75459 23.700 + 91 2.77328 22.500 + 92 2.79134 21.400 + 93 2.81038 20.300 + 94 2.82500 19.500 + 95 2.83732 18.850 + 96 2.85010 18.200 + 97 2.86237 17.600 + 98 2.87511 17.000 + 99 2.88837 16.400 +100 2.90220 15.800 +101 2.91543 15.250 +102 2.92923 14.700 +103 2.94364 14.150 +104 2.95865 13.600 +105 2.97296 13.100 +106 2.98799 12.600 +107 3.00380 12.100 +108 3.02042 11.600 +109 3.03619 11.150 +110 3.05276 10.700 +111 3.07026 10.250 +112 3.08877 9.800 +113 3.10622 9.400 +114 3.12463 9.000 +115 3.14418 8.600 +116 3.16499 8.200 +117 3.18722 7.800 +118 3.20805 7.450 +119 3.23022 7.100 +120 3.25400 6.750 +121 3.27959 6.400 +122 3.30323 6.100 +123 3.32851 5.800 +124 3.35584 5.500 +125 3.38541 5.200 +126 3.41545 4.920 +127 3.44809 4.640 +128 3.48123 4.380 +129 3.51742 4.120 +130 3.54791 3.920 +131 3.57560 3.750 +132 3.60529 3.580 +133 3.63531 3.420 +134 3.66754 3.260 +135 3.70234 3.100 +136 3.73763 2.950 +137 3.77580 2.800 +138 3.81451 2.660 +139 3.85653 2.520 +140 3.90248 2.380 +141 3.94931 2.250 +142 4.00068 2.120 +143 4.05307 2.000 +144 4.11077 1.880 +145 4.17501 1.760 +146 4.24071 1.650 +147 4.31379 1.540 +148 4.38826 1.440 +149 4.42110 1.400 diff --git a/secop_psi/calcurves/X22644.340 b/secop_psi/calcurves/X22644.340 new file mode 100644 index 0000000..9998f83 --- /dev/null +++ b/secop_psi/calcurves/X22644.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X22644 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.73554 325.000 + 2 1.74175 319.000 + 3 1.74758 313.500 + 4 1.75353 308.000 + 5 1.75961 302.500 + 6 1.76582 297.000 + 7 1.77218 291.500 + 8 1.77868 286.000 + 9 1.78533 280.500 + 10 1.79214 275.000 + 11 1.79911 269.500 + 12 1.80624 264.000 + 13 1.81354 258.500 + 14 1.82034 253.500 + 15 1.82729 248.500 + 16 1.83440 243.500 + 17 1.84167 238.500 + 18 1.84911 233.500 + 19 1.85672 228.500 + 20 1.86451 223.500 + 21 1.87249 218.500 + 22 1.88067 213.500 + 23 1.88905 208.500 + 24 1.89763 203.500 + 25 1.90644 198.500 + 26 1.91547 193.500 + 27 1.92474 188.500 + 28 1.93426 183.500 + 29 1.94305 179.000 + 30 1.95205 174.500 + 31 1.96129 170.000 + 32 1.97076 165.500 + 33 1.98048 161.000 + 34 1.99046 156.500 + 35 2.00072 152.000 + 36 2.01127 147.500 + 37 2.02212 143.000 + 38 2.03330 138.500 + 39 2.04353 134.500 + 40 2.05404 130.500 + 41 2.06485 126.500 + 42 2.07598 122.500 + 43 2.08746 118.500 + 44 2.09929 114.500 + 45 2.11151 110.500 + 46 2.12415 106.500 + 47 2.13558 103.000 + 48 2.14398 100.500 + 49 2.15255 98.000 + 50 2.16133 95.500 + 51 2.17033 93.000 + 52 2.17955 90.500 + 53 2.18902 88.000 + 54 2.19874 85.500 + 55 2.20873 83.000 + 56 2.21695 81.000 + 57 2.22536 79.000 + 58 2.23398 77.000 + 59 2.24283 75.000 + 60 2.25189 73.000 + 61 2.26119 71.000 + 62 2.27075 69.000 + 63 2.28058 67.000 + 64 2.29069 65.000 + 65 2.30111 63.000 + 66 2.31185 61.000 + 67 2.32293 59.000 + 68 2.33323 57.200 + 69 2.34384 55.400 + 70 2.35478 53.600 + 71 2.36609 51.800 + 72 2.37778 50.000 + 73 2.38989 48.200 + 74 2.40243 46.400 + 75 2.41400 44.800 + 76 2.42596 43.200 + 77 2.43836 41.600 + 78 2.45204 39.900 + 79 2.46545 38.300 + 80 2.47853 36.800 + 81 2.49212 35.300 + 82 2.50629 33.800 + 83 2.52008 32.400 + 84 2.53445 31.000 + 85 2.54947 29.600 + 86 2.56406 28.300 + 87 2.57930 27.000 + 88 2.59528 25.700 + 89 2.61077 24.500 + 90 2.62701 23.300 + 91 2.64411 22.100 + 92 2.66064 21.000 + 93 2.67484 20.100 + 94 2.68634 19.400 + 95 2.69740 18.750 + 96 2.70886 18.100 + 97 2.72077 17.450 + 98 2.73221 16.850 + 99 2.74409 16.250 +100 2.75648 15.650 +101 2.76941 15.050 +102 2.78180 14.500 +103 2.79361 14.000 +104 2.80599 13.500 +105 2.82020 12.950 +106 2.83370 12.450 +107 2.84642 12.000 +108 2.85973 11.550 +109 2.87371 11.100 +110 2.88840 10.650 +111 2.90389 10.200 +112 2.92027 9.750 +113 2.93569 9.350 +114 2.95196 8.950 +115 2.96921 8.550 +116 2.98756 8.150 +117 3.00714 7.750 +118 3.02547 7.400 +119 3.04498 7.050 +120 3.06589 6.700 +121 3.08836 6.350 +122 3.11265 6.000 +123 3.13670 5.680 +124 3.16110 5.380 +125 3.18750 5.080 +126 3.21434 4.800 +127 3.24351 4.520 +128 3.27315 4.260 +129 3.30298 4.020 +130 3.32861 3.830 +131 3.35312 3.660 +132 3.37939 3.490 +133 3.40765 3.320 +134 3.43634 3.160 +135 3.46530 3.010 +136 3.49651 2.860 +137 3.53036 2.710 +138 3.56472 2.570 +139 3.60209 2.430 +140 3.64009 2.300 +141 3.68165 2.170 +142 3.72394 2.050 +143 3.77043 1.930 +144 3.82204 1.810 +145 3.87952 1.690 +146 3.93827 1.580 +147 4.00323 1.470 +148 4.04880 1.400 diff --git a/secop_psi/calcurves/X24506.340 b/secop_psi/calcurves/X24506.340 new file mode 100644 index 0000000..6550428 --- /dev/null +++ b/secop_psi/calcurves/X24506.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X24506 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.67380 325.000 + 2 1.68035 319.000 + 3 1.68649 313.500 + 4 1.69277 308.000 + 5 1.69921 302.500 + 6 1.70579 297.000 + 7 1.71253 291.500 + 8 1.71943 286.000 + 9 1.72585 281.000 + 10 1.73241 276.000 + 11 1.73912 271.000 + 12 1.74598 266.000 + 13 1.75300 261.000 + 14 1.76018 256.000 + 15 1.76753 251.000 + 16 1.77505 246.000 + 17 1.78275 241.000 + 18 1.79064 236.000 + 19 1.79872 231.000 + 20 1.80699 226.000 + 21 1.81548 221.000 + 22 1.82417 216.000 + 23 1.83309 211.000 + 24 1.84225 206.000 + 25 1.85164 201.000 + 26 1.86129 196.000 + 27 1.87020 191.500 + 28 1.87932 187.000 + 29 1.88868 182.500 + 30 1.89827 178.000 + 31 1.90812 173.500 + 32 1.91823 169.000 + 33 1.92862 164.500 + 34 1.93929 160.000 + 35 1.95026 155.500 + 36 1.96155 151.000 + 37 1.97317 146.500 + 38 1.98381 142.500 + 39 1.99473 138.500 + 40 2.00596 134.500 + 41 2.01751 130.500 + 42 2.02941 126.500 + 43 2.04167 122.500 + 44 2.05432 118.500 + 45 2.06738 114.500 + 46 2.08088 110.500 + 47 2.09309 107.000 + 48 2.10568 103.500 + 49 2.11681 100.500 + 50 2.12632 98.000 + 51 2.13607 95.500 + 52 2.14606 93.000 + 53 2.15632 90.500 + 54 2.16685 88.000 + 55 2.17768 85.500 + 56 2.18883 83.000 + 57 2.20029 80.500 + 58 2.21209 78.000 + 59 2.22180 76.000 + 60 2.23174 74.000 + 61 2.24196 72.000 + 62 2.25247 70.000 + 63 2.26326 68.000 + 64 2.27438 66.000 + 65 2.28583 64.000 + 66 2.29764 62.000 + 67 2.30983 60.000 + 68 2.32115 58.200 + 69 2.33282 56.400 + 70 2.34487 54.600 + 71 2.35732 52.800 + 72 2.37019 51.000 + 73 2.38352 49.200 + 74 2.39734 47.400 + 75 2.41007 45.800 + 76 2.42324 44.200 + 77 2.43688 42.600 + 78 2.45103 41.000 + 79 2.46573 39.400 + 80 2.48004 37.900 + 81 2.49492 36.400 + 82 2.51040 34.900 + 83 2.52653 33.400 + 84 2.54225 32.000 + 85 2.55862 30.600 + 86 2.57574 29.200 + 87 2.59238 27.900 + 88 2.60977 26.600 + 89 2.62802 25.300 + 90 2.64571 24.100 + 91 2.66427 22.900 + 92 2.68383 21.700 + 93 2.70276 20.600 + 94 2.71812 19.750 + 95 2.73126 19.050 + 96 2.74392 18.400 + 97 2.75703 17.750 + 98 2.77067 17.100 + 99 2.78375 16.500 +100 2.79734 15.900 +101 2.81149 15.300 +102 2.82626 14.700 +103 2.84039 14.150 +104 2.85515 13.600 +105 2.87061 13.050 +106 2.88534 12.550 +107 2.90074 12.050 +108 2.91691 11.550 +109 2.93391 11.050 +110 2.95003 10.600 +111 2.96696 10.150 +112 2.98484 9.700 +113 3.00374 9.250 +114 3.02155 8.850 +115 3.04034 8.450 +116 3.06030 8.050 +117 3.08155 7.650 +118 3.10138 7.300 +119 3.12245 6.950 +120 3.14496 6.600 +121 3.16910 6.250 +122 3.19514 5.900 +123 3.22083 5.580 +124 3.24686 5.280 +125 3.27497 4.980 +126 3.30350 4.700 +127 3.33447 4.420 +128 3.36593 4.160 +129 3.39355 3.950 +130 3.41888 3.770 +131 3.44451 3.600 +132 3.47195 3.430 +133 3.50148 3.260 +134 3.53148 3.100 +135 3.56176 2.950 +136 3.59442 2.800 +137 3.62984 2.650 +138 3.66580 2.510 +139 3.70490 2.370 +140 3.74464 2.240 +141 3.78806 2.110 +142 3.83220 1.990 +143 3.88070 1.870 +144 3.93460 1.750 +145 3.98970 1.640 +146 4.05108 1.530 +147 4.12009 1.420 +148 4.13433 1.400 diff --git a/secop_psi/calcurves/X31254.340 b/secop_psi/calcurves/X31254.340 new file mode 100644 index 0000000..437983b --- /dev/null +++ b/secop_psi/calcurves/X31254.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X31254 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.77364 325.000 + 2 1.78070 319.000 + 3 1.78732 313.500 + 4 1.79410 308.000 + 5 1.80103 302.500 + 6 1.80812 297.000 + 7 1.81538 291.500 + 8 1.82281 286.000 + 9 1.83042 280.500 + 10 1.83751 275.500 + 11 1.84474 270.500 + 12 1.85214 265.500 + 13 1.85971 260.500 + 14 1.86746 255.500 + 15 1.87538 250.500 + 16 1.88349 245.500 + 17 1.89179 240.500 + 18 1.90029 235.500 + 19 1.90899 230.500 + 20 1.91791 225.500 + 21 1.92705 220.500 + 22 1.93642 215.500 + 23 1.94603 210.500 + 24 1.95589 205.500 + 25 1.96601 200.500 + 26 1.97640 195.500 + 27 1.98600 191.000 + 28 1.99583 186.500 + 29 2.00591 182.000 + 30 2.01625 177.500 + 31 2.02686 173.000 + 32 2.03776 168.500 + 33 2.04895 164.000 + 34 2.06045 159.500 + 35 2.07228 155.000 + 36 2.08446 150.500 + 37 2.09699 146.000 + 38 2.10847 142.000 + 39 2.12024 138.000 + 40 2.13236 134.000 + 41 2.14483 130.000 + 42 2.15767 126.000 + 43 2.17091 122.000 + 44 2.18456 118.000 + 45 2.19867 114.000 + 46 2.21325 110.000 + 47 2.22644 106.500 + 48 2.24004 103.000 + 49 2.25207 100.000 + 50 2.26236 97.500 + 51 2.27289 95.000 + 52 2.28370 92.500 + 53 2.29479 90.000 + 54 2.30619 87.500 + 55 2.31791 85.000 + 56 2.32998 82.500 + 57 2.34240 80.000 + 58 2.35261 78.000 + 59 2.36305 76.000 + 60 2.37378 74.000 + 61 2.38479 72.000 + 62 2.39611 70.000 + 63 2.40775 68.000 + 64 2.41973 66.000 + 65 2.43206 64.000 + 66 2.44479 62.000 + 67 2.45792 60.000 + 68 2.47011 58.200 + 69 2.48268 56.400 + 70 2.49565 54.600 + 71 2.50904 52.800 + 72 2.52289 51.000 + 73 2.53723 49.200 + 74 2.55209 47.400 + 75 2.56578 45.800 + 76 2.57993 44.200 + 77 2.59460 42.600 + 78 2.60981 41.000 + 79 2.62561 39.400 + 80 2.64100 37.900 + 81 2.65699 36.400 + 82 2.67363 34.900 + 83 2.68982 33.500 + 84 2.70665 32.100 + 85 2.72422 30.700 + 86 2.74259 29.300 + 87 2.76044 28.000 + 88 2.77909 26.700 + 89 2.79867 25.400 + 90 2.81765 24.200 + 91 2.83757 23.000 + 92 2.85857 21.800 + 93 2.87890 20.700 + 94 2.89542 19.850 + 95 2.90852 19.200 + 96 2.92209 18.550 + 97 2.93618 17.900 + 98 2.94969 17.300 + 99 2.96371 16.700 +100 2.97830 16.100 +101 2.99349 15.500 +102 3.00804 14.950 +103 3.02318 14.400 +104 3.03899 13.850 +105 3.05398 13.350 +106 3.06964 12.850 +107 3.08608 12.350 +108 3.10333 11.850 +109 3.12148 11.350 +110 3.13869 10.900 +111 3.15676 10.450 +112 3.17584 10.000 +113 3.19602 9.550 +114 3.21503 9.150 +115 3.23510 8.750 +116 3.25640 8.350 +117 3.27908 7.950 +118 3.30024 7.600 +119 3.32269 7.250 +120 3.34669 6.900 +121 3.37239 6.550 +122 3.40008 6.200 +123 3.42917 5.860 +124 3.45691 5.560 +125 3.48684 5.260 +126 3.51936 4.960 +127 3.55245 4.680 +128 3.58588 4.420 +129 3.62232 4.160 +130 3.65451 3.950 +131 3.68237 3.780 +132 3.71219 3.610 +133 3.74421 3.440 +134 3.77665 3.280 +135 3.81154 3.120 +136 3.84691 2.970 +137 3.88506 2.820 +138 3.92654 2.670 +139 3.96874 2.530 +140 4.01136 2.400 +141 4.05781 2.270 +142 4.10883 2.140 +143 4.16075 2.020 +144 4.21795 1.900 +145 4.28156 1.780 +146 4.34654 1.670 +147 4.41854 1.560 +148 4.49893 1.450 +149 4.53947 1.400 diff --git a/secop_psi/calcurves/X31317.340 b/secop_psi/calcurves/X31317.340 new file mode 100644 index 0000000..1c424e1 --- /dev/null +++ b/secop_psi/calcurves/X31317.340 @@ -0,0 +1,162 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X31317 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 153 + +No. Units Temperature (K) + + 1 1.75784 325.000 + 2 1.76423 319.000 + 3 1.77021 313.500 + 4 1.77634 308.000 + 5 1.78260 302.500 + 6 1.78901 297.000 + 7 1.79557 291.500 + 8 1.80228 286.000 + 9 1.80915 280.500 + 10 1.81618 275.000 + 11 1.82338 269.500 + 12 1.83008 264.500 + 13 1.83693 259.500 + 14 1.84394 254.500 + 15 1.85110 249.500 + 16 1.85843 244.500 + 17 1.86593 239.500 + 18 1.87361 234.500 + 19 1.88148 229.500 + 20 1.88953 224.500 + 21 1.89779 219.500 + 22 1.90625 214.500 + 23 1.91492 209.500 + 24 1.92382 204.500 + 25 1.93296 199.500 + 26 1.94140 195.000 + 27 1.95004 190.500 + 28 1.95889 186.000 + 29 1.96798 181.500 + 30 1.97730 177.000 + 31 1.98686 172.500 + 32 1.99669 168.000 + 33 2.00679 163.500 + 34 2.01717 159.000 + 35 2.02786 154.500 + 36 2.03886 150.000 + 37 2.04893 146.000 + 38 2.05927 142.000 + 39 2.06990 138.000 + 40 2.08085 134.000 + 41 2.09212 130.000 + 42 2.10374 126.000 + 43 2.11572 122.000 + 44 2.12811 118.000 + 45 2.13929 114.500 + 46 2.15081 111.000 + 47 2.16270 107.500 + 48 2.17499 104.000 + 49 2.18770 100.500 + 50 2.19708 98.000 + 51 2.20475 96.000 + 52 2.21258 94.000 + 53 2.22059 92.000 + 54 2.22879 90.000 + 55 2.23718 88.000 + 56 2.24577 86.000 + 57 2.25459 84.000 + 58 2.26363 82.000 + 59 2.27290 80.000 + 60 2.28239 78.000 + 61 2.29214 76.000 + 62 2.30217 74.000 + 63 2.31250 72.000 + 64 2.32315 70.000 + 65 2.33413 68.000 + 66 2.34546 66.000 + 67 2.35717 64.000 + 68 2.36928 62.000 + 69 2.38182 60.000 + 70 2.39351 58.200 + 71 2.40560 56.400 + 72 2.41813 54.600 + 73 2.43111 52.800 + 74 2.44309 51.200 + 75 2.45546 49.600 + 76 2.46830 48.000 + 77 2.48162 46.400 + 78 2.49545 44.800 + 79 2.50986 43.200 + 80 2.52486 41.600 + 81 2.53855 40.200 + 82 2.55276 38.800 + 83 2.56756 37.400 + 84 2.58299 36.000 + 85 2.59911 34.600 + 86 2.61477 33.300 + 87 2.63110 32.000 + 88 2.64820 30.700 + 89 2.66613 29.400 + 90 2.68351 28.200 + 91 2.70172 27.000 + 92 2.72087 25.800 + 93 2.74106 24.600 + 94 2.76059 23.500 + 95 2.78116 22.400 + 96 2.80293 21.300 + 97 2.82391 20.300 + 98 2.83936 19.600 + 99 2.85308 19.000 +100 2.86733 18.400 +101 2.88214 17.800 +102 2.89756 17.200 +103 2.91365 16.600 +104 2.92904 16.050 +105 2.94507 15.500 +106 2.96183 14.950 +107 2.97937 14.400 +108 2.99770 13.850 +109 3.01512 13.350 +110 3.03336 12.850 +111 3.05254 12.350 +112 3.07271 11.850 +113 3.09181 11.400 +114 3.11185 10.950 +115 3.13297 10.500 +116 3.15528 10.050 +117 3.17891 9.600 +118 3.20119 9.200 +119 3.22471 8.800 +120 3.24969 8.400 +121 3.27629 8.000 +122 3.30471 7.600 +123 3.33133 7.250 +124 3.35966 6.900 +125 3.39003 6.550 +126 3.42269 6.200 +127 3.45694 5.860 +128 3.49176 5.540 +129 3.52710 5.240 +130 3.56530 4.940 +131 3.60411 4.660 +132 3.64627 4.380 +133 3.68912 4.120 +134 3.72492 3.920 +135 3.75737 3.750 +136 3.79203 3.580 +137 3.82918 3.410 +138 3.86678 3.250 +139 3.90717 3.090 +140 3.95084 2.930 +141 3.99523 2.780 +142 4.04006 2.640 +143 4.08862 2.500 +144 4.14158 2.360 +145 4.19536 2.230 +146 4.25411 2.100 +147 4.31883 1.970 +148 4.38484 1.850 +149 4.45771 1.730 +150 4.53206 1.620 +151 4.61466 1.510 +152 4.69936 1.410 +153 4.70914 1.400 diff --git a/secop_psi/calcurves/X31318.340 b/secop_psi/calcurves/X31318.340 new file mode 100644 index 0000000..a9e4395 --- /dev/null +++ b/secop_psi/calcurves/X31318.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X31318 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.79846 325.000 + 2 1.80586 319.000 + 3 1.81279 313.500 + 4 1.81987 308.000 + 5 1.82711 302.500 + 6 1.83451 297.000 + 7 1.84208 291.500 + 8 1.84983 286.000 + 9 1.85775 280.500 + 10 1.86587 275.000 + 11 1.87417 269.500 + 12 1.88268 264.000 + 13 1.89060 259.000 + 14 1.89868 254.000 + 15 1.90696 249.000 + 16 1.91542 244.000 + 17 1.92409 239.000 + 18 1.93295 234.000 + 19 1.94203 229.000 + 20 1.95133 224.000 + 21 1.96086 219.000 + 22 1.97062 214.000 + 23 1.98064 209.000 + 24 1.99090 204.000 + 25 2.00144 199.000 + 26 2.01226 194.000 + 27 2.02226 189.500 + 28 2.03249 185.000 + 29 2.04298 180.500 + 30 2.05374 176.000 + 31 2.06478 171.500 + 32 2.07612 167.000 + 33 2.08776 162.500 + 34 2.09972 158.000 + 35 2.11203 153.500 + 36 2.12469 149.000 + 37 2.13773 144.500 + 38 2.14966 140.500 + 39 2.16192 136.500 + 40 2.17452 132.500 + 41 2.18750 128.500 + 42 2.20086 124.500 + 43 2.21464 120.500 + 44 2.22886 116.500 + 45 2.24356 112.500 + 46 2.25685 109.000 + 47 2.27053 105.500 + 48 2.28466 102.000 + 49 2.29506 99.500 + 50 2.30569 97.000 + 51 2.31660 94.500 + 52 2.32779 92.000 + 53 2.33928 89.500 + 54 2.35109 87.000 + 55 2.36323 84.500 + 56 2.37574 82.000 + 57 2.38860 79.500 + 58 2.39917 77.500 + 59 2.41000 75.500 + 60 2.42113 73.500 + 61 2.43256 71.500 + 62 2.44432 69.500 + 63 2.45641 67.500 + 64 2.46886 65.500 + 65 2.48169 63.500 + 66 2.49493 61.500 + 67 2.50929 59.400 + 68 2.52202 57.600 + 69 2.53514 55.800 + 70 2.54870 54.000 + 71 2.56271 52.200 + 72 2.57720 50.400 + 73 2.59223 48.600 + 74 2.60606 47.000 + 75 2.62036 45.400 + 76 2.63517 43.800 + 77 2.65053 42.200 + 78 2.66647 40.600 + 79 2.68200 39.100 + 80 2.69813 37.600 + 81 2.71490 36.100 + 82 2.73238 34.600 + 83 2.74939 33.200 + 84 2.76711 31.800 + 85 2.78562 30.400 + 86 2.80360 29.100 + 87 2.82236 27.800 + 88 2.84203 26.500 + 89 2.86107 25.300 + 90 2.88101 24.100 + 91 2.90199 22.900 + 92 2.92224 21.800 + 93 2.94353 20.700 + 94 2.96087 19.850 + 95 2.97461 19.200 + 96 2.98886 18.550 + 97 3.00364 17.900 + 98 3.01781 17.300 + 99 3.03252 16.700 +100 3.04781 16.100 +101 3.06375 15.500 +102 3.07899 14.950 +103 3.09485 14.400 +104 3.11140 13.850 +105 3.12708 13.350 +106 3.14346 12.850 +107 3.16063 12.350 +108 3.17865 11.850 +109 3.19758 11.350 +110 3.21551 10.900 +111 3.23434 10.450 +112 3.25420 10.000 +113 3.27518 9.550 +114 3.29493 9.150 +115 3.31575 8.750 +116 3.33783 8.350 +117 3.36132 7.950 +118 3.38639 7.550 +119 3.40986 7.200 +120 3.43484 6.850 +121 3.46161 6.500 +122 3.49042 6.150 +123 3.51974 5.820 +124 3.55048 5.500 +125 3.58170 5.200 +126 3.61325 4.920 +127 3.64746 4.640 +128 3.68482 4.360 +129 3.72286 4.100 +130 3.75474 3.900 +131 3.78372 3.730 +132 3.81472 3.560 +133 3.84804 3.390 +134 3.88182 3.230 +135 3.91820 3.070 +136 3.95510 2.920 +137 3.99497 2.770 +138 4.03540 2.630 +139 4.07925 2.490 +140 4.12722 2.350 +141 4.17609 2.220 +142 4.22547 2.100 +143 4.27963 1.980 +144 4.33951 1.860 +145 4.40044 1.750 +146 4.46783 1.640 +147 4.54308 1.530 +148 4.62742 1.420 +149 4.64481 1.400 diff --git a/secop_psi/calcurves/X31319.340 b/secop_psi/calcurves/X31319.340 new file mode 100644 index 0000000..5dec345 --- /dev/null +++ b/secop_psi/calcurves/X31319.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X31319 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.80269 325.000 + 2 1.81010 319.000 + 3 1.81704 313.500 + 4 1.82413 308.000 + 5 1.83139 302.500 + 6 1.83880 297.000 + 7 1.84639 291.500 + 8 1.85416 286.000 + 9 1.86210 280.500 + 10 1.87024 275.000 + 11 1.87857 269.500 + 12 1.88632 264.500 + 13 1.89424 259.500 + 14 1.90234 254.500 + 15 1.91062 249.500 + 16 1.91909 244.500 + 17 1.92776 239.500 + 18 1.93663 234.500 + 19 1.94572 229.500 + 20 1.95503 224.500 + 21 1.96456 219.500 + 22 1.97434 214.500 + 23 1.98436 209.500 + 24 1.99463 204.500 + 25 2.00518 199.500 + 26 2.01600 194.500 + 27 2.02600 190.000 + 28 2.03624 185.500 + 29 2.04673 181.000 + 30 2.05750 176.500 + 31 2.06854 172.000 + 32 2.07988 167.500 + 33 2.09153 163.000 + 34 2.10349 158.500 + 35 2.11580 154.000 + 36 2.12847 149.500 + 37 2.14151 145.000 + 38 2.15345 141.000 + 39 2.16570 137.000 + 40 2.17831 133.000 + 41 2.19129 129.000 + 42 2.20465 125.000 + 43 2.21844 121.000 + 44 2.23266 117.000 + 45 2.24736 113.000 + 46 2.26064 109.500 + 47 2.27432 106.000 + 48 2.28845 102.500 + 49 2.29885 100.000 + 50 2.30947 97.500 + 51 2.32037 95.000 + 52 2.33155 92.500 + 53 2.34303 90.000 + 54 2.35482 87.500 + 55 2.36695 85.000 + 56 2.37943 82.500 + 57 2.39228 80.000 + 58 2.40284 78.000 + 59 2.41365 76.000 + 60 2.42476 74.000 + 61 2.43618 72.000 + 62 2.44791 70.000 + 63 2.45998 68.000 + 64 2.47241 66.000 + 65 2.48522 64.000 + 66 2.49843 62.000 + 67 2.51208 60.000 + 68 2.52475 58.200 + 69 2.53782 56.400 + 70 2.55131 54.600 + 71 2.56525 52.800 + 72 2.57967 51.000 + 73 2.59461 49.200 + 74 2.61010 47.400 + 75 2.62439 45.800 + 76 2.63916 44.200 + 77 2.65448 42.600 + 78 2.67037 41.000 + 79 2.68690 39.400 + 80 2.70301 37.900 + 81 2.71976 36.400 + 82 2.73721 34.900 + 83 2.75419 33.500 + 84 2.77187 32.100 + 85 2.79034 30.700 + 86 2.80826 29.400 + 87 2.82697 28.100 + 88 2.84657 26.800 + 89 2.86554 25.600 + 90 2.88539 24.400 + 91 2.90627 23.200 + 92 2.92640 22.100 + 93 2.94756 21.000 + 94 2.96580 20.100 + 95 2.98056 19.400 + 96 2.99477 18.750 + 97 3.00950 18.100 + 98 3.02481 17.450 + 99 3.03952 16.850 +100 3.05478 16.250 +101 3.07069 15.650 +102 3.08589 15.100 +103 3.10171 14.550 +104 3.11822 14.000 +105 3.13547 13.450 +106 3.15189 12.950 +107 3.16906 12.450 +108 3.18708 11.950 +109 3.20600 11.450 +110 3.22393 11.000 +111 3.24273 10.550 +112 3.26255 10.100 +113 3.28348 9.650 +114 3.30317 9.250 +115 3.32392 8.850 +116 3.34591 8.450 +117 3.36928 8.050 +118 3.39420 7.650 +119 3.41751 7.300 +120 3.44229 6.950 +121 3.46883 6.600 +122 3.49735 6.250 +123 3.52817 5.900 +124 3.55865 5.580 +125 3.58960 5.280 +126 3.62082 5.000 +127 3.65463 4.720 +128 3.69150 4.440 +129 3.72898 4.180 +130 3.76196 3.970 +131 3.79053 3.800 +132 3.82106 3.630 +133 3.85382 3.460 +134 3.88699 3.300 +135 3.92266 3.140 +136 3.96123 2.980 +137 4.00043 2.830 +138 4.04003 2.690 +139 4.08293 2.550 +140 4.12973 2.410 +141 4.17730 2.280 +142 4.22935 2.150 +143 4.28230 2.030 +144 4.34054 1.910 +145 4.40524 1.790 +146 4.47131 1.680 +147 4.54470 1.570 +148 4.62687 1.460 +149 4.67667 1.400 diff --git a/secop_psi/calcurves/X31320.340 b/secop_psi/calcurves/X31320.340 new file mode 100644 index 0000000..c3ee778 --- /dev/null +++ b/secop_psi/calcurves/X31320.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X31320 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.80291 325.000 + 2 1.80993 319.000 + 3 1.81650 313.500 + 4 1.82322 308.000 + 5 1.83010 302.500 + 6 1.83713 297.000 + 7 1.84433 291.500 + 8 1.85170 286.000 + 9 1.85924 280.500 + 10 1.86696 275.000 + 11 1.87487 269.500 + 12 1.88223 264.500 + 13 1.88976 259.500 + 14 1.89745 254.500 + 15 1.90532 249.500 + 16 1.91338 244.500 + 17 1.92162 239.500 + 18 1.93006 234.500 + 19 1.93871 229.500 + 20 1.94756 224.500 + 21 1.95664 219.500 + 22 1.96595 214.500 + 23 1.97549 209.500 + 24 1.98529 204.500 + 25 1.99534 199.500 + 26 2.00463 195.000 + 27 2.01413 190.500 + 28 2.02388 186.000 + 29 2.03387 181.500 + 30 2.04412 177.000 + 31 2.05464 172.500 + 32 2.06543 168.000 + 33 2.07652 163.500 + 34 2.08792 159.000 + 35 2.09964 154.500 + 36 2.11170 150.000 + 37 2.12412 145.500 + 38 2.13548 141.500 + 39 2.14714 137.500 + 40 2.15914 133.500 + 41 2.17148 129.500 + 42 2.18420 125.500 + 43 2.19730 121.500 + 44 2.21082 117.500 + 45 2.22480 113.500 + 46 2.23743 110.000 + 47 2.25043 106.500 + 48 2.26386 103.000 + 49 2.27375 100.500 + 50 2.28385 98.000 + 51 2.29421 95.500 + 52 2.30483 93.000 + 53 2.31573 90.500 + 54 2.32693 88.000 + 55 2.33844 85.500 + 56 2.35027 83.000 + 57 2.36000 81.000 + 58 2.36996 79.000 + 59 2.38017 77.000 + 60 2.39065 75.000 + 61 2.40139 73.000 + 62 2.41242 71.000 + 63 2.42376 69.000 + 64 2.43544 67.000 + 65 2.44746 65.000 + 66 2.45985 63.000 + 67 2.47263 61.000 + 68 2.48584 59.000 + 69 2.49812 57.200 + 70 2.51078 55.400 + 71 2.52387 53.600 + 72 2.53739 51.800 + 73 2.55139 50.000 + 74 2.56590 48.200 + 75 2.57927 46.600 + 76 2.59309 45.000 + 77 2.60741 43.400 + 78 2.62225 41.800 + 79 2.63767 40.200 + 80 2.65269 38.700 + 81 2.66828 37.200 + 82 2.68451 35.700 + 83 2.70142 34.200 + 84 2.71788 32.800 + 85 2.73503 31.400 + 86 2.75295 30.000 + 87 2.77036 28.700 + 88 2.78854 27.400 + 89 2.80760 26.100 + 90 2.82607 24.900 + 91 2.84542 23.700 + 92 2.86579 22.500 + 93 2.88547 21.400 + 94 2.90618 20.300 + 95 2.92205 19.500 + 96 2.93540 18.850 + 97 2.94925 18.200 + 98 2.96363 17.550 + 99 2.97742 16.950 +100 2.99173 16.350 +101 3.00664 15.750 +102 3.02217 15.150 +103 3.03704 14.600 +104 3.05252 14.050 +105 3.06872 13.500 +106 3.08412 13.000 +107 3.10022 12.500 +108 3.11709 12.000 +109 3.13481 11.500 +110 3.15347 11.000 +111 3.17118 10.550 +112 3.18980 10.100 +113 3.20948 9.650 +114 3.22797 9.250 +115 3.24745 8.850 +116 3.26809 8.450 +117 3.29001 8.050 +118 3.31337 7.650 +119 3.33521 7.300 +120 3.35842 6.950 +121 3.38325 6.600 +122 3.40993 6.250 +123 3.43873 5.900 +124 3.46720 5.580 +125 3.49607 5.280 +126 3.52731 4.980 +127 3.55905 4.700 +128 3.59357 4.420 +129 3.62868 4.160 +130 3.65955 3.950 +131 3.68789 3.770 +132 3.71661 3.600 +133 3.74738 3.430 +134 3.77856 3.270 +135 3.81207 3.110 +136 3.84832 2.950 +137 3.88517 2.800 +138 3.92241 2.660 +139 3.96276 2.520 +140 4.00679 2.380 +141 4.05156 2.250 +142 4.10055 2.120 +143 4.15043 2.000 +144 4.20530 1.880 +145 4.26631 1.760 +146 4.32867 1.650 +147 4.39804 1.540 +148 4.47591 1.430 +149 4.49972 1.400 diff --git a/secop_psi/calcurves/X33924.340 b/secop_psi/calcurves/X33924.340 new file mode 100644 index 0000000..7e74fea --- /dev/null +++ b/secop_psi/calcurves/X33924.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X33924 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.74247 325.000 + 2 1.74934 319.000 + 3 1.75577 313.500 + 4 1.76235 308.000 + 5 1.76907 302.500 + 6 1.77595 297.000 + 7 1.78299 291.500 + 8 1.79020 286.000 + 9 1.79758 280.500 + 10 1.80513 275.000 + 11 1.81287 269.500 + 12 1.82007 264.500 + 13 1.82742 259.500 + 14 1.83495 254.500 + 15 1.84265 249.500 + 16 1.85052 244.500 + 17 1.85859 239.500 + 18 1.86684 234.500 + 19 1.87529 229.500 + 20 1.88394 224.500 + 21 1.89281 219.500 + 22 1.90190 214.500 + 23 1.91122 209.500 + 24 1.92078 204.500 + 25 1.93059 199.500 + 26 1.94065 194.500 + 27 1.95099 189.500 + 28 1.96054 185.000 + 29 1.97032 180.500 + 30 1.98035 176.000 + 31 1.99064 171.500 + 32 2.00120 167.000 + 33 2.01204 162.500 + 34 2.02318 158.000 + 35 2.03463 153.500 + 36 2.04641 149.000 + 37 2.05853 144.500 + 38 2.07101 140.000 + 39 2.08245 136.000 + 40 2.09419 132.000 + 41 2.10627 128.000 + 42 2.11871 124.000 + 43 2.13153 120.000 + 44 2.14475 116.000 + 45 2.15840 112.000 + 46 2.17252 108.000 + 47 2.18529 104.500 + 48 2.19844 101.000 + 49 2.21008 98.000 + 50 2.22003 95.500 + 51 2.23021 93.000 + 52 2.24067 90.500 + 53 2.25139 88.000 + 54 2.26241 85.500 + 55 2.27374 83.000 + 56 2.28539 80.500 + 57 2.29740 78.000 + 58 2.30728 76.000 + 59 2.31739 74.000 + 60 2.32777 72.000 + 61 2.33843 70.000 + 62 2.34938 68.000 + 63 2.36065 66.000 + 64 2.37224 64.000 + 65 2.38419 62.000 + 66 2.39651 60.000 + 67 2.40795 58.200 + 68 2.41972 56.400 + 69 2.43187 54.600 + 70 2.44440 52.800 + 71 2.45735 51.000 + 72 2.47074 49.200 + 73 2.48461 47.400 + 74 2.49899 45.600 + 75 2.51225 44.000 + 76 2.52596 42.400 + 77 2.54017 40.800 + 78 2.55492 39.200 + 79 2.56928 37.700 + 80 2.58418 36.200 + 81 2.59968 34.700 + 82 2.61582 33.200 + 83 2.63153 31.800 + 84 2.64789 30.400 + 85 2.66498 29.000 + 86 2.68158 27.700 + 87 2.69891 26.400 + 88 2.71708 25.100 + 89 2.73469 23.900 + 90 2.75316 22.700 + 91 2.77261 21.500 + 92 2.79143 20.400 + 93 2.80581 19.600 + 94 2.81790 18.950 + 95 2.83042 18.300 + 96 2.84342 17.650 + 97 2.85588 17.050 + 98 2.86880 16.450 + 99 2.88225 15.850 +100 2.89626 15.250 +101 2.90967 14.700 +102 2.92362 14.150 +103 2.93816 13.600 +104 2.95197 13.100 +105 2.96640 12.600 +106 2.98154 12.100 +107 2.99742 11.600 +108 3.01414 11.100 +109 3.02999 10.650 +110 3.04664 10.200 +111 3.06422 9.750 +112 3.08284 9.300 +113 3.10038 8.900 +114 3.11890 8.500 +115 3.13860 8.100 +116 3.15957 7.700 +117 3.17917 7.350 +118 3.19999 7.000 +119 3.22226 6.650 +120 3.24618 6.300 +121 3.27276 5.940 +122 3.29832 5.620 +123 3.32423 5.320 +124 3.35225 5.020 +125 3.38070 4.740 +126 3.41161 4.460 +127 3.44302 4.200 +128 3.47060 3.990 +129 3.49590 3.810 +130 3.52150 3.640 +131 3.54889 3.470 +132 3.57837 3.300 +133 3.60829 3.140 +134 3.63849 2.990 +135 3.67104 2.840 +136 3.70633 2.690 +137 3.74216 2.550 +138 3.78113 2.410 +139 3.82076 2.280 +140 3.86409 2.150 +141 3.90817 2.030 +142 3.95666 1.910 +143 4.01050 1.790 +144 4.06541 1.680 +145 4.12617 1.570 +146 4.19379 1.460 +147 4.23441 1.400 diff --git a/secop_psi/calcurves/X34504.340 b/secop_psi/calcurves/X34504.340 new file mode 100644 index 0000000..93a7e6c --- /dev/null +++ b/secop_psi/calcurves/X34504.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X34504 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.75526 325.000 + 2 1.76219 319.000 + 3 1.76868 313.500 + 4 1.77532 308.000 + 5 1.78211 302.500 + 6 1.78906 297.000 + 7 1.79617 291.500 + 8 1.80344 286.000 + 9 1.81089 280.500 + 10 1.81852 275.000 + 11 1.82562 270.000 + 12 1.83288 265.000 + 13 1.84029 260.000 + 14 1.84788 255.000 + 15 1.85564 250.000 + 16 1.86358 245.000 + 17 1.87171 240.000 + 18 1.88003 235.000 + 19 1.88854 230.000 + 20 1.89727 225.000 + 21 1.90621 220.000 + 22 1.91537 215.000 + 23 1.92477 210.000 + 24 1.93440 205.000 + 25 1.94429 200.000 + 26 1.95443 195.000 + 27 1.96380 190.500 + 28 1.97340 186.000 + 29 1.98323 181.500 + 30 1.99331 177.000 + 31 2.00366 172.500 + 32 2.01427 168.000 + 33 2.02517 163.500 + 34 2.03637 159.000 + 35 2.04788 154.500 + 36 2.05972 150.000 + 37 2.07190 145.500 + 38 2.08445 141.000 + 39 2.09594 137.000 + 40 2.10774 133.000 + 41 2.11988 129.000 + 42 2.13238 125.000 + 43 2.14525 121.000 + 44 2.15853 117.000 + 45 2.17224 113.000 + 46 2.18641 109.000 + 47 2.19922 105.500 + 48 2.21242 102.000 + 49 2.22409 99.000 + 50 2.23407 96.500 + 51 2.24428 94.000 + 52 2.25476 91.500 + 53 2.26551 89.000 + 54 2.27656 86.500 + 55 2.28791 84.000 + 56 2.29958 81.500 + 57 2.31161 79.000 + 58 2.32150 77.000 + 59 2.33163 75.000 + 60 2.34202 73.000 + 61 2.35267 71.000 + 62 2.36363 69.000 + 63 2.37488 67.000 + 64 2.38647 65.000 + 65 2.39840 63.000 + 66 2.41070 61.000 + 67 2.42340 59.000 + 68 2.43519 57.200 + 69 2.44733 55.400 + 70 2.45987 53.600 + 71 2.47281 51.800 + 72 2.48619 50.000 + 73 2.50004 48.200 + 74 2.51440 46.400 + 75 2.52763 44.800 + 76 2.54130 43.200 + 77 2.55547 41.600 + 78 2.57109 39.900 + 79 2.58640 38.300 + 80 2.60131 36.800 + 81 2.61680 35.300 + 82 2.63293 33.800 + 83 2.64861 32.400 + 84 2.66494 31.000 + 85 2.68199 29.600 + 86 2.69852 28.300 + 87 2.71578 27.000 + 88 2.73386 25.700 + 89 2.75135 24.500 + 90 2.76968 23.300 + 91 2.78896 22.100 + 92 2.80758 21.000 + 93 2.82357 20.100 + 94 2.83652 19.400 + 95 2.84896 18.750 + 96 2.86185 18.100 + 97 2.87524 17.450 + 98 2.88809 16.850 + 99 2.90143 16.250 +100 2.91532 15.650 +101 2.92858 15.100 +102 2.94239 14.550 +103 2.95677 14.000 +104 2.97177 13.450 +105 2.98605 12.950 +106 3.00099 12.450 +107 3.01666 11.950 +108 3.03311 11.450 +109 3.04868 11.000 +110 3.06501 10.550 +111 3.08223 10.100 +112 3.10041 9.650 +113 3.11968 9.200 +114 3.13785 8.800 +115 3.15706 8.400 +116 3.17751 8.000 +117 3.19931 7.600 +118 3.21972 7.250 +119 3.24143 6.900 +120 3.26468 6.550 +121 3.28970 6.200 +122 3.31594 5.860 +123 3.34264 5.540 +124 3.36976 5.240 +125 3.39714 4.960 +126 3.42680 4.680 +127 3.45915 4.400 +128 3.49206 4.140 +129 3.52101 3.930 +130 3.54762 3.750 +131 3.57456 3.580 +132 3.60345 3.410 +133 3.63272 3.250 +134 3.66418 3.090 +135 3.69823 2.930 +136 3.73285 2.780 +137 3.76786 2.640 +138 3.80582 2.500 +139 3.84731 2.360 +140 3.88958 2.230 +141 3.93230 2.110 +142 3.97916 1.990 +143 4.03100 1.870 +144 4.08865 1.750 +145 4.14757 1.640 +146 4.21284 1.530 +147 4.28548 1.420 +148 4.30025 1.400 diff --git a/secop_psi/calcurves/X34524.340 b/secop_psi/calcurves/X34524.340 new file mode 100644 index 0000000..6874096 --- /dev/null +++ b/secop_psi/calcurves/X34524.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X34524 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.72675 325.000 + 2 1.73332 319.000 + 3 1.73947 313.500 + 4 1.74577 308.000 + 5 1.75222 302.500 + 6 1.75882 297.000 + 7 1.76558 291.500 + 8 1.77249 286.000 + 9 1.77958 280.500 + 10 1.78617 275.500 + 11 1.79291 270.500 + 12 1.79980 265.500 + 13 1.80685 260.500 + 14 1.81406 255.500 + 15 1.82143 250.500 + 16 1.82898 245.500 + 17 1.83670 240.500 + 18 1.84461 235.500 + 19 1.85271 230.500 + 20 1.86101 225.500 + 21 1.86952 220.500 + 22 1.87824 215.500 + 23 1.88718 210.500 + 24 1.89635 205.500 + 25 1.90576 200.500 + 26 1.91542 195.500 + 27 1.92435 191.000 + 28 1.93348 186.500 + 29 1.94285 182.000 + 30 1.95245 177.500 + 31 1.96230 173.000 + 32 1.97241 168.500 + 33 1.98279 164.000 + 34 1.99345 159.500 + 35 2.00441 155.000 + 36 2.01568 150.500 + 37 2.02728 146.000 + 38 2.03922 141.500 + 39 2.05015 137.500 + 40 2.06138 133.500 + 41 2.07293 129.500 + 42 2.08482 125.500 + 43 2.09707 121.500 + 44 2.10969 117.500 + 45 2.12273 113.500 + 46 2.13620 109.500 + 47 2.14837 106.000 + 48 2.16091 102.500 + 49 2.17200 99.500 + 50 2.18147 97.000 + 51 2.19116 94.500 + 52 2.20110 92.000 + 53 2.21130 89.500 + 54 2.22176 87.000 + 55 2.23252 84.500 + 56 2.24358 82.000 + 57 2.25497 79.500 + 58 2.26435 77.500 + 59 2.27393 75.500 + 60 2.28376 73.500 + 61 2.29385 71.500 + 62 2.30420 69.500 + 63 2.31485 67.500 + 64 2.32580 65.500 + 65 2.33707 63.500 + 66 2.34869 61.500 + 67 2.36127 59.400 + 68 2.37241 57.600 + 69 2.38388 55.800 + 70 2.39571 54.000 + 71 2.40793 52.200 + 72 2.42055 50.400 + 73 2.43360 48.600 + 74 2.44712 46.800 + 75 2.46114 45.000 + 76 2.47407 43.400 + 77 2.48744 41.800 + 78 2.50130 40.200 + 79 2.51569 38.600 + 80 2.53066 37.000 + 81 2.54525 35.500 + 82 2.56042 34.000 + 83 2.57624 32.500 + 84 2.59163 31.100 + 85 2.60768 29.700 + 86 2.62445 28.300 + 87 2.64075 27.000 + 88 2.65779 25.700 + 89 2.67567 24.400 + 90 2.69302 23.200 + 91 2.71123 22.000 + 92 2.72883 20.900 + 93 2.74224 20.100 + 94 2.75350 19.450 + 95 2.76515 18.800 + 96 2.77721 18.150 + 97 2.78974 17.500 + 98 2.80174 16.900 + 99 2.81420 16.300 +100 2.82716 15.700 +101 2.84066 15.100 +102 2.85359 14.550 +103 2.86703 14.000 +104 2.88105 13.450 +105 2.89439 12.950 +106 2.90833 12.450 +107 2.92295 11.950 +108 2.93828 11.450 +109 2.95443 10.950 +110 2.96975 10.500 +111 2.98586 10.050 +112 3.00287 9.600 +113 3.02089 9.150 +114 3.03788 8.750 +115 3.05584 8.350 +116 3.07495 7.950 +117 3.09532 7.550 +118 3.11438 7.200 +119 3.13464 6.850 +120 3.15635 6.500 +121 3.17968 6.150 +122 3.20341 5.820 +123 3.22825 5.500 +124 3.25346 5.200 +125 3.28076 4.900 +126 3.30853 4.620 +127 3.33653 4.360 +128 3.36702 4.100 +129 3.39259 3.900 +130 3.41577 3.730 +131 3.44053 3.560 +132 3.46710 3.390 +133 3.49400 3.230 +134 3.52291 3.070 +135 3.55417 2.910 +136 3.58595 2.760 +137 3.61807 2.620 +138 3.65290 2.480 +139 3.69095 2.340 +140 3.72970 2.210 +141 3.76886 2.090 +142 3.81180 1.970 +143 3.85928 1.850 +144 3.91205 1.730 +145 3.96594 1.620 +146 4.02560 1.510 +147 4.09198 1.400 diff --git a/secop_psi/calcurves/X34525.340 b/secop_psi/calcurves/X34525.340 new file mode 100644 index 0000000..ef37257 --- /dev/null +++ b/secop_psi/calcurves/X34525.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X34525 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.70839 325.000 + 2 1.71492 319.000 + 3 1.72104 313.500 + 4 1.72729 308.000 + 5 1.73369 302.500 + 6 1.74024 297.000 + 7 1.74694 291.500 + 8 1.75380 286.000 + 9 1.76083 280.500 + 10 1.76802 275.000 + 11 1.77538 269.500 + 12 1.78223 264.500 + 13 1.78924 259.500 + 14 1.79640 254.500 + 15 1.80372 249.500 + 16 1.81122 244.500 + 17 1.81889 239.500 + 18 1.82674 234.500 + 19 1.83477 229.500 + 20 1.84300 224.500 + 21 1.85143 219.500 + 22 1.86007 214.500 + 23 1.86893 209.500 + 24 1.87801 204.500 + 25 1.88733 199.500 + 26 1.89689 194.500 + 27 1.90671 189.500 + 28 1.91577 185.000 + 29 1.92505 180.500 + 30 1.93457 176.000 + 31 1.94433 171.500 + 32 1.95435 167.000 + 33 1.96463 162.500 + 34 1.97519 158.000 + 35 1.98604 153.500 + 36 1.99720 149.000 + 37 2.00868 144.500 + 38 2.02050 140.000 + 39 2.03131 136.000 + 40 2.04242 132.000 + 41 2.05384 128.000 + 42 2.06560 124.000 + 43 2.07771 120.000 + 44 2.09019 116.000 + 45 2.10308 112.000 + 46 2.11640 108.000 + 47 2.12844 104.500 + 48 2.14084 101.000 + 49 2.15181 98.000 + 50 2.16118 95.500 + 51 2.17077 93.000 + 52 2.18060 90.500 + 53 2.19069 88.000 + 54 2.20105 85.500 + 55 2.21170 83.000 + 56 2.22264 80.500 + 57 2.23391 78.000 + 58 2.24318 76.000 + 59 2.25267 74.000 + 60 2.26241 72.000 + 61 2.27240 70.000 + 62 2.28267 68.000 + 63 2.29322 66.000 + 64 2.30409 64.000 + 65 2.31527 62.000 + 66 2.32681 60.000 + 67 2.33750 58.200 + 68 2.34852 56.400 + 69 2.35987 54.600 + 70 2.37158 52.800 + 71 2.38367 51.000 + 72 2.39617 49.200 + 73 2.40911 47.400 + 74 2.42252 45.600 + 75 2.43487 44.000 + 76 2.44763 42.400 + 77 2.46086 40.800 + 78 2.47458 39.200 + 79 2.48883 37.600 + 80 2.50272 36.100 + 81 2.51714 34.600 + 82 2.53216 33.100 + 83 2.54676 31.700 + 84 2.56196 30.300 + 85 2.57783 28.900 + 86 2.59322 27.600 + 87 2.60930 26.300 + 88 2.62614 25.000 + 89 2.64245 23.800 + 90 2.65954 22.600 + 91 2.67753 21.400 + 92 2.69493 20.300 + 93 2.70820 19.500 + 94 2.71937 18.850 + 95 2.73093 18.200 + 96 2.74292 17.550 + 97 2.75537 16.900 + 98 2.76734 16.300 + 99 2.77977 15.700 +100 2.79272 15.100 +101 2.80511 14.550 +102 2.81800 14.000 +103 2.83145 13.450 +104 2.84423 12.950 +105 2.85758 12.450 +106 2.87158 11.950 +107 2.88626 11.450 +108 2.90171 10.950 +109 2.91636 10.500 +110 2.93176 10.050 +111 2.94802 9.600 +112 2.96524 9.150 +113 2.98147 8.750 +114 2.99861 8.350 +115 3.01684 7.950 +116 3.03627 7.550 +117 3.05444 7.200 +118 3.07375 6.850 +119 3.09442 6.500 +120 3.11663 6.150 +121 3.13920 5.820 +122 3.16282 5.500 +123 3.18677 5.200 +124 3.21269 4.900 +125 3.23902 4.620 +126 3.26766 4.340 +127 3.29679 4.080 +128 3.32114 3.880 +129 3.34456 3.700 +130 3.36828 3.530 +131 3.39369 3.360 +132 3.41942 3.200 +133 3.44707 3.040 +134 3.47699 2.880 +135 3.50742 2.730 +136 3.53817 2.590 +137 3.57154 2.450 +138 3.60802 2.310 +139 3.64520 2.180 +140 3.68279 2.060 +141 3.72406 1.940 +142 3.76969 1.820 +143 3.82043 1.700 +144 3.87223 1.590 +145 3.92953 1.480 +146 3.97557 1.400 diff --git a/secop_psi/calcurves/X34526.340 b/secop_psi/calcurves/X34526.340 new file mode 100644 index 0000000..536a3cd --- /dev/null +++ b/secop_psi/calcurves/X34526.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X34526 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.75476 325.000 + 2 1.76176 319.000 + 3 1.76832 313.500 + 4 1.77503 308.000 + 5 1.78190 302.500 + 6 1.78892 297.000 + 7 1.79611 291.500 + 8 1.80346 286.000 + 9 1.81099 280.500 + 10 1.81870 275.000 + 11 1.82659 269.500 + 12 1.83394 264.500 + 13 1.84144 259.500 + 14 1.84912 254.500 + 15 1.85697 249.500 + 16 1.86500 244.500 + 17 1.87321 239.500 + 18 1.88162 234.500 + 19 1.89024 229.500 + 20 1.89905 224.500 + 21 1.90809 219.500 + 22 1.91735 214.500 + 23 1.92684 209.500 + 24 1.93657 204.500 + 25 1.94656 199.500 + 26 1.95681 194.500 + 27 1.96734 189.500 + 28 1.97706 185.000 + 29 1.98702 180.500 + 30 1.99724 176.000 + 31 2.00771 171.500 + 32 2.01846 167.000 + 33 2.02950 162.500 + 34 2.04084 158.000 + 35 2.05250 153.500 + 36 2.06449 149.000 + 37 2.07683 144.500 + 38 2.08954 140.000 + 39 2.10118 136.000 + 40 2.11313 132.000 + 41 2.12542 128.000 + 42 2.13808 124.000 + 43 2.15113 120.000 + 44 2.16459 116.000 + 45 2.17848 112.000 + 46 2.19285 108.000 + 47 2.20585 104.500 + 48 2.21924 101.000 + 49 2.23109 98.000 + 50 2.24123 95.500 + 51 2.25160 93.000 + 52 2.26224 90.500 + 53 2.27316 88.000 + 54 2.28438 85.500 + 55 2.29591 83.000 + 56 2.30777 80.500 + 57 2.31999 78.000 + 58 2.33004 76.000 + 59 2.34034 74.000 + 60 2.35091 72.000 + 61 2.36176 70.000 + 62 2.37291 68.000 + 63 2.38438 66.000 + 64 2.39619 64.000 + 65 2.40836 62.000 + 66 2.42091 60.000 + 67 2.43255 58.200 + 68 2.44454 56.400 + 69 2.45691 54.600 + 70 2.46967 52.800 + 71 2.48286 51.000 + 72 2.49650 49.200 + 73 2.51063 47.400 + 74 2.52527 45.600 + 75 2.53878 44.000 + 76 2.55274 42.400 + 77 2.56721 40.800 + 78 2.58224 39.200 + 79 2.59687 37.700 + 80 2.61205 36.200 + 81 2.62784 34.700 + 82 2.64430 33.200 + 83 2.66031 31.800 + 84 2.67699 30.400 + 85 2.69442 29.000 + 86 2.71134 27.700 + 87 2.72903 26.400 + 88 2.74757 25.100 + 89 2.76555 23.900 + 90 2.78440 22.700 + 91 2.80427 21.500 + 92 2.82350 20.400 + 93 2.83818 19.600 + 94 2.85054 18.950 + 95 2.86333 18.300 + 96 2.87662 17.650 + 97 2.88936 17.050 + 98 2.90257 16.450 + 99 2.91632 15.850 +100 2.93065 15.250 +101 2.94436 14.700 +102 2.95864 14.150 +103 2.97355 13.600 +104 2.98916 13.050 +105 3.00403 12.550 +106 3.01959 12.050 +107 3.03593 11.550 +108 3.05313 11.050 +109 3.06945 10.600 +110 3.08661 10.150 +111 3.10475 9.700 +112 3.12179 9.300 +113 3.13976 8.900 +114 3.15879 8.500 +115 3.17902 8.100 +116 3.20058 7.700 +117 3.22074 7.350 +118 3.24218 7.000 +119 3.26513 6.650 +120 3.28978 6.300 +121 3.31719 5.940 +122 3.34355 5.620 +123 3.37029 5.320 +124 3.39919 5.020 +125 3.42855 4.740 +126 3.46043 4.460 +127 3.49282 4.200 +128 3.52126 3.990 +129 3.54735 3.810 +130 3.57375 3.640 +131 3.60202 3.470 +132 3.63063 3.310 +133 3.66138 3.150 +134 3.69463 2.990 +135 3.72843 2.840 +136 3.76260 2.700 +137 3.79964 2.560 +138 3.84007 2.420 +139 3.88116 2.290 +140 3.92608 2.160 +141 3.97556 2.030 +142 4.02593 1.910 +143 4.08137 1.790 +144 4.14298 1.670 +145 4.20601 1.560 +146 4.27020 1.460 +147 4.31368 1.400 +148 4.744 1.100 diff --git a/secop_psi/calcurves/X50830.340 b/secop_psi/calcurves/X50830.340 new file mode 100644 index 0000000..1813554 --- /dev/null +++ b/secop_psi/calcurves/X50830.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X50830 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.89105 325.000 + 2 1.89863 319.000 + 3 1.90573 313.500 + 4 1.91299 308.000 + 5 1.92039 302.500 + 6 1.92795 297.000 + 7 1.93568 291.500 + 8 1.94358 286.000 + 9 1.95165 280.500 + 10 1.95990 275.000 + 11 1.96833 269.500 + 12 1.97696 264.000 + 13 1.98579 258.500 + 14 1.99482 253.000 + 15 2.00407 247.500 + 16 2.01354 242.000 + 17 2.02235 237.000 + 18 2.03136 232.000 + 19 2.04057 227.000 + 20 2.04999 222.000 + 21 2.05962 217.000 + 22 2.06949 212.000 + 23 2.07959 207.000 + 24 2.08994 202.000 + 25 2.10054 197.000 + 26 2.11141 192.000 + 27 2.12256 187.000 + 28 2.13399 182.000 + 29 2.14573 177.000 + 30 2.15656 172.500 + 31 2.16766 168.000 + 32 2.17903 163.500 + 33 2.19069 159.000 + 34 2.20266 154.500 + 35 2.21495 150.000 + 36 2.22756 145.500 + 37 2.24053 141.000 + 38 2.25387 136.500 + 39 2.26761 132.000 + 40 2.28017 128.000 + 41 2.29308 124.000 + 42 2.30635 120.000 + 43 2.32002 116.000 + 44 2.33411 112.000 + 45 2.34864 108.000 + 46 2.36365 104.000 + 47 2.37722 100.500 + 48 2.38718 98.000 + 49 2.39734 95.500 + 50 2.40774 93.000 + 51 2.41839 90.500 + 52 2.42930 88.000 + 53 2.44048 85.500 + 54 2.45195 83.000 + 55 2.46373 80.500 + 56 2.47584 78.000 + 57 2.48830 75.500 + 58 2.49854 73.500 + 59 2.50903 71.500 + 60 2.51978 69.500 + 61 2.53081 67.500 + 62 2.54214 65.500 + 63 2.55378 63.500 + 64 2.56576 61.500 + 65 2.57872 59.400 + 66 2.59144 57.400 + 67 2.60458 55.400 + 68 2.61814 53.400 + 69 2.63075 51.600 + 70 2.64376 49.800 + 71 2.65719 48.000 + 72 2.67108 46.200 + 73 2.68547 44.400 + 74 2.70039 42.600 + 75 2.71415 41.000 + 76 2.72927 39.300 + 77 2.74407 37.700 + 78 2.75944 36.100 + 79 2.77442 34.600 + 80 2.78999 33.100 + 81 2.80621 31.600 + 82 2.82200 30.200 + 83 2.83846 28.800 + 84 2.85567 27.400 + 85 2.87242 26.100 + 86 2.88994 24.800 + 87 2.90692 23.600 + 88 2.92473 22.400 + 89 2.94351 21.200 + 90 2.96168 20.100 + 91 2.96690 19.800 + 92 2.97558 19.300 + 93 2.98728 18.650 + 94 2.99941 18.000 + 95 3.01201 17.350 + 96 3.02412 16.750 + 97 3.03669 16.150 + 98 3.04980 15.550 + 99 3.06234 15.000 +100 3.07541 14.450 +101 3.08906 13.900 +102 3.10203 13.400 +103 3.11558 12.900 +104 3.12978 12.400 +105 3.14471 11.900 +106 3.15883 11.450 +107 3.17365 11.000 +108 3.18925 10.550 +109 3.20574 10.100 +110 3.22320 9.650 +111 3.23967 9.250 +112 3.25708 8.850 +113 3.27559 8.450 +114 3.29533 8.050 +115 3.31377 7.700 +116 3.33336 7.350 +117 3.35433 7.000 +118 3.37681 6.650 +119 3.40105 6.300 +120 3.42809 5.940 +121 3.45252 5.640 +122 3.47890 5.340 +123 3.50754 5.040 +124 3.53668 4.760 +125 3.56844 4.480 +126 3.60078 4.220 +127 3.62786 4.020 +128 3.65244 3.850 +129 3.67873 3.680 +130 3.70697 3.510 +131 3.73559 3.350 +132 3.76638 3.190 +133 3.79760 3.040 +134 3.83129 2.890 +135 3.86792 2.740 +136 3.90517 2.600 +137 3.94570 2.460 +138 3.98689 2.330 +139 4.03180 2.200 +140 4.08119 2.070 +141 4.13148 1.950 +142 4.18689 1.830 +143 4.24335 1.720 +144 4.30032 1.620 +145 4.36388 1.520 +146 4.43503 1.420 +147 4.45094 1.400 diff --git a/secop_psi/calcurves/X50903.340 b/secop_psi/calcurves/X50903.340 new file mode 100644 index 0000000..4ec034b --- /dev/null +++ b/secop_psi/calcurves/X50903.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X50903 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.89093 325.000 + 2 1.89855 319.000 + 3 1.90567 313.500 + 4 1.91295 308.000 + 5 1.92038 302.500 + 6 1.92797 297.000 + 7 1.93573 291.500 + 8 1.94366 286.000 + 9 1.95177 280.500 + 10 1.96005 275.000 + 11 1.96853 269.500 + 12 1.97720 264.000 + 13 1.98607 258.500 + 14 1.99515 253.000 + 15 2.00445 247.500 + 16 2.01397 242.000 + 17 2.02283 237.000 + 18 2.03189 232.000 + 19 2.04115 227.000 + 20 2.05062 222.000 + 21 2.06031 217.000 + 22 2.07023 212.000 + 23 2.08039 207.000 + 24 2.09080 202.000 + 25 2.10146 197.000 + 26 2.11239 192.000 + 27 2.12359 187.000 + 28 2.13509 182.000 + 29 2.14689 177.000 + 30 2.15779 172.500 + 31 2.16895 168.000 + 32 2.18039 163.500 + 33 2.19212 159.000 + 34 2.20416 154.500 + 35 2.21653 150.000 + 36 2.22923 145.500 + 37 2.24229 141.000 + 38 2.25573 136.500 + 39 2.26957 132.000 + 40 2.28223 128.000 + 41 2.29523 124.000 + 42 2.30862 120.000 + 43 2.32239 116.000 + 44 2.33659 112.000 + 45 2.35123 108.000 + 46 2.36635 104.000 + 47 2.38002 100.500 + 48 2.39005 98.000 + 49 2.40028 95.500 + 50 2.41076 93.000 + 51 2.42148 90.500 + 52 2.43247 88.000 + 53 2.44373 85.500 + 54 2.45529 83.000 + 55 2.46717 80.500 + 56 2.47938 78.000 + 57 2.49195 75.500 + 58 2.50489 73.000 + 59 2.51554 71.000 + 60 2.52645 69.000 + 61 2.53765 67.000 + 62 2.54915 65.000 + 63 2.56097 63.000 + 64 2.57314 61.000 + 65 2.58566 59.000 + 66 2.59857 57.000 + 67 2.61190 55.000 + 68 2.62429 53.200 + 69 2.63704 51.400 + 70 2.65021 49.600 + 71 2.66381 47.800 + 72 2.67787 46.000 + 73 2.69245 44.200 + 74 2.70756 42.400 + 75 2.72150 40.800 + 76 2.73592 39.200 + 77 2.75088 37.600 + 78 2.76643 36.000 + 79 2.78159 34.500 + 80 2.79734 33.000 + 81 2.81375 31.500 + 82 2.82974 30.100 + 83 2.84640 28.700 + 84 2.86383 27.300 + 85 2.88079 26.000 + 86 2.89716 24.800 + 87 2.91428 23.600 + 88 2.93227 22.400 + 89 2.94963 21.300 + 90 2.96787 20.200 + 91 2.98184 19.400 + 92 2.99360 18.750 + 93 3.00578 18.100 + 94 3.01844 17.450 + 95 3.03059 16.850 + 96 3.04321 16.250 + 97 3.05636 15.650 + 98 3.06893 15.100 + 99 3.08201 14.550 +100 3.09569 14.000 +101 3.10869 13.500 +102 3.12226 13.000 +103 3.13649 12.500 +104 3.15143 12.000 +105 3.16716 11.500 +106 3.18208 11.050 +107 3.19775 10.600 +108 3.21432 10.150 +109 3.23185 9.700 +110 3.24838 9.300 +111 3.26584 8.900 +112 3.28439 8.500 +113 3.30417 8.100 +114 3.32263 7.750 +115 3.34223 7.400 +116 3.36320 7.050 +117 3.38568 6.700 +118 3.40990 6.350 +119 3.43230 6.050 +120 3.45546 5.760 +121 3.48132 5.460 +122 3.50935 5.160 +123 3.53782 4.880 +124 3.56878 4.600 +125 3.60024 4.340 +126 3.63459 4.080 +127 3.66352 3.880 +128 3.68984 3.710 +129 3.71805 3.540 +130 3.74661 3.380 +131 3.77729 3.220 +132 3.81047 3.060 +133 3.84419 2.910 +134 3.87825 2.770 +135 3.91516 2.630 +136 3.95542 2.490 +137 3.99632 2.360 +138 4.04101 2.230 +139 4.09020 2.100 +140 4.14023 1.980 +141 4.19516 1.860 +142 4.25601 1.740 +143 4.31795 1.630 +144 4.38025 1.530 +145 4.44332 1.440 +146 4.47496 1.400 diff --git a/secop_psi/calcurves/X50921.340 b/secop_psi/calcurves/X50921.340 new file mode 100644 index 0000000..f4ebbe5 --- /dev/null +++ b/secop_psi/calcurves/X50921.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X50921 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.78124 325.000 + 2 1.78846 319.000 + 3 1.79523 313.500 + 4 1.80215 308.000 + 5 1.80922 302.500 + 6 1.81646 297.000 + 7 1.82386 291.500 + 8 1.83143 286.000 + 9 1.83917 280.500 + 10 1.84711 275.000 + 11 1.85522 269.500 + 12 1.86354 264.000 + 13 1.87128 259.000 + 14 1.87918 254.000 + 15 1.88727 249.000 + 16 1.89554 244.000 + 17 1.90399 239.000 + 18 1.91265 234.000 + 19 1.92150 229.000 + 20 1.93057 224.000 + 21 1.93986 219.000 + 22 1.94936 214.000 + 23 1.95911 209.000 + 24 1.96910 204.000 + 25 1.97934 199.000 + 26 1.98984 194.000 + 27 2.00061 189.000 + 28 2.01167 184.000 + 29 2.02189 179.500 + 30 2.03235 175.000 + 31 2.04307 170.500 + 32 2.05407 166.000 + 33 2.06535 161.500 + 34 2.07693 157.000 + 35 2.08882 152.500 + 36 2.10104 148.000 + 37 2.11361 143.500 + 38 2.12654 139.000 + 39 2.13985 134.500 + 40 2.15204 130.500 + 41 2.16455 126.500 + 42 2.17742 122.500 + 43 2.19067 118.500 + 44 2.20432 114.500 + 45 2.21840 110.500 + 46 2.23294 106.500 + 47 2.24797 102.500 + 48 2.25961 99.500 + 49 2.26953 97.000 + 50 2.27968 94.500 + 51 2.29007 92.000 + 52 2.30071 89.500 + 53 2.31163 87.000 + 54 2.32282 84.500 + 55 2.33432 82.000 + 56 2.34614 79.500 + 57 2.35828 77.000 + 58 2.37079 74.500 + 59 2.38108 72.500 + 60 2.39162 70.500 + 61 2.40243 68.500 + 62 2.41353 66.500 + 63 2.42493 64.500 + 64 2.43666 62.500 + 65 2.44873 60.500 + 66 2.46053 58.600 + 67 2.47333 56.600 + 68 2.48655 54.600 + 69 2.49884 52.800 + 70 2.51149 51.000 + 71 2.52456 49.200 + 72 2.53806 47.400 + 73 2.55203 45.600 + 74 2.56651 43.800 + 75 2.57984 42.200 + 76 2.59362 40.600 + 77 2.60789 39.000 + 78 2.62269 37.400 + 79 2.63807 35.800 + 80 2.65306 34.300 + 81 2.66863 32.800 + 82 2.68485 31.300 + 83 2.70065 29.900 + 84 2.71710 28.500 + 85 2.73432 27.100 + 86 2.75105 25.800 + 87 2.76856 24.500 + 88 2.78554 23.300 + 89 2.80334 22.100 + 90 2.82210 20.900 + 91 2.83528 20.100 + 92 2.84630 19.450 + 93 2.85772 18.800 + 94 2.86955 18.150 + 95 2.88182 17.500 + 96 2.89358 16.900 + 97 2.90579 16.300 + 98 2.91849 15.700 + 99 2.93173 15.100 +100 2.94440 14.550 +101 2.95761 14.000 +102 2.97143 13.450 +103 2.98458 12.950 +104 2.99834 12.450 +105 3.01277 11.950 +106 3.02795 11.450 +107 3.04233 11.000 +108 3.05743 10.550 +109 3.07338 10.100 +110 3.09023 9.650 +111 3.10611 9.250 +112 3.12286 8.850 +113 3.14065 8.450 +114 3.15959 8.050 +115 3.17725 7.700 +116 3.19599 7.350 +117 3.21602 7.000 +118 3.23746 6.650 +119 3.26054 6.300 +120 3.28625 5.940 +121 3.30944 5.640 +122 3.33443 5.340 +123 3.36154 5.040 +124 3.38906 4.760 +125 3.41899 4.480 +126 3.44942 4.220 +127 3.47483 4.020 +128 3.49786 3.850 +129 3.52245 3.680 +130 3.54879 3.510 +131 3.57543 3.350 +132 3.60403 3.190 +133 3.63493 3.030 +134 3.66630 2.880 +135 3.70029 2.730 +136 3.73485 2.590 +137 3.77243 2.450 +138 3.81063 2.320 +139 3.85230 2.190 +140 3.89813 2.060 +141 3.94469 1.940 +142 3.99578 1.820 +143 4.05235 1.700 +144 4.11004 1.590 +145 4.16838 1.490 +146 4.22814 1.400 diff --git a/secop_psi/calcurves/X50923.340 b/secop_psi/calcurves/X50923.340 new file mode 100644 index 0000000..2c63b4c --- /dev/null +++ b/secop_psi/calcurves/X50923.340 @@ -0,0 +1,154 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X50923 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.72804 325.000 + 2 1.73429 319.000 + 3 1.74015 313.500 + 4 1.74615 308.000 + 5 1.75228 302.500 + 6 1.75856 297.000 + 7 1.76498 291.500 + 8 1.77156 286.000 + 9 1.77829 280.500 + 10 1.78518 275.000 + 11 1.79224 269.500 + 12 1.79881 264.500 + 13 1.80553 259.500 + 14 1.81239 254.500 + 15 1.81941 249.500 + 16 1.82660 244.500 + 17 1.83395 239.500 + 18 1.84147 234.500 + 19 1.84917 229.500 + 20 1.85705 224.500 + 21 1.86512 219.500 + 22 1.87339 214.500 + 23 1.88187 209.500 + 24 1.89055 204.500 + 25 1.89946 199.500 + 26 1.90859 194.500 + 27 1.91796 189.500 + 28 1.92757 184.500 + 29 1.93745 179.500 + 30 1.94657 175.000 + 31 1.95591 170.500 + 32 1.96549 166.000 + 33 1.97532 161.500 + 34 1.98540 157.000 + 35 1.99576 152.500 + 36 2.00640 148.000 + 37 2.01733 143.500 + 38 2.02858 139.000 + 39 2.04016 134.500 + 40 2.05075 130.500 + 41 2.06162 126.500 + 42 2.07280 122.500 + 43 2.08431 118.500 + 44 2.09616 114.500 + 45 2.10837 110.500 + 46 2.12097 106.500 + 47 2.13400 102.500 + 48 2.14408 99.500 + 49 2.15267 97.000 + 50 2.16145 94.500 + 51 2.17044 92.000 + 52 2.17965 89.500 + 53 2.18909 87.000 + 54 2.19877 84.500 + 55 2.20870 82.000 + 56 2.21891 79.500 + 57 2.22940 77.000 + 58 2.24019 74.500 + 59 2.24906 72.500 + 60 2.25814 70.500 + 61 2.26746 68.500 + 62 2.27702 66.500 + 63 2.28683 64.500 + 64 2.29692 62.500 + 65 2.30730 60.500 + 66 2.31745 58.600 + 67 2.32845 56.600 + 68 2.33980 54.600 + 69 2.35152 52.600 + 70 2.36242 50.800 + 71 2.37366 49.000 + 72 2.38527 47.200 + 73 2.39727 45.400 + 74 2.40969 43.600 + 75 2.42257 41.800 + 76 2.43445 40.200 + 77 2.44672 38.600 + 78 2.45945 37.000 + 79 2.47267 35.400 + 80 2.48554 33.900 + 81 2.49891 32.400 + 82 2.51283 30.900 + 83 2.52637 29.500 + 84 2.54047 28.100 + 85 2.55521 26.700 + 86 2.56954 25.400 + 87 2.58452 24.100 + 88 2.59903 22.900 + 89 2.61424 21.700 + 90 2.63027 20.500 + 91 2.64223 19.650 + 92 2.65168 19.000 + 93 2.66146 18.350 + 94 2.67159 17.700 + 95 2.68210 17.050 + 96 2.69219 16.450 + 97 2.70267 15.850 + 98 2.71358 15.250 + 99 2.72401 14.700 +100 2.73486 14.150 +101 2.74618 13.600 +102 2.75694 13.100 +103 2.76817 12.600 +104 2.77994 12.100 +105 2.79229 11.600 +106 2.80529 11.100 +107 2.81763 10.650 +108 2.83059 10.200 +109 2.84428 9.750 +110 2.85715 9.350 +111 2.87071 8.950 +112 2.88506 8.550 +113 2.90031 8.150 +114 2.91657 7.750 +115 2.93175 7.400 +116 2.94789 7.050 +117 2.96515 6.700 +118 2.98367 6.350 +119 3.00483 5.980 +120 3.02465 5.660 +121 3.04471 5.360 +122 3.06637 5.060 +123 3.08992 4.760 +124 3.11391 4.480 +125 3.13816 4.220 +126 3.15840 4.020 +127 3.17779 3.840 +128 3.19857 3.660 +129 3.21960 3.490 +130 3.24217 3.320 +131 3.26506 3.160 +132 3.28970 3.000 +133 3.31470 2.850 +134 3.34172 2.700 +135 3.36915 2.560 +136 3.39891 2.420 +137 3.43147 2.280 +138 3.46462 2.150 +139 3.50089 2.020 +140 3.54088 1.890 +141 3.58170 1.770 +142 3.62295 1.660 +143 3.66856 1.550 +144 3.71516 1.450 +145 3.74132 1.400 diff --git a/secop_psi/calcurves/X51079.340 b/secop_psi/calcurves/X51079.340 new file mode 100644 index 0000000..673b965 --- /dev/null +++ b/secop_psi/calcurves/X51079.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X51079 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.77077 325.000 + 2 1.77787 319.000 + 3 1.78452 313.500 + 4 1.79132 308.000 + 5 1.79827 302.500 + 6 1.80538 297.000 + 7 1.81265 291.500 + 8 1.82008 286.000 + 9 1.82769 280.500 + 10 1.83547 275.000 + 11 1.84344 269.500 + 12 1.85160 264.000 + 13 1.85995 258.500 + 14 1.86772 253.500 + 15 1.87567 248.500 + 16 1.88379 243.500 + 17 1.89211 238.500 + 18 1.90061 233.500 + 19 1.90932 228.500 + 20 1.91824 223.500 + 21 1.92737 218.500 + 22 1.93673 213.500 + 23 1.94632 208.500 + 24 1.95615 203.500 + 25 1.96623 198.500 + 26 1.97658 193.500 + 27 1.98721 188.500 + 28 1.99702 184.000 + 29 2.00706 179.500 + 30 2.01736 175.000 + 31 2.02793 170.500 + 32 2.03876 166.000 + 33 2.04989 161.500 + 34 2.06131 157.000 + 35 2.07305 152.500 + 36 2.08513 148.000 + 37 2.09755 143.500 + 38 2.11035 139.000 + 39 2.12207 135.000 + 40 2.13411 131.000 + 41 2.14650 127.000 + 42 2.15925 123.000 + 43 2.17241 119.000 + 44 2.18597 115.000 + 45 2.19999 111.000 + 46 2.21448 107.000 + 47 2.22758 103.500 + 48 2.23915 100.500 + 49 2.24903 98.000 + 50 2.25914 95.500 + 51 2.26950 93.000 + 52 2.28012 90.500 + 53 2.29103 88.000 + 54 2.30222 85.500 + 55 2.31374 83.000 + 56 2.32558 80.500 + 57 2.33778 78.000 + 58 2.34783 76.000 + 59 2.35810 74.000 + 60 2.36866 72.000 + 61 2.37949 70.000 + 62 2.39062 68.000 + 63 2.40207 66.000 + 64 2.41385 64.000 + 65 2.42600 62.000 + 66 2.43852 60.000 + 67 2.45014 58.200 + 68 2.46211 56.400 + 69 2.47445 54.600 + 70 2.48719 52.800 + 71 2.50035 51.000 + 72 2.51396 49.200 + 73 2.52806 47.400 + 74 2.54267 45.600 + 75 2.55615 44.000 + 76 2.57009 42.400 + 77 2.58454 40.800 + 78 2.59954 39.200 + 79 2.61415 37.700 + 80 2.62932 36.200 + 81 2.64509 34.700 + 82 2.66153 33.200 + 83 2.67753 31.800 + 84 2.69420 30.400 + 85 2.71162 29.000 + 86 2.72854 27.700 + 87 2.74622 26.400 + 88 2.76476 25.100 + 89 2.78274 23.900 + 90 2.80159 22.700 + 91 2.82146 21.500 + 92 2.84069 20.400 + 93 2.85537 19.600 + 94 2.86772 18.950 + 95 2.88051 18.300 + 96 2.89378 17.650 + 97 2.90651 17.050 + 98 2.91971 16.450 + 99 2.93344 15.850 +100 2.94775 15.250 +101 2.96143 14.700 +102 2.97568 14.150 +103 2.99057 13.600 +104 3.00471 13.100 +105 3.01949 12.600 +106 3.03497 12.100 +107 3.05122 11.600 +108 3.06833 11.100 +109 3.08456 10.650 +110 3.10162 10.200 +111 3.11965 9.750 +112 3.13659 9.350 +113 3.15443 8.950 +114 3.17332 8.550 +115 3.19340 8.150 +116 3.21478 7.750 +117 3.23477 7.400 +118 3.25601 7.050 +119 3.27873 6.700 +120 3.30311 6.350 +121 3.33098 5.980 +122 3.35711 5.660 +123 3.38356 5.360 +124 3.41215 5.060 +125 3.44116 4.780 +126 3.47266 4.500 +127 3.50464 4.240 +128 3.53405 4.020 +129 3.55992 3.840 +130 3.58602 3.670 +131 3.61398 3.500 +132 3.64226 3.340 +133 3.67262 3.180 +134 3.70543 3.020 +135 3.73875 2.870 +136 3.77484 2.720 +137 3.81154 2.580 +138 3.85144 2.440 +139 3.89199 2.310 +140 3.93625 2.180 +141 3.98497 2.050 +142 4.03457 1.930 +143 4.08916 1.810 +144 4.14986 1.690 +145 4.21200 1.580 +146 4.27508 1.480 +147 4.33204 1.400 diff --git a/secop_psi/calcurves/X58273.340 b/secop_psi/calcurves/X58273.340 new file mode 100644 index 0000000..080d6ca --- /dev/null +++ b/secop_psi/calcurves/X58273.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-1050-CU +Serial Number: X58273 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-29 + +No. Units Temperature (K) + + 1 1.75709 2.51858 + 2 1.76294 2.51188 + 3 1.77008 2.50379 + 4 1.77675 2.49624 + 5 1.78357 2.48855 + 6 1.79053 2.48073 + 7 1.79764 2.47276 + 8 1.80491 2.46464 + 9 1.81235 2.45637 + 10 1.81996 2.44793 + 11 1.82775 2.43933 + 12 1.83572 2.43056 + 13 1.84388 2.42160 + 14 1.85225 2.41246 + 15 1.86082 2.40312 + 16 1.86880 2.39445 + 17 1.87697 2.38561 + 18 1.88532 2.37658 + 19 1.89388 2.36736 + 20 1.90264 2.35793 + 21 1.91161 2.34830 + 22 1.92081 2.33846 + 23 1.93023 2.32838 + 24 1.93989 2.31806 + 25 1.94981 2.30750 + 26 1.95997 2.29667 + 27 1.97041 2.28556 + 28 1.98114 2.27416 + 29 1.99214 2.26245 + 30 2.00233 2.25164 + 31 2.01276 2.24055 + 32 2.02346 2.22917 + 33 2.03446 2.21748 + 34 2.04574 2.20548 + 35 2.05736 2.19312 + 36 2.06928 2.18041 + 37 2.08157 2.16732 + 38 2.09422 2.15381 + 39 2.10726 2.13988 + 40 2.11921 2.12710 + 41 2.13149 2.11394 + 42 2.14415 2.10037 + 43 2.15720 2.08636 + 44 2.17066 2.07188 + 45 2.18458 2.05690 + 46 2.19895 2.04139 + 47 2.21385 2.02531 + 48 2.22734 2.01072 + 49 2.23727 2.00000 + 50 2.24741 1.98900 + 51 2.25781 1.97772 + 52 2.26847 1.96614 + 53 2.27941 1.95424 + 54 2.29065 1.94201 + 55 2.30222 1.92942 + 56 2.31411 1.91645 + 57 2.32636 1.90309 + 58 2.33898 1.88930 + 59 2.34937 1.87795 + 60 2.36003 1.86629 + 61 2.37097 1.85431 + 62 2.38222 1.84198 + 63 2.39378 1.82930 + 64 2.40570 1.81624 + 65 2.41797 1.80277 + 66 2.43063 1.78888 + 67 2.44437 1.77379 + 68 2.45790 1.75891 + 69 2.47192 1.74351 + 70 2.48497 1.72916 + 71 2.49845 1.71433 + 72 2.51241 1.69897 + 73 2.52686 1.68305 + 74 2.54186 1.66652 + 75 2.55745 1.64933 + 76 2.57183 1.63347 + 77 2.58674 1.61700 + 78 2.60322 1.59879 + 79 2.61937 1.58092 + 80 2.63620 1.56229 + 81 2.65266 1.54407 + 82 2.66980 1.52504 + 83 2.68772 1.50515 + 84 2.70522 1.48572 + 85 2.72350 1.46538 + 86 2.74266 1.44404 + 87 2.76134 1.42325 + 88 2.78093 1.40140 + 89 2.79995 1.38021 + 90 2.81992 1.35793 + 91 2.84098 1.33445 + 92 2.86139 1.31175 + 93 2.87699 1.29447 + 94 2.89012 1.27989 + 95 2.90372 1.26482 + 96 2.91784 1.24920 + 97 2.93253 1.23300 + 98 2.94664 1.21748 + 99 2.96132 1.20140 + 100 2.97662 1.18469 + 101 2.99125 1.16879 + 102 3.00651 1.15229 + 103 3.02246 1.13513 + 104 3.03917 1.11727 + 105 3.05511 1.10037 + 106 3.07179 1.08279 + 107 3.08931 1.06446 + 108 3.10590 1.04727 + 109 3.12330 1.02938 + 110 3.14163 1.01072 + 111 3.16100 0.99123 + 112 3.17920 0.97313 + 113 3.19838 0.95424 + 114 3.21869 0.93450 + 115 3.24027 0.91381 + 116 3.26328 0.89209 + 117 3.28478 0.87216 + 118 3.30762 0.85126 + 119 3.33207 0.82930 + 120 3.35832 0.80618 + 121 3.38662 0.78176 + 122 3.41371 0.75891 + 123 3.44195 0.73560 + 124 3.47248 0.71096 + 125 3.50342 0.68664 + 126 3.53699 0.66087 + 127 3.57101 0.63548 + 128 3.60810 0.60853 + 129 3.63930 0.58659 + 130 3.66763 0.56703 + 131 3.69798 0.54654 + 132 3.72865 0.52634 + 133 3.76160 0.50515 + 134 3.79719 0.48287 + 135 3.83334 0.46090 + 136 3.87248 0.43775 + 137 3.91229 0.41497 + 138 3.95558 0.39094 + 139 3.99960 0.36736 + 140 4.04763 0.34242 + 141 4.10050 0.31597 + 142 4.15426 0.29003 + 143 4.21332 0.26245 + 144 4.27883 0.23300 + 145 4.34566 0.20412 + 146 4.41318 0.17609 + 147 4.48193 0.14922 + 148 4.49080 0.14613 + 149 4.67528 0.07968 diff --git a/secop_psi/calcurves/X58277.340 b/secop_psi/calcurves/X58277.340 new file mode 100644 index 0000000..de919bf --- /dev/null +++ b/secop_psi/calcurves/X58277.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-1050-CU +Serial Number: X58277 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-29 + +No. Units Temperature (K) + + 1 1.81689 2.51858 + 2 1.82325 2.51188 + 3 1.83100 2.50379 + 4 1.83826 2.49624 + 5 1.84567 2.48855 + 6 1.85322 2.48073 + 7 1.86095 2.47276 + 8 1.86886 2.46464 + 9 1.87694 2.45637 + 10 1.88522 2.44793 + 11 1.89368 2.43933 + 12 1.90235 2.43056 + 13 1.91123 2.42160 + 14 1.92034 2.41246 + 15 1.92966 2.40312 + 16 1.93835 2.39445 + 17 1.94725 2.38561 + 18 1.95635 2.37658 + 19 1.96568 2.36736 + 20 1.97523 2.35793 + 21 1.98501 2.34830 + 22 1.99504 2.33846 + 23 2.00532 2.32838 + 24 2.01587 2.31806 + 25 2.02670 2.30750 + 26 2.03780 2.29667 + 27 2.04921 2.28556 + 28 2.06094 2.27416 + 29 2.07297 2.26245 + 30 2.08412 2.25164 + 31 2.09554 2.24055 + 32 2.10726 2.22917 + 33 2.11930 2.21748 + 34 2.13167 2.20548 + 35 2.14440 2.19312 + 36 2.15749 2.18041 + 37 2.17097 2.16732 + 38 2.18486 2.15381 + 39 2.19919 2.13988 + 40 2.21232 2.12710 + 41 2.22584 2.11394 + 42 2.23977 2.10037 + 43 2.25413 2.08636 + 44 2.26897 2.07188 + 45 2.28431 2.05690 + 46 2.30018 2.04139 + 47 2.31663 2.02531 + 48 2.33154 2.01072 + 49 2.34251 2.00000 + 50 2.35373 1.98900 + 51 2.36524 1.97772 + 52 2.37705 1.96614 + 53 2.38917 1.95424 + 54 2.40164 1.94201 + 55 2.41446 1.92942 + 56 2.42766 1.91645 + 57 2.44127 1.90309 + 58 2.45529 1.88930 + 59 2.46685 1.87795 + 60 2.47870 1.86629 + 61 2.49088 1.85431 + 62 2.50341 1.84198 + 63 2.51630 1.82930 + 64 2.52958 1.81624 + 65 2.54327 1.80277 + 66 2.55741 1.78888 + 67 2.57275 1.77379 + 68 2.58787 1.75891 + 69 2.60355 1.74351 + 70 2.61815 1.72916 + 71 2.63325 1.71433 + 72 2.64889 1.69897 + 73 2.66509 1.68305 + 74 2.68193 1.66652 + 75 2.69943 1.64933 + 76 2.71559 1.63347 + 77 2.73237 1.61700 + 78 2.75091 1.59879 + 79 2.76910 1.58092 + 80 2.78809 1.56229 + 81 2.80666 1.54407 + 82 2.82603 1.52504 + 83 2.84629 1.50515 + 84 2.86610 1.48572 + 85 2.88681 1.46538 + 86 2.90855 1.44404 + 87 2.92977 1.42325 + 88 2.95204 1.40140 + 89 2.97370 1.38021 + 90 2.99647 1.35793 + 91 3.02051 1.33445 + 92 3.04383 1.31175 + 93 3.06168 1.29447 + 94 3.07671 1.27989 + 95 3.09229 1.26482 + 96 3.10849 1.24920 + 97 3.12536 1.23300 + 98 3.14156 1.21748 + 99 3.15844 1.20140 + 100 3.17605 1.18469 + 101 3.19291 1.16879 + 102 3.21049 1.15229 + 103 3.22890 1.13513 + 104 3.24819 1.11727 + 105 3.26661 1.10037 + 106 3.28591 1.08279 + 107 3.30619 1.06446 + 108 3.32542 1.04727 + 109 3.34560 1.02938 + 110 3.36688 1.01072 + 111 3.38938 0.99123 + 112 3.41055 0.97313 + 113 3.43287 0.95424 + 114 3.45654 0.93450 + 115 3.48171 0.91381 + 116 3.50858 0.89209 + 117 3.53371 0.87216 + 118 3.56045 0.85126 + 119 3.58910 0.82930 + 120 3.61990 0.80618 + 121 3.65317 0.78176 + 122 3.68505 0.75891 + 123 3.71834 0.73560 + 124 3.75441 0.71096 + 125 3.79102 0.68664 + 126 3.83080 0.66087 + 127 3.87121 0.63548 + 128 3.91535 0.60853 + 129 3.95255 0.58659 + 130 3.98637 0.56703 + 131 4.02265 0.54654 + 132 4.05938 0.52634 + 133 4.09887 0.50515 + 134 4.14159 0.48287 + 135 4.18503 0.46090 + 136 4.23213 0.43775 + 137 4.28010 0.41497 + 138 4.33235 0.39094 + 139 4.38554 0.36736 + 140 4.44368 0.34242 + 141 4.50779 0.31597 + 142 4.57310 0.29003 + 143 4.64498 0.26245 + 144 4.72482 0.23300 + 145 4.80641 0.20412 + 146 4.88896 0.17609 + 147 4.97296 0.14922 + 148 4.98378 0.14613 + 149 5.20852 0.07968 diff --git a/secop_psi/calcurves/X58280.340 b/secop_psi/calcurves/X58280.340 new file mode 100644 index 0000000..acb7ea1 --- /dev/null +++ b/secop_psi/calcurves/X58280.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-1050-CU +Serial Number: X58280 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-29 + +No. Units Temperature (K) + + 1 1.83800 2.51858 + 2 1.84385 2.51188 + 3 1.85098 2.50379 + 4 1.85767 2.49624 + 5 1.86452 2.48855 + 6 1.87152 2.48073 + 7 1.87869 2.47276 + 8 1.88604 2.46464 + 9 1.89357 2.45637 + 10 1.90128 2.44793 + 11 1.90918 2.43933 + 12 1.91728 2.43056 + 13 1.92560 2.42160 + 14 1.93413 2.41246 + 15 1.94288 2.40312 + 16 1.95105 2.39445 + 17 1.95942 2.38561 + 18 1.96799 2.37658 + 19 1.97678 2.36736 + 20 1.98580 2.35793 + 21 1.99505 2.34830 + 22 2.00455 2.33846 + 23 2.01430 2.32838 + 24 2.02432 2.31806 + 25 2.03461 2.30750 + 26 2.04519 2.29667 + 27 2.05607 2.28556 + 28 2.06727 2.27416 + 29 2.07879 2.26245 + 30 2.08946 2.25164 + 31 2.10041 2.24055 + 32 2.11167 2.22917 + 33 2.12325 2.21748 + 34 2.13516 2.20548 + 35 2.14743 2.19312 + 36 2.16005 2.18041 + 37 2.17308 2.16732 + 38 2.18651 2.15381 + 39 2.20039 2.13988 + 40 2.21311 2.12710 + 41 2.22621 2.11394 + 42 2.23973 2.10037 + 43 2.25369 2.08636 + 44 2.26811 2.07188 + 45 2.28303 2.05690 + 46 2.29848 2.04139 + 47 2.31450 2.02531 + 48 2.32904 2.01072 + 49 2.33973 2.00000 + 50 2.35068 1.98900 + 51 2.36192 1.97772 + 52 2.37344 1.96614 + 53 2.38529 1.95424 + 54 2.39747 1.94201 + 55 2.41001 1.92942 + 56 2.42292 1.91645 + 57 2.43623 1.90309 + 58 2.44996 1.88930 + 59 2.46128 1.87795 + 60 2.47289 1.86629 + 61 2.48483 1.85431 + 62 2.49711 1.84198 + 63 2.50975 1.82930 + 64 2.52278 1.81624 + 65 2.53622 1.80277 + 66 2.55009 1.78888 + 67 2.56516 1.77379 + 68 2.58001 1.75891 + 69 2.59542 1.74351 + 70 2.60978 1.72916 + 71 2.62462 1.71433 + 72 2.64000 1.69897 + 73 2.65594 1.68305 + 74 2.67251 1.66652 + 75 2.68973 1.64933 + 76 2.70565 1.63347 + 77 2.72217 1.61700 + 78 2.74043 1.59879 + 79 2.75835 1.58092 + 80 2.77706 1.56229 + 81 2.79536 1.54407 + 82 2.81444 1.52504 + 83 2.83442 1.50515 + 84 2.85394 1.48572 + 85 2.87437 1.46538 + 86 2.89580 1.44404 + 87 2.91672 1.42325 + 88 2.93869 1.40140 + 89 2.96005 1.38021 + 90 2.98250 1.35793 + 91 3.00622 1.33445 + 92 3.02922 1.31175 + 93 3.04683 1.29447 + 94 3.06167 1.27989 + 95 3.07704 1.26482 + 96 3.09303 1.24920 + 97 3.10967 1.23300 + 98 3.12566 1.21748 + 99 3.14231 1.20140 + 100 3.15969 1.18469 + 101 3.17632 1.16879 + 102 3.19368 1.15229 + 103 3.21184 1.13513 + 104 3.23088 1.11727 + 105 3.24906 1.10037 + 106 3.26810 1.08279 + 107 3.28811 1.06446 + 108 3.30709 1.04727 + 109 3.32700 1.02938 + 110 3.34800 1.01072 + 111 3.37020 0.99123 + 112 3.39107 0.97313 + 113 3.41310 0.95424 + 114 3.43644 0.93450 + 115 3.46126 0.91381 + 116 3.48776 0.89209 + 117 3.51254 0.87216 + 118 3.53890 0.85126 + 119 3.56715 0.82930 + 120 3.59751 0.80618 + 121 3.63030 0.78176 + 122 3.66172 0.75891 + 123 3.69453 0.73560 + 124 3.73007 0.71096 + 125 3.76614 0.68664 + 126 3.80534 0.66087 + 127 3.84515 0.63548 + 128 3.88863 0.60853 + 129 3.92525 0.58659 + 130 3.95856 0.56703 + 131 3.99428 0.54654 + 132 4.03042 0.52634 + 133 4.06928 0.50515 + 134 4.11131 0.48287 + 135 4.15404 0.46090 + 136 4.20035 0.43775 + 137 4.24751 0.41497 + 138 4.29886 0.39094 + 139 4.35115 0.36736 + 140 4.40829 0.34242 + 141 4.47128 0.31597 + 142 4.53541 0.29003 + 143 4.60593 0.26245 + 144 4.68419 0.23300 + 145 4.76420 0.20412 + 146 4.84535 0.17609 + 147 4.92787 0.14922 + 148 4.93844 0.14613 + 149 5.15813 0.07968 diff --git a/secop_psi/calcurves/X58542.340 b/secop_psi/calcurves/X58542.340 new file mode 100644 index 0000000..746a9b6 --- /dev/null +++ b/secop_psi/calcurves/X58542.340 @@ -0,0 +1,185 @@ +Sensor Model: CX-1030-SD-0.3L +Serial Number: X58542 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 176 + +No. Units Temperature (K) + + 1 1.66511 325.000 + 2 1.67036 319.000 + 3 1.67527 313.500 + 4 1.68027 308.000 + 5 1.68538 302.500 + 6 1.69060 297.000 + 7 1.69592 291.500 + 8 1.70135 286.000 + 9 1.70690 280.500 + 10 1.71257 275.000 + 11 1.71836 269.500 + 12 1.72428 264.000 + 13 1.73033 258.500 + 14 1.73651 253.000 + 15 1.74283 247.500 + 16 1.74929 242.000 + 17 1.75590 236.500 + 18 1.76267 231.000 + 19 1.76960 225.500 + 20 1.77669 220.000 + 21 1.78395 214.500 + 22 1.79070 209.500 + 23 1.79761 204.500 + 24 1.80467 199.500 + 25 1.81189 194.500 + 26 1.81929 189.500 + 27 1.82686 184.500 + 28 1.83461 179.500 + 29 1.84255 174.500 + 30 1.85069 169.500 + 31 1.85903 164.500 + 32 1.86759 159.500 + 33 1.87639 154.500 + 34 1.88451 150.000 + 35 1.89283 145.500 + 36 1.90136 141.000 + 37 1.91012 136.500 + 38 1.91912 132.000 + 39 1.92837 127.500 + 40 1.93789 123.000 + 41 1.94659 119.000 + 42 1.95553 115.000 + 43 1.96473 111.000 + 44 1.97420 107.000 + 45 1.98396 103.000 + 46 1.99150 100.000 + 47 1.99792 97.500 + 48 2.00447 95.000 + 49 2.01118 92.500 + 50 2.01803 90.000 + 51 2.02505 87.500 + 52 2.03224 85.000 + 53 2.03960 82.500 + 54 2.04716 80.000 + 55 2.05493 77.500 + 56 2.06291 75.000 + 57 2.07112 72.500 + 58 2.07788 70.500 + 59 2.08479 68.500 + 60 2.09189 66.500 + 61 2.09918 64.500 + 62 2.10666 62.500 + 63 2.11436 60.500 + 64 2.12189 58.600 + 65 2.13004 56.600 + 66 2.13846 54.600 + 67 2.14715 52.600 + 68 2.15523 50.800 + 69 2.16355 49.000 + 70 2.17216 47.200 + 71 2.18105 45.400 + 72 2.19026 43.600 + 73 2.19980 41.800 + 74 2.20860 40.200 + 75 2.21769 38.600 + 76 2.22712 37.000 + 77 2.23690 35.400 + 78 2.24707 33.800 + 79 2.25699 32.300 + 80 2.26731 30.800 + 81 2.27734 29.400 + 82 2.28779 28.000 + 83 2.29870 26.600 + 84 2.30930 25.300 + 85 2.32039 24.000 + 86 2.33113 22.800 + 87 2.34238 21.600 + 88 2.35425 20.400 + 89 2.36309 19.550 + 90 2.37062 18.850 + 91 2.37788 18.200 + 92 2.38538 17.550 + 93 2.39318 16.900 + 94 2.40066 16.300 + 95 2.40842 15.700 + 96 2.41650 15.100 + 97 2.42422 14.550 + 98 2.43224 14.000 + 99 2.44062 13.450 +100 2.44939 12.900 +101 2.45773 12.400 +102 2.46645 11.900 +103 2.47560 11.400 +104 2.48523 10.900 +105 2.49436 10.450 +106 2.50395 10.000 +107 2.51408 9.550 +108 2.52480 9.100 +109 2.53490 8.700 +110 2.54557 8.300 +111 2.55692 7.900 +112 2.56900 7.500 +113 2.58030 7.150 +114 2.59229 6.800 +115 2.60511 6.450 +116 2.61886 6.100 +117 2.63236 5.780 +118 2.64687 5.460 +119 2.66254 5.140 +120 2.67845 4.840 +121 2.69453 4.560 +122 2.71195 4.280 +123 2.72960 4.020 +124 2.74430 3.820 +125 2.75844 3.640 +126 2.77273 3.470 +127 2.78804 3.300 +128 2.80356 3.140 +129 2.82128 2.970 +130 2.83913 2.810 +131 2.85729 2.660 +132 2.87696 2.510 +133 2.89687 2.370 +134 2.91852 2.230 +135 2.94049 2.100 +136 2.96447 1.970 +137 2.98882 1.850 +138 3.01553 1.730 +139 3.04517 1.610 +140 3.07544 1.500 +141 3.10915 1.390 +142 3.14361 1.290 +143 3.17429 1.210 +144 3.19515 1.160 +145 3.21273 1.120 +146 3.23131 1.080 +147 3.25098 1.040 +148 3.27184 1.000 +149 3.29403 0.960 +150 3.31770 0.920 +151 3.33981 0.885 +152 3.36327 0.850 +153 3.38830 0.815 +154 3.41509 0.780 +155 3.44386 0.745 +156 3.47487 0.710 +157 3.50356 0.680 +158 3.53427 0.650 +159 3.56746 0.620 +160 3.60341 0.590 +161 3.64260 0.560 +162 3.68560 0.530 +163 3.72493 0.505 +164 3.75716 0.486 +165 3.78977 0.468 +166 3.82466 0.450 +167 3.86210 0.432 +168 3.90234 0.414 +169 3.94565 0.396 +170 3.99235 0.378 +171 4.03704 0.362 +172 4.08486 0.346 +173 4.13653 0.330 +174 4.18557 0.316 +175 4.23162 0.304 +176 4.24824 0.300 diff --git a/secop_psi/calcurves/X58599.340 b/secop_psi/calcurves/X58599.340 new file mode 100644 index 0000000..26d4650 --- /dev/null +++ b/secop_psi/calcurves/X58599.340 @@ -0,0 +1,149 @@ +Sensor Model: CX-1010-AA-1.4L +Serial Number: X58599 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 140 + +No. Units Temperature (K) + + 1 1.61336 325.000 + 2 1.61822 319.000 + 3 1.62278 313.500 + 4 1.62744 308.000 + 5 1.63220 302.500 + 6 1.63706 297.000 + 7 1.64202 291.500 + 8 1.64708 286.000 + 9 1.65225 280.500 + 10 1.65752 275.000 + 11 1.66291 269.500 + 12 1.66840 264.000 + 13 1.67401 258.500 + 14 1.67975 253.000 + 15 1.68560 247.500 + 16 1.69159 242.000 + 17 1.69771 236.500 + 18 1.70397 231.000 + 19 1.71038 225.500 + 20 1.71694 220.000 + 21 1.72304 215.000 + 22 1.72928 210.000 + 23 1.73566 205.000 + 24 1.74218 200.000 + 25 1.74886 195.000 + 26 1.75569 190.000 + 27 1.76268 185.000 + 28 1.76984 180.000 + 29 1.77718 175.000 + 30 1.78470 170.000 + 31 1.79240 165.000 + 32 1.80030 160.000 + 33 1.80841 155.000 + 34 1.81673 150.000 + 35 1.82441 145.500 + 36 1.83227 141.000 + 37 1.84034 136.500 + 38 1.84861 132.000 + 39 1.85711 127.500 + 40 1.86585 123.000 + 41 1.87484 118.500 + 42 1.88306 114.500 + 43 1.89149 110.500 + 44 1.90018 106.500 + 45 1.90911 102.500 + 46 1.91601 99.500 + 47 1.92187 97.000 + 48 1.92785 94.500 + 49 1.93396 92.000 + 50 1.94019 89.500 + 51 1.94657 87.000 + 52 1.95310 84.500 + 53 1.95979 82.000 + 54 1.96664 79.500 + 55 1.97367 77.000 + 56 1.98088 74.500 + 57 1.98829 72.000 + 58 1.99592 69.500 + 59 2.00219 67.500 + 60 2.00861 65.500 + 61 2.01520 63.500 + 62 2.02196 61.500 + 63 2.02925 59.400 + 64 2.03641 57.400 + 65 2.04377 55.400 + 66 2.05136 53.400 + 67 2.05919 51.400 + 68 2.06728 49.400 + 69 2.07480 47.600 + 70 2.08255 45.800 + 71 2.09055 44.000 + 72 2.09883 42.200 + 73 2.10740 40.400 + 74 2.11578 38.700 + 75 2.12447 37.000 + 76 2.13295 35.400 + 77 2.14173 33.800 + 78 2.15086 32.200 + 79 2.15977 30.700 + 80 2.16902 29.200 + 81 2.17802 27.800 + 82 2.18740 26.400 + 83 2.19719 25.000 + 84 2.20671 23.700 + 85 2.21591 22.500 + 86 2.22553 21.300 + 87 2.23564 20.100 + 88 2.23743 19.900 + 89 2.24227 19.350 + 90 2.24865 18.650 + 91 2.25526 17.950 + 92 2.26162 17.300 + 93 2.26821 16.650 + 94 2.27506 16.000 + 95 2.28164 15.400 + 96 2.28848 14.800 + 97 2.29562 14.200 + 98 2.30242 13.650 + 99 2.30951 13.100 +100 2.31695 12.550 +101 2.32404 12.050 +102 2.33144 11.550 +103 2.33922 11.050 +104 2.34739 10.550 +105 2.35514 10.100 +106 2.36328 9.650 +107 2.37188 9.200 +108 2.38098 8.750 +109 2.38956 8.350 +110 2.39863 7.950 +111 2.40826 7.550 +112 2.41854 7.150 +113 2.42814 6.800 +114 2.43835 6.450 +115 2.44929 6.100 +116 2.46069 5.760 +117 2.47224 5.440 +118 2.48388 5.140 +119 2.49642 4.840 +120 2.51001 4.540 +121 2.52380 4.260 +122 2.53662 4.020 +123 2.54808 3.820 +124 2.55908 3.640 +125 2.57081 3.460 +126 2.58338 3.280 +127 2.59613 3.110 +128 2.60900 2.950 +129 2.62284 2.790 +130 2.63685 2.640 +131 2.65196 2.490 +132 2.66839 2.340 +133 2.68512 2.200 +134 2.70205 2.070 +135 2.72052 1.940 +136 2.74084 1.810 +137 2.76152 1.690 +138 2.78426 1.570 +139 2.80947 1.450 +140 2.82107 1.400 diff --git a/secop_psi/calcurves/X58600.340 b/secop_psi/calcurves/X58600.340 new file mode 100644 index 0000000..bf9fe8a --- /dev/null +++ b/secop_psi/calcurves/X58600.340 @@ -0,0 +1,147 @@ +Sensor Model: CX-1010-AA-1.4L +Serial Number: X58600 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 138 + +No. Units Temperature (K) + + 1 1.59238 325.000 + 2 1.59721 319.000 + 3 1.60173 313.500 + 4 1.60633 308.000 + 5 1.61103 302.500 + 6 1.61583 297.000 + 7 1.62074 291.500 + 8 1.62574 286.000 + 9 1.63085 280.500 + 10 1.63607 275.000 + 11 1.64141 269.500 + 12 1.64686 264.000 + 13 1.65244 258.500 + 14 1.65813 253.000 + 15 1.66396 247.500 + 16 1.66991 242.000 + 17 1.67601 236.500 + 18 1.68224 231.000 + 19 1.68862 225.500 + 20 1.69515 220.000 + 21 1.70183 214.500 + 22 1.70868 209.000 + 23 1.71505 204.000 + 24 1.72155 199.000 + 25 1.72821 194.000 + 26 1.73502 189.000 + 27 1.74199 184.000 + 28 1.74912 179.000 + 29 1.75642 174.000 + 30 1.76390 169.000 + 31 1.77156 164.000 + 32 1.77942 159.000 + 33 1.78748 154.000 + 34 1.79576 149.000 + 35 1.80340 144.500 + 36 1.81123 140.000 + 37 1.81926 135.500 + 38 1.82750 131.000 + 39 1.83597 126.500 + 40 1.84467 122.000 + 41 1.85362 117.500 + 42 1.86180 113.500 + 43 1.87021 109.500 + 44 1.87885 105.500 + 45 1.88775 101.500 + 46 1.89461 98.500 + 47 1.90045 96.000 + 48 1.90640 93.500 + 49 1.91248 91.000 + 50 1.91868 88.500 + 51 1.92503 86.000 + 52 1.93153 83.500 + 53 1.93818 81.000 + 54 1.94500 78.500 + 55 1.95201 76.000 + 56 1.95921 73.500 + 57 1.96660 71.000 + 58 1.97420 68.500 + 59 1.98046 66.500 + 60 1.98687 64.500 + 61 1.99345 62.500 + 62 2.00020 60.500 + 63 2.00679 58.600 + 64 2.01391 56.600 + 65 2.02125 54.600 + 66 2.02882 52.600 + 67 2.03663 50.600 + 68 2.04469 48.600 + 69 2.05219 46.800 + 70 2.05992 45.000 + 71 2.06791 43.200 + 72 2.07617 41.400 + 73 2.08521 39.500 + 74 2.09361 37.800 + 75 2.10230 36.100 + 76 2.11080 34.500 + 77 2.11961 32.900 + 78 2.12877 31.300 + 79 2.13771 29.800 + 80 2.14638 28.400 + 81 2.15541 27.000 + 82 2.16482 25.600 + 83 2.17396 24.300 + 84 2.18351 23.000 + 85 2.19276 21.800 + 86 2.20244 20.600 + 87 2.21007 19.700 + 88 2.21621 19.000 + 89 2.22256 18.300 + 90 2.22867 17.650 + 91 2.23499 17.000 + 92 2.24155 16.350 + 93 2.24784 15.750 + 94 2.25437 15.150 + 95 2.26117 14.550 + 96 2.26826 13.950 + 97 2.27503 13.400 + 98 2.28145 12.900 + 99 2.28815 12.400 +100 2.29516 11.900 +101 2.30249 11.400 +102 2.31018 10.900 +103 2.31746 10.450 +104 2.32509 10.000 +105 2.33312 9.550 +106 2.34161 9.100 +107 2.35059 8.650 +108 2.35906 8.250 +109 2.36802 7.850 +110 2.37755 7.450 +111 2.38772 7.050 +112 2.39723 6.700 +113 2.40735 6.350 +114 2.41948 5.960 +115 2.43091 5.620 +116 2.44250 5.300 +117 2.45421 5.000 +118 2.46683 4.700 +119 2.48055 4.400 +120 2.49450 4.120 +121 2.50640 3.900 +122 2.51736 3.710 +123 2.52845 3.530 +124 2.54030 3.350 +125 2.55230 3.180 +126 2.56516 3.010 +127 2.57821 2.850 +128 2.59226 2.690 +129 2.60651 2.540 +130 2.62089 2.400 +131 2.63646 2.260 +132 2.65343 2.120 +133 2.67068 1.990 +134 2.68954 1.860 +135 2.71036 1.730 +136 2.73160 1.610 +137 2.75502 1.490 +138 2.77445 1.400 diff --git a/secop_psi/calcurves/X63161.340 b/secop_psi/calcurves/X63161.340 new file mode 100644 index 0000000..557c522 --- /dev/null +++ b/secop_psi/calcurves/X63161.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63161 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 +extendend: 1.4 + +No. Units Temperature (K) + + 1 1.84804 325.000 + 2 1.85539 319.000 + 3 1.86226 313.500 + 4 1.86928 308.000 + 5 1.87645 302.500 + 6 1.88378 297.000 + 7 1.89126 291.500 + 8 1.89892 286.000 + 9 1.90674 280.500 + 10 1.91475 275.000 + 11 1.92294 269.500 + 12 1.93132 264.000 + 13 1.93990 258.500 + 14 1.94868 253.000 + 15 1.95767 247.500 + 16 1.96605 242.500 + 17 1.97460 237.500 + 18 1.98335 232.500 + 19 1.99230 227.500 + 20 2.00146 222.500 + 21 2.01084 217.500 + 22 2.02044 212.500 + 23 2.03027 207.500 + 24 2.04035 202.500 + 25 2.05067 197.500 + 26 2.06126 192.500 + 27 2.07212 187.500 + 28 2.08327 182.500 + 29 2.09357 178.000 + 30 2.10411 173.500 + 31 2.11492 169.000 + 32 2.12600 164.500 + 33 2.13737 160.000 + 34 2.14905 155.500 + 35 2.16104 151.000 + 36 2.17337 146.500 + 37 2.18606 142.000 + 38 2.19912 137.500 + 39 2.21107 133.500 + 40 2.22334 129.500 + 41 2.23596 125.500 + 42 2.24896 121.500 + 43 2.26234 117.500 + 44 2.27614 113.500 + 45 2.29039 109.500 + 46 2.30511 105.500 + 47 2.31843 102.000 + 48 2.32820 99.500 + 49 2.33818 97.000 + 50 2.34840 94.500 + 51 2.35887 92.000 + 52 2.36960 89.500 + 53 2.38062 87.000 + 54 2.39193 84.500 + 55 2.40355 82.000 + 56 2.41551 79.500 + 57 2.42782 77.000 + 58 2.43795 75.000 + 59 2.44832 73.000 + 60 2.45897 71.000 + 61 2.46989 69.000 + 62 2.48112 67.000 + 63 2.49267 65.000 + 64 2.50455 63.000 + 65 2.51680 61.000 + 66 2.52942 59.000 + 67 2.54246 57.000 + 68 2.55458 55.200 + 69 2.56706 53.400 + 70 2.57996 51.600 + 71 2.59328 49.800 + 72 2.60707 48.000 + 73 2.62135 46.200 + 74 2.63451 44.600 + 75 2.64810 43.000 + 76 2.66219 41.400 + 77 2.67773 39.700 + 78 2.69293 38.100 + 79 2.70775 36.600 + 80 2.72314 35.100 + 81 2.73917 33.600 + 82 2.75475 32.200 + 83 2.77098 30.800 + 84 2.78792 29.400 + 85 2.80436 28.100 + 86 2.82153 26.800 + 87 2.83952 25.500 + 88 2.85695 24.300 + 89 2.87522 23.100 + 90 2.89446 21.900 + 91 2.91306 20.800 + 92 2.92817 19.950 + 93 2.94015 19.300 + 94 2.95255 18.650 + 95 2.96541 18.000 + 96 2.97878 17.350 + 97 2.99162 16.750 + 98 3.00496 16.150 + 99 3.01886 15.550 +100 3.03215 15.000 +101 3.04599 14.450 +102 3.06045 13.900 +103 3.07558 13.350 +104 3.09001 12.850 +105 3.10509 12.350 +106 3.12095 11.850 +107 3.13594 11.400 +108 3.15167 10.950 +109 3.16823 10.500 +110 3.18571 10.050 +111 3.20422 9.600 +112 3.22167 9.200 +113 3.24010 8.800 +114 3.25969 8.400 +115 3.28057 8.000 +116 3.30007 7.650 +117 3.32077 7.300 +118 3.34292 6.950 +119 3.36665 6.600 +120 3.39224 6.250 +121 3.41995 5.900 +122 3.44566 5.600 +123 3.47340 5.300 +124 3.50353 5.000 +125 3.53419 4.720 +126 3.56516 4.460 +127 3.59891 4.200 +128 3.63017 3.980 +129 3.65767 3.800 +130 3.68554 3.630 +131 3.71368 3.470 +132 3.74388 3.310 +133 3.77646 3.150 +134 3.80949 3.000 +135 3.84519 2.850 +136 3.88403 2.700 +137 3.92355 2.560 +138 3.96659 2.420 +139 4.01036 2.290 +140 4.05815 2.160 +141 4.11079 2.030 +142 4.16452 1.910 +143 4.21884 1.800 +144 4.27890 1.690 +145 4.34005 1.590 +146 4.40827 1.490 +147 4.47672 1.400 diff --git a/secop_psi/calcurves/X63163.340 b/secop_psi/calcurves/X63163.340 new file mode 100644 index 0000000..c8bba20 --- /dev/null +++ b/secop_psi/calcurves/X63163.340 @@ -0,0 +1,154 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63163 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.73718 325.000 + 2 1.74354 319.000 + 3 1.74949 313.500 + 4 1.75557 308.000 + 5 1.76178 302.500 + 6 1.76812 297.000 + 7 1.77461 291.500 + 8 1.78123 286.000 + 9 1.78801 280.500 + 10 1.79494 275.000 + 11 1.80202 269.500 + 12 1.80927 264.000 + 13 1.81668 258.500 + 14 1.82428 253.000 + 15 1.83205 247.500 + 16 1.84001 242.000 + 17 1.84742 237.000 + 18 1.85498 232.000 + 19 1.86273 227.000 + 20 1.87064 222.000 + 21 1.87875 217.000 + 22 1.88704 212.000 + 23 1.89553 207.000 + 24 1.90423 202.000 + 25 1.91314 197.000 + 26 1.92227 192.000 + 27 1.93163 187.000 + 28 1.94124 182.000 + 29 1.95109 177.000 + 30 1.96122 172.000 + 31 1.97057 167.500 + 32 1.98014 163.000 + 33 1.98996 158.500 + 34 2.00004 154.000 + 35 2.01039 149.500 + 36 2.02101 145.000 + 37 2.03194 140.500 + 38 2.04318 136.000 + 39 2.05475 131.500 + 40 2.06534 127.500 + 41 2.07621 123.500 + 42 2.08739 119.500 + 43 2.09891 115.500 + 44 2.11078 111.500 + 45 2.12303 107.500 + 46 2.13568 103.500 + 47 2.14547 100.500 + 48 2.15382 98.000 + 49 2.16235 95.500 + 50 2.17108 93.000 + 51 2.18002 90.500 + 52 2.18919 88.000 + 53 2.19859 85.500 + 54 2.20824 83.000 + 55 2.21815 80.500 + 56 2.22834 78.000 + 57 2.23883 75.500 + 58 2.24746 73.500 + 59 2.25630 71.500 + 60 2.26536 69.500 + 61 2.27466 67.500 + 62 2.28422 65.500 + 63 2.29405 63.500 + 64 2.30417 61.500 + 65 2.31512 59.400 + 66 2.32588 57.400 + 67 2.33699 55.400 + 68 2.34732 53.600 + 69 2.35796 51.800 + 70 2.36895 50.000 + 71 2.38030 48.200 + 72 2.39205 46.400 + 73 2.40422 44.600 + 74 2.41684 42.800 + 75 2.42849 41.200 + 76 2.44129 39.500 + 77 2.45382 37.900 + 78 2.46683 36.300 + 79 2.47951 34.800 + 80 2.49268 33.300 + 81 2.50640 31.800 + 82 2.51975 30.400 + 83 2.53366 29.000 + 84 2.54819 27.600 + 85 2.56231 26.300 + 86 2.57708 25.000 + 87 2.59258 23.700 + 88 2.60763 22.500 + 89 2.62211 21.400 + 90 2.63732 20.300 + 91 2.64894 19.500 + 92 2.65871 18.850 + 93 2.66882 18.200 + 94 2.67931 17.550 + 95 2.69020 16.900 + 96 2.70066 16.300 + 97 2.71153 15.700 + 98 2.72285 15.100 + 99 2.73368 14.550 +100 2.74495 14.000 +101 2.75673 13.450 +102 2.76794 12.950 +103 2.77965 12.450 +104 2.79192 11.950 +105 2.80482 11.450 +106 2.81702 11.000 +107 2.82982 10.550 +108 2.84331 10.100 +109 2.85756 9.650 +110 2.87096 9.250 +111 2.88509 8.850 +112 2.90006 8.450 +113 2.91597 8.050 +114 2.93293 7.650 +115 2.94880 7.300 +116 2.96568 6.950 +117 2.98374 6.600 +118 3.00315 6.250 +119 3.02411 5.900 +120 3.04482 5.580 +121 3.06583 5.280 +122 3.08853 4.980 +123 3.11159 4.700 +124 3.13663 4.420 +125 3.16206 4.160 +126 3.18440 3.950 +127 3.20487 3.770 +128 3.22559 3.600 +129 3.24777 3.430 +130 3.27022 3.270 +131 3.29434 3.110 +132 3.32040 2.950 +133 3.34689 2.800 +134 3.37364 2.660 +135 3.40262 2.520 +136 3.43421 2.380 +137 3.46628 2.250 +138 3.50129 2.120 +139 3.53979 1.990 +140 3.57896 1.870 +141 3.62212 1.750 +142 3.66606 1.640 +143 3.71486 1.530 +144 3.76517 1.430 +145 3.78223 1.400 diff --git a/secop_psi/calcurves/X63165.340 b/secop_psi/calcurves/X63165.340 new file mode 100644 index 0000000..7f79d95 --- /dev/null +++ b/secop_psi/calcurves/X63165.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63165 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.87354 325.000 + 2 1.88101 319.000 + 3 1.88801 313.500 + 4 1.89515 308.000 + 5 1.90245 302.500 + 6 1.90990 297.000 + 7 1.91752 291.500 + 8 1.92531 286.000 + 9 1.93328 280.500 + 10 1.94142 275.000 + 11 1.94976 269.500 + 12 1.95829 264.000 + 13 1.96703 258.500 + 14 1.97597 253.000 + 15 1.98513 247.500 + 16 1.99366 242.500 + 17 2.00237 237.500 + 18 2.01128 232.500 + 19 2.02040 227.500 + 20 2.02973 222.500 + 21 2.03929 217.500 + 22 2.04907 212.500 + 23 2.05909 207.500 + 24 2.06936 202.500 + 25 2.07989 197.500 + 26 2.09069 192.500 + 27 2.10177 187.500 + 28 2.11314 182.500 + 29 2.12365 178.000 + 30 2.13441 173.500 + 31 2.14544 169.000 + 32 2.15676 164.500 + 33 2.16838 160.000 + 34 2.18030 155.500 + 35 2.19256 151.000 + 36 2.20516 146.500 + 37 2.21812 142.000 + 38 2.23147 137.500 + 39 2.24368 133.500 + 40 2.25622 129.500 + 41 2.26912 125.500 + 42 2.28240 121.500 + 43 2.29608 117.500 + 44 2.31019 113.500 + 45 2.32476 109.500 + 46 2.33982 105.500 + 47 2.35345 102.000 + 48 2.36346 99.500 + 49 2.37368 97.000 + 50 2.38416 94.500 + 51 2.39489 92.000 + 52 2.40590 89.500 + 53 2.41719 87.000 + 54 2.42879 84.500 + 55 2.44070 82.000 + 56 2.45295 79.500 + 57 2.46557 77.000 + 58 2.47596 75.000 + 59 2.48659 73.000 + 60 2.49751 71.000 + 61 2.50871 69.000 + 62 2.52023 67.000 + 63 2.53208 65.000 + 64 2.54428 63.000 + 65 2.55684 61.000 + 66 2.56980 59.000 + 67 2.58319 57.000 + 68 2.59564 55.200 + 69 2.60846 53.400 + 70 2.62171 51.600 + 71 2.63539 49.800 + 72 2.64956 48.000 + 73 2.66424 46.200 + 74 2.67776 44.600 + 75 2.69174 43.000 + 76 2.70622 41.400 + 77 2.72219 39.700 + 78 2.73782 38.100 + 79 2.75307 36.600 + 80 2.76890 35.100 + 81 2.78539 33.600 + 82 2.80143 32.200 + 83 2.81813 30.800 + 84 2.83557 29.400 + 85 2.85251 28.100 + 86 2.87020 26.800 + 87 2.88875 25.500 + 88 2.90672 24.300 + 89 2.92557 23.100 + 90 2.94543 21.900 + 91 2.96465 20.800 + 92 2.98025 19.950 + 93 2.99263 19.300 + 94 3.00544 18.650 + 95 3.01874 18.000 + 96 3.03255 17.350 + 97 3.04583 16.750 + 98 3.05962 16.150 + 99 3.07400 15.550 +100 3.08774 15.000 +101 3.10205 14.450 +102 3.11702 13.900 +103 3.13125 13.400 +104 3.14610 12.900 +105 3.16167 12.400 +106 3.17802 11.900 +107 3.19348 11.450 +108 3.20970 11.000 +109 3.22678 10.550 +110 3.24481 10.100 +111 3.26390 9.650 +112 3.28189 9.250 +113 3.30090 8.850 +114 3.32111 8.450 +115 3.34264 8.050 +116 3.36274 7.700 +117 3.38409 7.350 +118 3.40692 7.000 +119 3.43139 6.650 +120 3.45776 6.300 +121 3.48717 5.940 +122 3.51372 5.640 +123 3.54238 5.340 +124 3.57351 5.040 +125 3.60517 4.760 +126 3.63715 4.500 +127 3.67199 4.240 +128 3.70423 4.020 +129 3.73263 3.840 +130 3.76137 3.670 +131 3.79223 3.500 +132 3.82353 3.340 +133 3.85723 3.180 +134 3.89142 3.030 +135 3.92833 2.880 +136 3.96849 2.730 +137 4.00933 2.590 +138 4.05380 2.450 +139 4.09900 2.320 +140 4.14832 2.190 +141 4.20260 2.060 +142 4.25795 1.940 +143 4.31906 1.820 +144 4.38150 1.710 +145 4.44472 1.610 +146 4.51544 1.510 +147 4.59456 1.410 +148 4.60362 1.400 diff --git a/secop_psi/calcurves/X63166.340 b/secop_psi/calcurves/X63166.340 new file mode 100644 index 0000000..6fe8434 --- /dev/null +++ b/secop_psi/calcurves/X63166.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63166 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.81987 325.000 + 2 1.82699 319.000 + 3 1.83365 313.500 + 4 1.84045 308.000 + 5 1.84740 302.500 + 6 1.85450 297.000 + 7 1.86175 291.500 + 8 1.86916 286.000 + 9 1.87674 280.500 + 10 1.88448 275.000 + 11 1.89240 269.500 + 12 1.90050 264.000 + 13 1.90880 258.500 + 14 1.91728 253.000 + 15 1.92597 247.500 + 16 1.93486 242.000 + 17 1.94314 237.000 + 18 1.95160 232.000 + 19 1.96025 227.000 + 20 1.96910 222.000 + 21 1.97816 217.000 + 22 1.98743 212.000 + 23 1.99693 207.000 + 24 2.00665 202.000 + 25 2.01662 197.000 + 26 2.02684 192.000 + 27 2.03732 187.000 + 28 2.04808 182.000 + 29 2.05912 177.000 + 30 2.06931 172.500 + 31 2.07976 168.000 + 32 2.09047 163.500 + 33 2.10145 159.000 + 34 2.11273 154.500 + 35 2.12431 150.000 + 36 2.13621 145.500 + 37 2.14845 141.000 + 38 2.16105 136.500 + 39 2.17257 132.500 + 40 2.18440 128.500 + 41 2.19656 124.500 + 42 2.20908 120.500 + 43 2.22197 116.500 + 44 2.23527 112.500 + 45 2.24899 108.500 + 46 2.26317 104.500 + 47 2.27600 101.000 + 48 2.28541 98.500 + 49 2.29503 96.000 + 50 2.30487 93.500 + 51 2.31496 91.000 + 52 2.32530 88.500 + 53 2.33591 86.000 + 54 2.34680 83.500 + 55 2.35799 81.000 + 56 2.36950 78.500 + 57 2.37897 76.500 + 58 2.38865 74.500 + 59 2.39859 72.500 + 60 2.40877 70.500 + 61 2.41923 68.500 + 62 2.42998 66.500 + 63 2.44103 64.500 + 64 2.45241 62.500 + 65 2.46413 60.500 + 66 2.47560 58.600 + 67 2.48680 56.800 + 68 2.49833 55.000 + 69 2.51022 53.200 + 70 2.52249 51.400 + 71 2.53516 49.600 + 72 2.54828 47.800 + 73 2.56185 46.000 + 74 2.57594 44.200 + 75 2.58892 42.600 + 76 2.60235 41.000 + 77 2.61717 39.300 + 78 2.63167 37.700 + 79 2.64580 36.200 + 80 2.66047 34.700 + 81 2.67574 33.200 + 82 2.69060 31.800 + 83 2.70607 30.400 + 84 2.72222 29.000 + 85 2.73789 27.700 + 86 2.75426 26.400 + 87 2.77142 25.100 + 88 2.78804 23.900 + 89 2.80547 22.700 + 90 2.82384 21.500 + 91 2.84161 20.400 + 92 2.85517 19.600 + 93 2.86659 18.950 + 94 2.87842 18.300 + 95 2.89069 17.650 + 96 2.90247 17.050 + 97 2.91468 16.450 + 98 2.92740 15.850 + 99 2.93953 15.300 +100 2.95216 14.750 +101 2.96533 14.200 +102 2.97907 13.650 +103 2.99215 13.150 +104 3.00581 12.650 +105 3.02015 12.150 +106 3.03521 11.650 +107 3.04947 11.200 +108 3.06443 10.750 +109 3.08019 10.300 +110 3.09684 9.850 +111 3.11250 9.450 +112 3.12900 9.050 +113 3.14648 8.650 +114 3.16506 8.250 +115 3.18488 7.850 +116 3.20340 7.500 +117 3.22309 7.150 +118 3.24416 6.800 +119 3.26678 6.450 +120 3.29120 6.100 +121 3.31533 5.780 +122 3.33978 5.480 +123 3.36618 5.180 +124 3.39296 4.900 +125 3.42201 4.620 +126 3.45380 4.340 +127 3.48621 4.080 +128 3.51339 3.880 +129 3.53812 3.710 +130 3.56460 3.540 +131 3.59309 3.370 +132 3.62202 3.210 +133 3.65124 3.060 +134 3.68274 2.910 +135 3.71691 2.760 +136 3.75161 2.620 +137 3.78934 2.480 +138 3.82766 2.350 +139 3.86945 2.220 +140 3.91541 2.090 +141 3.96214 1.970 +142 4.01347 1.850 +143 4.07040 1.730 +144 4.12854 1.620 +145 4.18727 1.520 +146 4.24680 1.430 +147 4.26912 1.400 diff --git a/secop_psi/calcurves/X63592.340 b/secop_psi/calcurves/X63592.340 new file mode 100644 index 0000000..81544fc --- /dev/null +++ b/secop_psi/calcurves/X63592.340 @@ -0,0 +1,189 @@ +Sensor Model: CX-1010-CD-BF0.1 +Serial Number: X63592 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 180 + +No. Units Temperature (K) + +1 1.49533 308 +2 1.50029 302 +3 1.50449 297 +4 1.50919 291.5 +5 1.51397 286 +6 1.51884 280.5 +7 1.5238 275 +8 1.52885 269.5 +9 1.534 264 +10 1.53925 258.5 +11 1.5446 253 +12 1.55005 247.5 +13 1.55562 242 +14 1.5613 236.5 +15 1.56711 231 +16 1.57304 225.5 +17 1.5791 220 +18 1.58473 215 +19 1.59047 210 +20 1.59634 205 +21 1.60234 200 +22 1.60847 195 +23 1.61475 190 +24 1.62117 185 +25 1.62775 180 +26 1.63448 175 +27 1.64139 170 +28 1.64848 165 +29 1.65575 160 +30 1.66323 155 +31 1.67092 150 +32 1.67803 145.5 +33 1.68533 141 +34 1.69284 136.5 +35 1.70056 132 +36 1.7085 127.5 +37 1.71669 123 +38 1.72514 118.5 +39 1.73387 114 +40 1.74187 110 +41 1.75013 106 +42 1.75865 102 +43 1.76523 99 +44 1.77084 96.5 +45 1.77657 94 +46 1.78244 91.5 +47 1.78844 89 +48 1.79458 86.5 +49 1.80087 84 +50 1.80732 81.5 +51 1.81394 79 +52 1.82074 76.5 +53 1.82773 74 +54 1.83491 71.5 +55 1.84231 69 +56 1.8484 67 +57 1.85463 65 +58 1.86103 63 +59 1.86761 61 +60 1.87436 59 +61 1.88131 57 +62 1.88847 55 +63 1.89585 53 +64 1.90347 51 +65 1.91135 49 +66 1.91867 47.2 +67 1.92624 45.4 +68 1.93406 43.6 +69 1.94217 41.8 +70 1.95106 39.9 +71 1.95932 38.2 +72 1.96791 36.5 +73 1.97631 34.9 +74 1.98506 33.3 +75 1.99419 31.7 +76 2.00312 30.2 +77 2.01245 28.7 +78 2.02223 27.2 +79 2.0318 25.8 +80 2.04112 24.5 +81 2.05091 23.2 +82 2.06121 21.9 +83 2.07124 20.7 +84 2.07913 19.8 +85 2.0855 19.1 +86 2.0921 18.4 +87 2.09895 17.7 +88 2.10554 17.05 +89 2.11239 16.4 +90 2.11951 15.75 +91 2.12634 15.15 +92 2.13345 14.55 +93 2.14086 13.95 +94 2.14795 13.4 +95 2.15534 12.85 +96 2.16306 12.3 +97 2.1704 11.8 +98 2.17808 11.3 +99 2.18613 10.8 +100 2.19459 10.3 +101 2.2026 9.85 +102 2.21102 9.4 +103 2.21989 8.95 +104 2.22821 8.55 +105 2.23699 8.15 +106 2.24627 7.75 +107 2.25612 7.35 +108 2.26662 6.95 +109 2.27641 6.6 +110 2.28684 6.25 +111 2.29867 5.88 +112 2.31037 5.54 +113 2.32222 5.22 +114 2.33419 4.92 +115 2.34711 4.62 +116 2.36116 4.32 +117 2.37546 4.04 +118 2.38706 3.83 +119 2.39769 3.65 +120 2.40904 3.47 +121 2.42121 3.29 +122 2.43356 3.12 +123 2.44685 2.95 +124 2.46035 2.79 +125 2.47496 2.63 +126 2.48982 2.48 +127 2.50599 2.33 +128 2.52245 2.19 +129 2.54047 2.05 +130 2.55885 1.92 +131 2.57908 1.79 +132 2.59973 1.67 +133 2.62063 1.56 +134 2.64378 1.45 +135 2.66964 1.34 +136 2.696 1.24 +137 2.71336 1.18 +138 2.72725 1.135 +139 2.74198 1.09 +140 2.75764 1.045 +141 2.77433 1 +142 2.79012 0.96 +143 2.80693 0.92 +144 2.82485 0.88 +145 2.84402 0.84 +146 2.86461 0.8 +147 2.88392 0.765 +148 2.90459 0.73 +149 2.9268 0.695 +150 2.95074 0.66 +151 2.97666 0.625 +152 3.00067 0.595 +153 3.02657 0.565 +154 3.0546 0.535 +155 3.0851 0.505 +156 3.11038 0.482 +157 3.13388 0.462 +158 3.15896 0.442 +159 3.1858 0.422 +160 3.21164 0.404 +161 3.24891 0.38 +162 3.28277 0.36 +163 3.31957 0.34 +164 3.35977 0.32 +165 3.40392 0.3 +166 3.45271 0.28 +167 3.50701 0.26 +168 3.56795 0.24 +169 3.63699 0.22 +170 3.71609 0.2 +171 3.76946 0.188 +172 3.82817 0.176 +173 3.89316 0.164 +174 3.96563 0.152 +175 4.04715 0.14 +176 4.19995 0.121 +177 4.26553 0.114 +178 4.32668 0.108 +179 4.4047 0.101 +180 4.4165 0.1 diff --git a/secop_psi/calcurves/X63710.340 b/secop_psi/calcurves/X63710.340 new file mode 100644 index 0000000..150329d --- /dev/null +++ b/secop_psi/calcurves/X63710.340 @@ -0,0 +1,181 @@ +Sensor Model: CX-1010-SD-0.3L +Serial Number: X63710 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 172 + +No. Units Temperature (K) + + 1 1.48304 325.000 + 2 1.48744 319.000 + 3 1.49156 313.500 + 4 1.49576 308.000 + 5 1.50006 302.500 + 6 1.50445 297.000 + 7 1.50893 291.500 + 8 1.51351 286.000 + 9 1.51819 280.500 + 10 1.52297 275.000 + 11 1.52787 269.500 + 12 1.53287 264.000 + 13 1.53799 258.500 + 14 1.54323 253.000 + 15 1.54858 247.500 + 16 1.55407 242.000 + 17 1.55968 236.500 + 18 1.56543 231.000 + 19 1.57132 225.500 + 20 1.57680 220.500 + 21 1.58239 215.500 + 22 1.58812 210.500 + 23 1.59397 205.500 + 24 1.59996 200.500 + 25 1.60609 195.500 + 26 1.61237 190.500 + 27 1.61880 185.500 + 28 1.62538 180.500 + 29 1.63212 175.500 + 30 1.63904 170.500 + 31 1.64613 165.500 + 32 1.65341 160.500 + 33 1.66088 155.500 + 34 1.66778 151.000 + 35 1.67485 146.500 + 36 1.68211 142.000 + 37 1.68956 137.500 + 38 1.69720 133.000 + 39 1.70506 128.500 + 40 1.71315 124.000 + 41 1.72148 119.500 + 42 1.72910 115.500 + 43 1.73694 111.500 + 44 1.74500 107.500 + 45 1.75332 103.500 + 46 1.75974 100.500 + 47 1.76520 98.000 + 48 1.77078 95.500 + 49 1.77649 93.000 + 50 1.78233 90.500 + 51 1.78830 88.000 + 52 1.79441 85.500 + 53 1.80068 83.000 + 54 1.80710 80.500 + 55 1.81370 78.000 + 56 1.82049 75.500 + 57 1.82747 73.000 + 58 1.83321 71.000 + 59 1.83908 69.000 + 60 1.84511 67.000 + 61 1.85130 65.000 + 62 1.85765 63.000 + 63 1.86419 61.000 + 64 1.87091 59.000 + 65 1.87784 57.000 + 66 1.88498 55.000 + 67 1.89236 53.000 + 68 1.89921 51.200 + 69 1.90627 49.400 + 70 1.91357 47.600 + 71 1.92110 45.800 + 72 1.92889 44.000 + 73 1.93696 42.200 + 74 1.94533 40.400 + 75 1.95352 38.700 + 76 1.96152 37.100 + 77 1.96981 35.500 + 78 1.97842 33.900 + 79 1.98680 32.400 + 80 1.99551 30.900 + 81 2.00458 29.400 + 82 2.01341 28.000 + 83 2.02260 26.600 + 84 2.03153 25.300 + 85 2.04084 24.000 + 86 2.05062 22.700 + 87 2.06009 21.500 + 88 2.07005 20.300 + 89 2.07747 19.450 + 90 2.08378 18.750 + 91 2.09032 18.050 + 92 2.09662 17.400 + 93 2.10314 16.750 + 94 2.10992 16.100 + 95 2.11644 15.500 + 96 2.12320 14.900 + 97 2.13026 14.300 + 98 2.13700 13.750 + 99 2.14404 13.200 +100 2.15139 12.650 +101 2.15839 12.150 +102 2.16571 11.650 +103 2.17338 11.150 +104 2.18145 10.650 +105 2.18910 10.200 +106 2.19714 9.750 +107 2.20562 9.300 +108 2.21459 8.850 +109 2.22305 8.450 +110 2.23198 8.050 +111 2.24147 7.650 +112 2.25158 7.250 +113 2.26102 6.900 +114 2.27104 6.550 +115 2.28175 6.200 +116 2.29291 5.860 +117 2.30418 5.540 +118 2.31629 5.220 +119 2.32855 4.920 +120 2.34178 4.620 +121 2.35519 4.340 +122 2.36974 4.060 +123 2.38162 3.850 +124 2.39244 3.670 +125 2.40399 3.490 +126 2.41635 3.310 +127 2.42887 3.140 +128 2.44150 2.980 +129 2.45509 2.820 +130 2.46972 2.660 +131 2.48456 2.510 +132 2.50061 2.360 +133 2.51691 2.220 +134 2.53464 2.080 +135 2.55267 1.950 +136 2.57237 1.820 +137 2.59243 1.700 +138 2.61450 1.580 +139 2.63697 1.470 +140 2.66186 1.360 +141 2.68978 1.250 +142 2.70965 1.180 +143 2.72319 1.135 +144 2.73749 1.090 +145 2.75265 1.045 +146 2.76693 1.005 +147 2.78200 0.965 +148 2.79797 0.925 +149 2.81493 0.885 +150 2.83299 0.845 +151 2.85228 0.805 +152 2.87033 0.770 +153 2.88951 0.735 +154 2.91006 0.700 +155 2.93212 0.665 +156 2.95248 0.635 +157 2.97425 0.605 +158 2.99772 0.575 +159 3.02314 0.545 +160 3.05084 0.515 +161 3.07393 0.492 +162 3.09532 0.472 +163 3.11815 0.452 +164 3.14252 0.432 +165 3.16854 0.412 +166 3.19352 0.394 +167 3.22003 0.376 +168 3.24829 0.358 +169 3.27515 0.342 +170 3.30393 0.326 +171 3.33131 0.312 +172 3.35705 0.300 diff --git a/secop_psi/calcurves/X63854.340 b/secop_psi/calcurves/X63854.340 new file mode 100644 index 0000000..81f818f --- /dev/null +++ b/secop_psi/calcurves/X63854.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63854 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.78512 325.000 + 2 1.79196 319.000 + 3 1.79836 313.500 + 4 1.80490 308.000 + 5 1.81157 302.500 + 6 1.81839 297.000 + 7 1.82536 291.500 + 8 1.83249 286.000 + 9 1.83977 280.500 + 10 1.84721 275.000 + 11 1.85483 269.500 + 12 1.86261 264.000 + 13 1.87058 258.500 + 14 1.87874 253.000 + 15 1.88709 247.500 + 16 1.89564 242.000 + 17 1.90360 237.000 + 18 1.91173 232.000 + 19 1.92005 227.000 + 20 1.92856 222.000 + 21 1.93726 217.000 + 22 1.94618 212.000 + 23 1.95530 207.000 + 24 1.96465 202.000 + 25 1.97423 197.000 + 26 1.98405 192.000 + 27 1.99412 187.000 + 28 2.00445 182.000 + 29 2.01506 177.000 + 30 2.02485 172.500 + 31 2.03488 168.000 + 32 2.04516 163.500 + 33 2.05571 159.000 + 34 2.06653 154.500 + 35 2.07764 150.000 + 36 2.08906 145.500 + 37 2.10080 141.000 + 38 2.11288 136.500 + 39 2.12532 132.000 + 40 2.13671 128.000 + 41 2.14841 124.000 + 42 2.16045 120.000 + 43 2.17285 116.000 + 44 2.18564 112.000 + 45 2.19884 108.000 + 46 2.21248 104.000 + 47 2.22482 100.500 + 48 2.23388 98.000 + 49 2.24312 95.500 + 50 2.25260 93.000 + 51 2.26230 90.500 + 52 2.27224 88.000 + 53 2.28245 85.500 + 54 2.29292 83.000 + 55 2.30368 80.500 + 56 2.31475 78.000 + 57 2.32384 76.000 + 58 2.33315 74.000 + 59 2.34270 72.000 + 60 2.35249 70.000 + 61 2.36255 68.000 + 62 2.37288 66.000 + 63 2.38352 64.000 + 64 2.39446 62.000 + 65 2.40574 60.000 + 66 2.41619 58.200 + 67 2.42695 56.400 + 68 2.43803 54.600 + 69 2.44945 52.800 + 70 2.46124 51.000 + 71 2.47342 49.200 + 72 2.48602 47.400 + 73 2.49907 45.600 + 74 2.51260 43.800 + 75 2.52508 42.200 + 76 2.53798 40.600 + 77 2.55137 39.000 + 78 2.56527 37.400 + 79 2.57882 35.900 + 80 2.59289 34.400 + 81 2.60754 32.900 + 82 2.62179 31.500 + 83 2.63662 30.100 + 84 2.65211 28.700 + 85 2.66714 27.400 + 86 2.68284 26.100 + 87 2.69929 24.800 + 88 2.71523 23.600 + 89 2.73194 22.400 + 90 2.74956 21.200 + 91 2.76662 20.100 + 92 2.77152 19.800 + 93 2.77966 19.300 + 94 2.79064 18.650 + 95 2.80201 18.000 + 96 2.81383 17.350 + 97 2.82517 16.750 + 98 2.83694 16.150 + 99 2.84920 15.550 +100 2.86198 14.950 +101 2.87421 14.400 +102 2.88696 13.850 +103 2.90031 13.300 +104 2.91303 12.800 +105 2.92633 12.300 +106 2.94030 11.800 +107 2.95499 11.300 +108 2.96892 10.850 +109 2.98355 10.400 +110 2.99900 9.950 +111 3.01535 9.500 +112 3.03075 9.100 +113 3.04702 8.700 +114 3.06430 8.300 +115 3.08271 7.900 +116 3.09989 7.550 +117 3.11814 7.200 +118 3.13765 6.850 +119 3.15856 6.500 +120 3.18110 6.150 +121 3.20406 5.820 +122 3.22815 5.500 +123 3.25264 5.200 +124 3.27738 4.920 +125 3.30422 4.640 +126 3.33352 4.360 +127 3.36335 4.100 +128 3.38834 3.900 +129 3.41103 3.730 +130 3.43531 3.560 +131 3.46139 3.390 +132 3.48784 3.230 +133 3.51632 3.070 +134 3.54523 2.920 +135 3.57648 2.770 +136 3.60820 2.630 +137 3.64263 2.490 +138 3.68031 2.350 +139 3.71869 2.220 +140 3.76073 2.090 +141 3.80713 1.960 +142 3.85450 1.840 +143 3.90684 1.720 +144 3.96031 1.610 +145 4.01428 1.510 +146 4.06907 1.420 +147 4.08285 1.400 diff --git a/secop_psi/calcurves/X63855.340 b/secop_psi/calcurves/X63855.340 new file mode 100644 index 0000000..b1841d6 --- /dev/null +++ b/secop_psi/calcurves/X63855.340 @@ -0,0 +1,154 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63855 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.77434 325.000 + 2 1.78113 319.000 + 3 1.78748 313.500 + 4 1.79396 308.000 + 5 1.80058 302.500 + 6 1.80735 297.000 + 7 1.81425 291.500 + 8 1.82131 286.000 + 9 1.82853 280.500 + 10 1.83591 275.000 + 11 1.84346 269.500 + 12 1.85117 264.000 + 13 1.85907 258.500 + 14 1.86715 253.000 + 15 1.87543 247.500 + 16 1.88390 242.000 + 17 1.89178 237.000 + 18 1.89984 232.000 + 19 1.90808 227.000 + 20 1.91651 222.000 + 21 1.92514 217.000 + 22 1.93396 212.000 + 23 1.94300 207.000 + 24 1.95226 202.000 + 25 1.96175 197.000 + 26 1.97147 192.000 + 27 1.98145 187.000 + 28 1.99168 182.000 + 29 2.00218 177.000 + 30 2.01188 172.500 + 31 2.02181 168.000 + 32 2.03199 163.500 + 33 2.04243 159.000 + 34 2.05314 154.500 + 35 2.06415 150.000 + 36 2.07545 145.500 + 37 2.08708 141.000 + 38 2.09904 136.500 + 39 2.11135 132.000 + 40 2.12263 128.000 + 41 2.13421 124.000 + 42 2.14612 120.000 + 43 2.15840 116.000 + 44 2.17105 112.000 + 45 2.18411 108.000 + 46 2.19761 104.000 + 47 2.20981 100.500 + 48 2.21877 98.000 + 49 2.22792 95.500 + 50 2.23729 93.000 + 51 2.24689 90.500 + 52 2.25673 88.000 + 53 2.26682 85.500 + 54 2.27719 83.000 + 55 2.28784 80.500 + 56 2.29880 78.000 + 57 2.31007 75.500 + 58 2.31936 73.500 + 59 2.32886 71.500 + 60 2.33861 69.500 + 61 2.34863 67.500 + 62 2.35892 65.500 + 63 2.36952 63.500 + 64 2.38042 61.500 + 65 2.39223 59.400 + 66 2.40384 57.400 + 67 2.41584 55.400 + 68 2.42699 53.600 + 69 2.43848 51.800 + 70 2.45035 50.000 + 71 2.46262 48.200 + 72 2.47533 46.400 + 73 2.48849 44.600 + 74 2.50062 43.000 + 75 2.51316 41.400 + 76 2.52699 39.700 + 77 2.54051 38.100 + 78 2.55456 36.500 + 79 2.56827 35.000 + 80 2.58251 33.500 + 81 2.59736 32.000 + 82 2.61181 30.600 + 83 2.62687 29.200 + 84 2.64261 27.800 + 85 2.65792 26.500 + 86 2.67393 25.200 + 87 2.68943 24.000 + 88 2.70567 22.800 + 89 2.72276 21.600 + 90 2.73929 20.500 + 91 2.75191 19.700 + 92 2.76252 19.050 + 93 2.77351 18.400 + 94 2.78490 17.750 + 95 2.79675 17.100 + 96 2.80812 16.500 + 97 2.81993 15.900 + 98 2.83223 15.300 + 99 2.84399 14.750 +100 2.85622 14.200 +101 2.86901 13.650 +102 2.88118 13.150 +103 2.89388 12.650 +104 2.90720 12.150 +105 2.92118 11.650 +106 2.93591 11.150 +107 2.94988 10.700 +108 2.96457 10.250 +109 2.98009 9.800 +110 2.99468 9.400 +111 3.01005 9.000 +112 3.02634 8.600 +113 3.04364 8.200 +114 3.06208 7.800 +115 3.07932 7.450 +116 3.09764 7.100 +117 3.11724 6.750 +118 3.13828 6.400 +119 3.16097 6.050 +120 3.18269 5.740 +121 3.20532 5.440 +122 3.22978 5.140 +123 3.25458 4.860 +124 3.28147 4.580 +125 3.31087 4.300 +126 3.34084 4.040 +127 3.36597 3.840 +128 3.38884 3.670 +129 3.41331 3.500 +130 3.43965 3.330 +131 3.46638 3.170 +132 3.49338 3.020 +133 3.52249 2.870 +134 3.55408 2.720 +135 3.58616 2.580 +136 3.62104 2.440 +137 3.65647 2.310 +138 3.69512 2.180 +139 3.73762 2.050 +140 3.78085 1.930 +141 3.82838 1.810 +142 3.88116 1.690 +143 3.93517 1.580 +144 3.98999 1.480 +145 4.03957 1.400 diff --git a/secop_psi/calcurves/X63879.340 b/secop_psi/calcurves/X63879.340 new file mode 100644 index 0000000..a5adde7 --- /dev/null +++ b/secop_psi/calcurves/X63879.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63879 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.85551 325.000 + 2 1.86296 319.000 + 3 1.86994 313.500 + 4 1.87706 308.000 + 5 1.88434 302.500 + 6 1.89177 297.000 + 7 1.89937 291.500 + 8 1.90713 286.000 + 9 1.91507 280.500 + 10 1.92318 275.000 + 11 1.93148 269.500 + 12 1.93997 264.000 + 13 1.94865 258.500 + 14 1.95754 253.000 + 15 1.96664 247.500 + 16 1.97511 242.500 + 17 1.98376 237.500 + 18 1.99261 232.500 + 19 2.00167 227.500 + 20 2.01093 222.500 + 21 2.02041 217.500 + 22 2.03012 212.500 + 23 2.04006 207.500 + 24 2.05025 202.500 + 25 2.06069 197.500 + 26 2.07140 192.500 + 27 2.08238 187.500 + 28 2.09365 182.500 + 29 2.10523 177.500 + 30 2.11592 173.000 + 31 2.12687 168.500 + 32 2.13811 164.000 + 33 2.14963 159.500 + 34 2.16146 155.000 + 35 2.17361 150.500 + 36 2.18610 146.000 + 37 2.19895 141.500 + 38 2.21217 137.000 + 39 2.22427 133.000 + 40 2.23670 129.000 + 41 2.24948 125.000 + 42 2.26264 121.000 + 43 2.27620 117.000 + 44 2.29019 113.000 + 45 2.30463 109.000 + 46 2.31956 105.000 + 47 2.33306 101.500 + 48 2.34298 99.000 + 49 2.35310 96.500 + 50 2.36347 94.000 + 51 2.37409 91.500 + 52 2.38498 89.000 + 53 2.39616 86.500 + 54 2.40763 84.000 + 55 2.41943 81.500 + 56 2.43156 79.000 + 57 2.44405 76.500 + 58 2.45433 74.500 + 59 2.46486 72.500 + 60 2.47567 70.500 + 61 2.48677 68.500 + 62 2.49818 66.500 + 63 2.50991 64.500 + 64 2.52200 62.500 + 65 2.53445 60.500 + 66 2.54665 58.600 + 67 2.55856 56.800 + 68 2.57082 55.000 + 69 2.58347 53.200 + 70 2.59653 51.400 + 71 2.61003 49.600 + 72 2.62400 47.800 + 73 2.63847 46.000 + 74 2.65180 44.400 + 75 2.66557 42.800 + 76 2.67985 41.200 + 77 2.69559 39.500 + 78 2.71100 37.900 + 79 2.72602 36.400 + 80 2.74162 34.900 + 81 2.75787 33.400 + 82 2.77368 32.000 + 83 2.79015 30.600 + 84 2.80735 29.200 + 85 2.82405 27.900 + 86 2.84150 26.600 + 87 2.85980 25.300 + 88 2.87753 24.100 + 89 2.89613 22.900 + 90 2.91572 21.700 + 91 2.93469 20.600 + 92 2.95009 19.750 + 93 2.96231 19.100 + 94 2.97496 18.450 + 95 2.98810 17.800 + 96 3.00070 17.200 + 97 3.01377 16.600 + 98 3.02737 16.000 + 99 3.04156 15.400 +100 3.05513 14.850 +101 3.06928 14.300 +102 3.08406 13.750 +103 3.09812 13.250 +104 3.11281 12.750 +105 3.12821 12.250 +106 3.14439 11.750 +107 3.15971 11.300 +108 3.17578 10.850 +109 3.19272 10.400 +110 3.21061 9.950 +111 3.22743 9.550 +112 3.24517 9.150 +113 3.26396 8.750 +114 3.28392 8.350 +115 3.30521 7.950 +116 3.32510 7.600 +117 3.34625 7.250 +118 3.36888 6.900 +119 3.39315 6.550 +120 3.41934 6.200 +121 3.44688 5.860 +122 3.47319 5.560 +123 3.50159 5.260 +124 3.53037 4.980 +125 3.56158 4.700 +126 3.59570 4.420 +127 3.63047 4.160 +128 3.66113 3.950 +129 3.68774 3.780 +130 3.71623 3.610 +131 3.74688 3.440 +132 3.77799 3.280 +133 3.80938 3.130 +134 3.84321 2.980 +135 3.87987 2.830 +136 3.91703 2.690 +137 3.95735 2.550 +138 4.00140 2.410 +139 4.04620 2.280 +140 4.09519 2.150 +141 4.14493 2.030 +142 4.19952 1.910 +143 4.26008 1.790 +144 4.32196 1.680 +145 4.38475 1.580 +146 4.45485 1.480 +147 4.51730 1.400 diff --git a/secop_psi/calcurves/X63880.340 b/secop_psi/calcurves/X63880.340 new file mode 100644 index 0000000..b063e76 --- /dev/null +++ b/secop_psi/calcurves/X63880.340 @@ -0,0 +1,154 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63880 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.72607 325.000 + 2 1.73235 319.000 + 3 1.73824 313.500 + 4 1.74426 308.000 + 5 1.75041 302.500 + 6 1.75669 297.000 + 7 1.76311 291.500 + 8 1.76968 286.000 + 9 1.77639 280.500 + 10 1.78325 275.000 + 11 1.79026 269.500 + 12 1.79744 264.000 + 13 1.80478 258.500 + 14 1.81229 253.000 + 15 1.81998 247.500 + 16 1.82785 242.000 + 17 1.83591 236.500 + 18 1.84341 231.500 + 19 1.85108 226.500 + 20 1.85893 221.500 + 21 1.86695 216.500 + 22 1.87516 211.500 + 23 1.88357 206.500 + 24 1.89218 201.500 + 25 1.90101 196.500 + 26 1.91005 191.500 + 27 1.91932 186.500 + 28 1.92883 181.500 + 29 1.93858 176.500 + 30 1.94860 171.500 + 31 1.95785 167.000 + 32 1.96733 162.500 + 33 1.97704 158.000 + 34 1.98701 153.500 + 35 1.99724 149.000 + 36 2.00775 144.500 + 37 2.01855 140.000 + 38 2.02967 135.500 + 39 2.04111 131.000 + 40 2.05158 127.000 + 41 2.06233 123.000 + 42 2.07340 119.000 + 43 2.08479 115.000 + 44 2.09654 111.000 + 45 2.10865 107.000 + 46 2.12117 103.000 + 47 2.13087 100.000 + 48 2.13912 97.500 + 49 2.14756 95.000 + 50 2.15620 92.500 + 51 2.16505 90.000 + 52 2.17412 87.500 + 53 2.18341 85.000 + 54 2.19296 82.500 + 55 2.20277 80.000 + 56 2.21286 77.500 + 57 2.22324 75.000 + 58 2.23178 73.000 + 59 2.24052 71.000 + 60 2.24950 69.000 + 61 2.25871 67.000 + 62 2.26818 65.000 + 63 2.27792 63.000 + 64 2.28795 61.000 + 65 2.29827 59.000 + 66 2.30893 57.000 + 67 2.31993 55.000 + 68 2.33015 53.200 + 69 2.34069 51.400 + 70 2.35157 49.600 + 71 2.36281 47.800 + 72 2.37444 46.000 + 73 2.38650 44.200 + 74 2.39760 42.600 + 75 2.40907 41.000 + 76 2.42171 39.300 + 77 2.43407 37.700 + 78 2.44691 36.100 + 79 2.45943 34.600 + 80 2.47243 33.100 + 81 2.48597 31.600 + 82 2.49916 30.200 + 83 2.51289 28.800 + 84 2.52724 27.400 + 85 2.54119 26.100 + 86 2.55578 24.800 + 87 2.56991 23.600 + 88 2.58470 22.400 + 89 2.60028 21.200 + 90 2.61534 20.100 + 91 2.61965 19.800 + 92 2.62683 19.300 + 93 2.63650 18.650 + 94 2.64652 18.000 + 95 2.65690 17.350 + 96 2.66770 16.700 + 97 2.67808 16.100 + 98 2.68886 15.500 + 99 2.70010 14.900 +100 2.71085 14.350 +101 2.72206 13.800 +102 2.73379 13.250 +103 2.74495 12.750 +104 2.75662 12.250 +105 2.76885 11.750 +106 2.78172 11.250 +107 2.79391 10.800 +108 2.80671 10.350 +109 2.82021 9.900 +110 2.83449 9.450 +111 2.84794 9.050 +112 2.86212 8.650 +113 2.87719 8.250 +114 2.89321 7.850 +115 2.90816 7.500 +116 2.92403 7.150 +117 2.94097 6.800 +118 2.95912 6.450 +119 2.97866 6.100 +120 2.99793 5.780 +121 3.01871 5.460 +122 3.03981 5.160 +123 3.06112 4.880 +124 3.08419 4.600 +125 3.10935 4.320 +126 3.13494 4.060 +127 3.15634 3.860 +128 3.17694 3.680 +129 3.19781 3.510 +130 3.22020 3.340 +131 3.24289 3.180 +132 3.26732 3.020 +133 3.29210 2.870 +134 3.31887 2.720 +135 3.34603 2.580 +136 3.37549 2.440 +137 3.40771 2.300 +138 3.44051 2.170 +139 3.47640 2.040 +140 3.51600 1.910 +141 3.55645 1.790 +142 3.59736 1.680 +143 3.64264 1.570 +144 3.68875 1.470 +145 3.72497 1.400 diff --git a/secop_psi/calcurves/X63881.340 b/secop_psi/calcurves/X63881.340 new file mode 100644 index 0000000..700a650 --- /dev/null +++ b/secop_psi/calcurves/X63881.340 @@ -0,0 +1,154 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63881 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.75730 325.000 + 2 1.76379 319.000 + 3 1.76987 313.500 + 4 1.77607 308.000 + 5 1.78241 302.500 + 6 1.78889 297.000 + 7 1.79550 291.500 + 8 1.80226 286.000 + 9 1.80918 280.500 + 10 1.81625 275.000 + 11 1.82348 269.500 + 12 1.83087 264.000 + 13 1.83844 258.500 + 14 1.84619 253.000 + 15 1.85412 247.500 + 16 1.86224 242.000 + 17 1.86980 237.000 + 18 1.87753 232.000 + 19 1.88543 227.000 + 20 1.89351 222.000 + 21 1.90178 217.000 + 22 1.91024 212.000 + 23 1.91891 207.000 + 24 1.92778 202.000 + 25 1.93687 197.000 + 26 1.94619 192.000 + 27 1.95575 187.000 + 28 1.96555 182.000 + 29 1.97561 177.000 + 30 1.98490 172.500 + 31 1.99441 168.000 + 32 2.00416 163.500 + 33 2.01416 159.000 + 34 2.02442 154.500 + 35 2.03496 150.000 + 36 2.04578 145.500 + 37 2.05691 141.000 + 38 2.06835 136.500 + 39 2.08014 132.000 + 40 2.09093 128.000 + 41 2.10201 124.000 + 42 2.11341 120.000 + 43 2.12514 116.000 + 44 2.13724 112.000 + 45 2.14973 108.000 + 46 2.16263 104.000 + 47 2.17429 100.500 + 48 2.18285 98.000 + 49 2.19158 95.500 + 50 2.20053 93.000 + 51 2.20969 90.500 + 52 2.21908 88.000 + 53 2.22871 85.500 + 54 2.23860 83.000 + 55 2.24876 80.500 + 56 2.25920 78.000 + 57 2.26994 75.500 + 58 2.27879 73.500 + 59 2.28785 71.500 + 60 2.29715 69.500 + 61 2.30669 67.500 + 62 2.31650 65.500 + 63 2.32659 63.500 + 64 2.33698 61.500 + 65 2.34823 59.400 + 66 2.35929 57.400 + 67 2.37071 55.400 + 68 2.38133 53.600 + 69 2.39227 51.800 + 70 2.40356 50.000 + 71 2.41524 48.200 + 72 2.42732 46.400 + 73 2.43985 44.600 + 74 2.45138 43.000 + 75 2.46330 41.400 + 76 2.47644 39.700 + 77 2.48928 38.100 + 78 2.50263 36.500 + 79 2.51564 35.000 + 80 2.52915 33.500 + 81 2.54324 32.000 + 82 2.55694 30.600 + 83 2.57121 29.200 + 84 2.58613 27.800 + 85 2.60063 26.500 + 86 2.61578 25.200 + 87 2.63168 23.900 + 88 2.64712 22.700 + 89 2.66334 21.500 + 90 2.67903 20.400 + 91 2.69100 19.600 + 92 2.70107 18.950 + 93 2.71149 18.300 + 94 2.72230 17.650 + 95 2.73353 17.000 + 96 2.74432 16.400 + 97 2.75552 15.800 + 98 2.76719 15.200 + 99 2.77834 14.650 +100 2.78995 14.100 +101 2.80209 13.550 +102 2.81363 13.050 +103 2.82568 12.550 +104 2.83832 12.050 +105 2.85158 11.550 +106 2.86555 11.050 +107 2.87880 10.600 +108 2.89274 10.150 +109 2.90747 9.700 +110 2.92131 9.300 +111 2.93591 8.900 +112 2.95137 8.500 +113 2.96780 8.100 +114 2.98532 7.700 +115 3.00171 7.350 +116 3.01913 7.000 +117 3.03777 6.650 +118 3.05779 6.300 +119 3.08006 5.940 +120 3.10148 5.620 +121 3.12319 5.320 +122 3.14666 5.020 +123 3.17049 4.740 +124 3.19636 4.460 +125 3.22263 4.200 +126 3.24568 3.990 +127 3.26682 3.810 +128 3.28820 3.640 +129 3.31107 3.470 +130 3.33569 3.300 +131 3.36068 3.140 +132 3.38591 2.990 +133 3.41313 2.840 +134 3.44265 2.690 +135 3.47265 2.550 +136 3.50527 2.410 +137 3.53840 2.280 +138 3.57455 2.150 +139 3.61431 2.020 +140 3.65474 1.900 +141 3.69922 1.780 +142 3.74444 1.670 +143 3.79449 1.560 +144 3.84566 1.460 +145 3.88021 1.400 diff --git a/secop_psi/calcurves/X63886.340 b/secop_psi/calcurves/X63886.340 new file mode 100644 index 0000000..d2f5dce --- /dev/null +++ b/secop_psi/calcurves/X63886.340 @@ -0,0 +1,154 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X63886 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.76291 325.000 + 2 1.76953 319.000 + 3 1.77571 313.500 + 4 1.78203 308.000 + 5 1.78849 302.500 + 6 1.79509 297.000 + 7 1.80182 291.500 + 8 1.80871 286.000 + 9 1.81575 280.500 + 10 1.82295 275.000 + 11 1.83032 269.500 + 12 1.83785 264.000 + 13 1.84556 258.500 + 14 1.85345 253.000 + 15 1.86153 247.500 + 16 1.86980 242.000 + 17 1.87750 237.000 + 18 1.88537 232.000 + 19 1.89341 227.000 + 20 1.90164 222.000 + 21 1.91007 217.000 + 22 1.91869 212.000 + 23 1.92751 207.000 + 24 1.93655 202.000 + 25 1.94582 197.000 + 26 1.95531 192.000 + 27 1.96505 187.000 + 28 1.97504 182.000 + 29 1.98529 177.000 + 30 1.99476 172.500 + 31 2.00445 168.000 + 32 2.01439 163.500 + 33 2.02459 159.000 + 34 2.03505 154.500 + 35 2.04579 150.000 + 36 2.05683 145.500 + 37 2.06817 141.000 + 38 2.07984 136.500 + 39 2.09187 132.000 + 40 2.10287 128.000 + 41 2.11416 124.000 + 42 2.12579 120.000 + 43 2.13777 116.000 + 44 2.15011 112.000 + 45 2.16284 108.000 + 46 2.17600 104.000 + 47 2.18790 100.500 + 48 2.19663 98.000 + 49 2.20555 95.500 + 50 2.21468 93.000 + 51 2.22403 90.500 + 52 2.23361 88.000 + 53 2.24344 85.500 + 54 2.25354 83.000 + 55 2.26391 80.500 + 56 2.27458 78.000 + 57 2.28556 75.500 + 58 2.29460 73.500 + 59 2.30385 71.500 + 60 2.31335 69.500 + 61 2.32310 67.500 + 62 2.33312 65.500 + 63 2.34343 63.500 + 64 2.35404 61.500 + 65 2.36553 59.400 + 66 2.37682 57.400 + 67 2.38849 55.400 + 68 2.39934 53.600 + 69 2.41051 51.800 + 70 2.42206 50.000 + 71 2.43399 48.200 + 72 2.44633 46.400 + 73 2.45913 44.600 + 74 2.47092 43.000 + 75 2.48310 41.400 + 76 2.49653 39.700 + 77 2.50966 38.100 + 78 2.52330 36.500 + 79 2.53661 35.000 + 80 2.55043 33.500 + 81 2.56483 32.000 + 82 2.57885 30.600 + 83 2.59345 29.200 + 84 2.60872 27.800 + 85 2.62356 26.500 + 86 2.63908 25.200 + 87 2.65537 23.900 + 88 2.67119 22.700 + 89 2.68781 21.500 + 90 2.70389 20.400 + 91 2.71615 19.600 + 92 2.72646 18.950 + 93 2.73714 18.300 + 94 2.74821 17.650 + 95 2.75972 17.000 + 96 2.77077 16.400 + 97 2.78226 15.800 + 98 2.79423 15.200 + 99 2.80569 14.650 +100 2.81762 14.100 +101 2.83006 13.550 +102 2.84190 13.050 +103 2.85428 12.550 +104 2.86725 12.050 +105 2.88088 11.550 +106 2.89377 11.100 +107 2.90729 10.650 +108 2.92154 10.200 +109 2.93658 9.750 +110 2.95073 9.350 +111 2.96563 8.950 +112 2.98143 8.550 +113 2.99821 8.150 +114 3.01609 7.750 +115 3.03281 7.400 +116 3.05059 7.050 +117 3.06961 6.700 +118 3.09003 6.350 +119 3.11338 5.980 +120 3.13528 5.660 +121 3.15745 5.360 +122 3.18142 5.060 +123 3.20573 4.780 +124 3.23213 4.500 +125 3.25892 4.240 +126 3.28355 4.020 +127 3.30521 3.840 +128 3.32704 3.670 +129 3.35042 3.500 +130 3.37556 3.330 +131 3.40107 3.170 +132 3.42681 3.020 +133 3.45456 2.870 +134 3.48465 2.720 +135 3.51518 2.580 +136 3.54837 2.440 +137 3.58472 2.300 +138 3.62179 2.170 +139 3.66243 2.040 +140 3.70380 1.920 +141 3.74927 1.800 +142 3.79977 1.680 +143 3.85146 1.570 +144 3.90399 1.470 +145 3.94546 1.400 diff --git a/secop_psi/calcurves/X64004.340 b/secop_psi/calcurves/X64004.340 new file mode 100644 index 0000000..fb043c2 --- /dev/null +++ b/secop_psi/calcurves/X64004.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-CD-BF1.4 +Serial Number: X64004 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + +1 1.77752 325 +2 1.78449 319 +3 1.791 313.5 +4 1.79762 308 +5 1.80436 302.5 +6 1.81123 297 +7 1.81822 291.5 +8 1.82535 286 +9 1.83261 280.5 +10 1.84002 275 +11 1.84758 269.5 +12 1.85529 264 +13 1.86316 258.5 +14 1.87046 253.5 +15 1.8779 248.5 +16 1.88549 243.5 +17 1.89324 238.5 +18 1.90115 233.5 +19 1.90922 228.5 +20 1.91747 223.5 +21 1.9259 218.5 +22 1.93452 213.5 +23 1.94334 208.5 +24 1.95236 203.5 +25 1.96161 198.5 +26 1.97107 193.5 +27 1.98078 188.5 +28 1.98973 184 +29 1.9989 179.5 +30 2.00828 175 +31 2.0179 170.5 +32 2.02777 166 +33 2.03789 161.5 +34 2.04828 157 +35 2.05896 152.5 +36 2.06994 148 +37 2.08124 143.5 +38 2.09156 139.5 +39 2.10217 135.5 +40 2.11307 131.5 +41 2.12429 127.5 +42 2.13583 123.5 +43 2.14774 119.5 +44 2.16001 115.5 +45 2.17268 111.5 +46 2.18412 108 +47 2.1959 104.5 +48 2.20805 101 +49 2.21696 98.5 +50 2.22609 96 +51 2.23543 93.5 +52 2.245 91 +53 2.25481 88.5 +54 2.26487 86 +55 2.27521 83.5 +56 2.28368 81.5 +57 2.29233 79.5 +58 2.30119 77.5 +59 2.31025 75.5 +60 2.31953 73.5 +61 2.32904 71.5 +62 2.33878 69.5 +63 2.34878 67.5 +64 2.35905 65.5 +65 2.3696 63.5 +66 2.38045 61.5 +67 2.39218 59.4 +68 2.40253 57.6 +69 2.41317 55.8 +70 2.42412 54 +71 2.43539 52.2 +72 2.44702 50.4 +73 2.45901 48.6 +74 2.47001 47 +75 2.48135 45.4 +76 2.49304 43.8 +77 2.50511 42.2 +78 2.5176 40.6 +79 2.52972 39.1 +80 2.54225 37.6 +81 2.55524 36.1 +82 2.56872 34.6 +83 2.58179 33.2 +84 2.59537 31.8 +85 2.6095 30.4 +86 2.62317 29.1 +87 2.63741 27.8 +88 2.65229 26.5 +89 2.66665 25.3 +90 2.68167 24.1 +91 2.69743 22.9 +92 2.7126 21.8 +93 2.72854 20.7 +94 2.74145 19.85 +95 2.75171 19.2 +96 2.76233 18.55 +97 2.77334 17.9 +98 2.78388 17.3 +99 2.79482 16.7 +100 2.80619 16.1 +101 2.81703 15.55 +102 2.82829 15 +103 2.84002 14.45 +104 2.85227 13.9 +105 2.8639 13.4 +106 2.87604 12.9 +107 2.88875 12.4 +108 2.90208 11.9 +109 2.91611 11.4 +110 2.9294 10.95 +111 2.94338 10.5 +112 2.95814 10.05 +113 2.97378 9.6 +114 2.98849 9.2 +115 3.00408 8.8 +116 3.02063 8.4 +117 3.03829 8 +118 3.05476 7.65 +119 3.07231 7.3 +120 3.09107 6.95 +121 3.11122 6.6 +122 3.13296 6.25 +123 3.15653 5.9 +124 3.17993 5.58 +125 3.20373 5.28 +126 3.22782 5 +127 3.25401 4.72 +128 3.28262 4.44 +129 3.31172 4.18 +130 3.33729 3.97 +131 3.35953 3.8 +132 3.38331 3.63 +133 3.40883 3.46 +134 3.43464 3.3 +135 3.46239 3.14 +136 3.4904 2.99 +137 3.52058 2.84 +138 3.55322 2.69 +139 3.5862 2.55 +140 3.62195 2.41 +141 3.65796 2.28 +142 3.69706 2.15 +143 3.73968 2.02 +144 3.78261 1.9 +145 3.82542 1.79 +146 3.872 1.68 +147 3.92291 1.57 +148 3.97879 1.46 +149 4.01165 1.4 diff --git a/secop_psi/calcurves/X64682.340 b/secop_psi/calcurves/X64682.340 new file mode 100644 index 0000000..189143e --- /dev/null +++ b/secop_psi/calcurves/X64682.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X64682 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.82626 325.000 + 2 1.83339 319.000 + 3 1.84007 313.500 + 4 1.84688 308.000 + 5 1.85385 302.500 + 6 1.86096 297.000 + 7 1.86822 291.500 + 8 1.87565 286.000 + 9 1.88324 280.500 + 10 1.89101 275.000 + 11 1.89895 269.500 + 12 1.90707 264.000 + 13 1.91539 258.500 + 14 1.92390 253.000 + 15 1.93261 247.500 + 16 1.94154 242.000 + 17 1.94985 237.000 + 18 1.95834 232.000 + 19 1.96702 227.000 + 20 1.97590 222.000 + 21 1.98500 217.000 + 22 1.99431 212.000 + 23 2.00384 207.000 + 24 2.01361 202.000 + 25 2.02363 197.000 + 26 2.03389 192.000 + 27 2.04443 187.000 + 28 2.05524 182.000 + 29 2.06522 177.500 + 30 2.07545 173.000 + 31 2.08593 168.500 + 32 2.09668 164.000 + 33 2.10771 159.500 + 34 2.11903 155.000 + 35 2.13066 150.500 + 36 2.14261 146.000 + 37 2.15490 141.500 + 38 2.16755 137.000 + 39 2.17912 133.000 + 40 2.19099 129.000 + 41 2.20321 125.000 + 42 2.21577 121.000 + 43 2.22872 117.000 + 44 2.24207 113.000 + 45 2.25585 109.000 + 46 2.27010 105.000 + 47 2.28299 101.500 + 48 2.29246 99.000 + 49 2.30213 96.500 + 50 2.31203 94.000 + 51 2.32217 91.500 + 52 2.33257 89.000 + 53 2.34324 86.500 + 54 2.35418 84.000 + 55 2.36542 81.500 + 56 2.37698 79.000 + 57 2.38648 77.000 + 58 2.39619 75.000 + 59 2.40616 73.000 + 60 2.41639 71.000 + 61 2.42689 69.000 + 62 2.43768 67.000 + 63 2.44878 65.000 + 64 2.46020 63.000 + 65 2.47197 61.000 + 66 2.48411 59.000 + 67 2.49663 57.000 + 68 2.50958 55.000 + 69 2.52163 53.200 + 70 2.53405 51.400 + 71 2.54689 49.600 + 72 2.56017 47.800 + 73 2.57393 46.000 + 74 2.58820 44.200 + 75 2.60136 42.600 + 76 2.61498 41.000 + 77 2.63001 39.300 + 78 2.64472 37.700 + 79 2.65906 36.200 + 80 2.67396 34.700 + 81 2.68948 33.200 + 82 2.70457 31.800 + 83 2.72029 30.400 + 84 2.73670 29.000 + 85 2.75264 27.700 + 86 2.76929 26.400 + 87 2.78674 25.100 + 88 2.80365 23.900 + 89 2.82139 22.700 + 90 2.84008 21.500 + 91 2.85818 20.400 + 92 2.87201 19.600 + 93 2.88365 18.950 + 94 2.89571 18.300 + 95 2.90824 17.650 + 96 2.92025 17.050 + 97 2.93271 16.450 + 98 2.94569 15.850 + 99 2.95921 15.250 +100 2.97214 14.700 +101 2.98560 14.150 +102 2.99971 13.600 +103 3.01313 13.100 +104 3.02716 12.600 +105 3.04189 12.100 +106 3.05736 11.600 +107 3.07201 11.150 +108 3.08739 10.700 +109 3.10360 10.250 +110 3.12074 9.800 +111 3.13686 9.400 +112 3.15386 9.000 +113 3.17189 8.600 +114 3.19106 8.200 +115 3.21151 7.800 +116 3.23064 7.450 +117 3.25100 7.100 +118 3.27280 6.750 +119 3.29623 6.400 +120 3.32154 6.050 +121 3.34578 5.740 +122 3.37109 5.440 +123 3.39848 5.140 +124 3.42628 4.860 +125 3.45648 4.580 +126 3.48713 4.320 +127 3.52058 4.060 +128 3.54874 3.860 +129 3.57435 3.690 +130 3.60179 3.520 +131 3.62956 3.360 +132 3.65938 3.200 +133 3.69163 3.040 +134 3.72438 2.890 +135 3.75746 2.750 +136 3.79328 2.610 +137 3.83232 2.470 +138 3.87197 2.340 +139 3.91525 2.210 +140 3.96288 2.080 +141 4.01135 1.960 +142 4.06465 1.840 +143 4.12384 1.720 +144 4.18430 1.610 +145 4.24540 1.510 +146 4.30745 1.420 +147 4.32306 1.400 +148 4.49147 1.200 diff --git a/secop_psi/calcurves/X64693.340 b/secop_psi/calcurves/X64693.340 new file mode 100644 index 0000000..e9cd1d5 --- /dev/null +++ b/secop_psi/calcurves/X64693.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X64693 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.86296 325.000 + 2 1.87039 319.000 + 3 1.87735 313.500 + 4 1.88445 308.000 + 5 1.89171 302.500 + 6 1.89912 297.000 + 7 1.90670 291.500 + 8 1.91445 286.000 + 9 1.92236 280.500 + 10 1.93046 275.000 + 11 1.93875 269.500 + 12 1.94722 264.000 + 13 1.95590 258.500 + 14 1.96478 253.000 + 15 1.97387 247.500 + 16 1.98234 242.500 + 17 1.99098 237.500 + 18 1.99983 232.500 + 19 2.00888 227.500 + 20 2.01813 222.500 + 21 2.02761 217.500 + 22 2.03731 212.500 + 23 2.04725 207.500 + 24 2.05742 202.500 + 25 2.06786 197.500 + 26 2.07856 192.500 + 27 2.08953 187.500 + 28 2.10079 182.500 + 29 2.11235 177.500 + 30 2.12304 173.000 + 31 2.13398 168.500 + 32 2.14521 164.000 + 33 2.15672 159.500 + 34 2.16855 155.000 + 35 2.18070 150.500 + 36 2.19319 146.000 + 37 2.20604 141.500 + 38 2.21928 137.000 + 39 2.23139 133.000 + 40 2.24382 129.000 + 41 2.25662 125.000 + 42 2.26979 121.000 + 43 2.28337 117.000 + 44 2.29737 113.000 + 45 2.31183 109.000 + 46 2.32678 105.000 + 47 2.34030 101.500 + 48 2.35022 99.000 + 49 2.36035 96.500 + 50 2.37073 94.000 + 51 2.38137 91.500 + 52 2.39226 89.000 + 53 2.40345 86.500 + 54 2.41493 84.000 + 55 2.42672 81.500 + 56 2.43887 79.000 + 57 2.44886 77.000 + 58 2.45909 75.000 + 59 2.46958 73.000 + 60 2.48033 71.000 + 61 2.49138 69.000 + 62 2.50273 67.000 + 63 2.51441 65.000 + 64 2.52643 63.000 + 65 2.53882 61.000 + 66 2.55159 59.000 + 67 2.56478 57.000 + 68 2.57704 55.200 + 69 2.58967 53.400 + 70 2.60272 51.600 + 71 2.61620 49.800 + 72 2.63015 48.000 + 73 2.64461 46.200 + 74 2.65792 44.600 + 75 2.67168 43.000 + 76 2.68593 41.400 + 77 2.70165 39.700 + 78 2.71704 38.100 + 79 2.73204 36.600 + 80 2.74762 35.100 + 81 2.76384 33.600 + 82 2.77963 32.200 + 83 2.79606 30.800 + 84 2.81323 29.400 + 85 2.82989 28.100 + 86 2.84730 26.800 + 87 2.86554 25.500 + 88 2.88322 24.300 + 89 2.90176 23.100 + 90 2.92129 21.900 + 91 2.94017 20.800 + 92 2.95551 19.950 + 93 2.96767 19.300 + 94 2.98026 18.650 + 95 2.99333 18.000 + 96 3.00586 17.400 + 97 3.01885 16.800 + 98 3.03237 16.200 + 99 3.04645 15.600 +100 3.05992 15.050 +101 3.07395 14.500 +102 3.08860 13.950 +103 3.10250 13.450 +104 3.11702 12.950 +105 3.13224 12.450 +106 3.14822 11.950 +107 3.16504 11.450 +108 3.18100 11.000 +109 3.19776 10.550 +110 3.21548 10.100 +111 3.23423 9.650 +112 3.25191 9.250 +113 3.27058 8.850 +114 3.29042 8.450 +115 3.31157 8.050 +116 3.33131 7.700 +117 3.35227 7.350 +118 3.37469 7.000 +119 3.39871 6.650 +120 3.42460 6.300 +121 3.45346 5.940 +122 3.47951 5.640 +123 3.50761 5.340 +124 3.53814 5.040 +125 3.56918 4.760 +126 3.60051 4.500 +127 3.63465 4.240 +128 3.66623 4.020 +129 3.69404 3.840 +130 3.72218 3.670 +131 3.75239 3.500 +132 3.78303 3.340 +133 3.81601 3.180 +134 3.84946 3.030 +135 3.88559 2.880 +136 3.92486 2.730 +137 3.96481 2.590 +138 4.00829 2.450 +139 4.05247 2.320 +140 4.10066 2.190 +141 4.15368 2.060 +142 4.20774 1.940 +143 4.26742 1.820 +144 4.32839 1.710 +145 4.39013 1.610 +146 4.45918 1.510 +147 4.54413 1.400 +148 4.73814 1.194 diff --git a/secop_psi/calcurves/X66148.340 b/secop_psi/calcurves/X66148.340 new file mode 100644 index 0000000..6aaf831 --- /dev/null +++ b/secop_psi/calcurves/X66148.340 @@ -0,0 +1,165 @@ +Sensor Model: CX-1050-CU-HT-1.4M +Serial Number: X66148 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 420.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 156 + +No. Units Temperature (K) + + 1 1.68745 420.000 + 2 1.69490 411.000 + 3 1.70213 402.500 + 4 1.70957 394.000 + 5 1.71722 385.500 + 6 1.72510 377.000 + 7 1.73321 368.500 + 8 1.74108 360.500 + 9 1.74917 352.500 + 10 1.75749 344.500 + 11 1.76607 336.500 + 12 1.77490 328.500 + 13 1.78229 322.000 + 14 1.78868 316.500 + 15 1.79519 311.000 + 16 1.80185 305.500 + 17 1.80866 300.000 + 18 1.81561 294.500 + 19 1.82271 289.000 + 20 1.82997 283.500 + 21 1.83739 278.000 + 22 1.84497 272.500 + 23 1.85273 267.000 + 24 1.86067 261.500 + 25 1.86880 256.000 + 26 1.87711 250.500 + 27 1.88563 245.000 + 28 1.89355 240.000 + 29 1.90165 235.000 + 30 1.90994 230.000 + 31 1.91841 225.000 + 32 1.92708 220.000 + 33 1.93595 215.000 + 34 1.94504 210.000 + 35 1.95434 205.000 + 36 1.96386 200.000 + 37 1.97362 195.000 + 38 1.98362 190.000 + 39 1.99388 185.000 + 40 2.00440 180.000 + 41 2.01520 175.000 + 42 2.02518 170.500 + 43 2.03540 166.000 + 44 2.04587 161.500 + 45 2.05662 157.000 + 46 2.06764 152.500 + 47 2.07896 148.000 + 48 2.09060 143.500 + 49 2.10256 139.000 + 50 2.11486 134.500 + 51 2.12754 130.000 + 52 2.13914 126.000 + 53 2.15106 122.000 + 54 2.16333 118.000 + 55 2.17597 114.000 + 56 2.18900 110.000 + 57 2.20245 106.000 + 58 2.21635 102.000 + 59 2.22711 99.000 + 60 2.23629 96.500 + 61 2.24568 94.000 + 62 2.25528 91.500 + 63 2.26513 89.000 + 64 2.27522 86.500 + 65 2.28557 84.000 + 66 2.29621 81.500 + 67 2.30713 79.000 + 68 2.31838 76.500 + 69 2.32995 74.000 + 70 2.33949 72.000 + 71 2.34924 70.000 + 72 2.35926 68.000 + 73 2.36955 66.000 + 74 2.38012 64.000 + 75 2.39100 62.000 + 76 2.40220 60.000 + 77 2.41375 58.000 + 78 2.42567 56.000 + 79 2.43674 54.200 + 80 2.44813 52.400 + 81 2.45990 50.600 + 82 2.47205 48.800 + 83 2.48462 47.000 + 84 2.49763 45.200 + 85 2.51111 43.400 + 86 2.52355 41.800 + 87 2.53640 40.200 + 88 2.54973 38.600 + 89 2.56358 37.000 + 90 2.57798 35.400 + 91 2.59202 33.900 + 92 2.60663 32.400 + 93 2.62186 30.900 + 94 2.63670 29.500 + 95 2.65217 28.100 + 96 2.66721 26.800 + 97 2.68291 25.500 + 98 2.69938 24.200 + 99 2.71535 23.000 +100 2.73212 21.800 +101 2.74831 20.700 +102 2.76143 19.850 +103 2.77264 19.150 +104 2.78342 18.500 +105 2.79459 17.850 +106 2.80619 17.200 +107 2.81732 16.600 +108 2.82887 16.000 +109 2.84090 15.400 +110 2.85239 14.850 +111 2.86434 14.300 +112 2.87682 13.750 +113 2.88988 13.200 +114 2.90231 12.700 +115 2.91531 12.200 +116 2.92896 11.700 +117 2.94332 11.200 +118 2.95694 10.750 +119 2.97125 10.300 +120 2.98637 9.850 +121 3.00236 9.400 +122 3.01744 9.000 +123 3.03335 8.600 +124 3.05028 8.200 +125 3.06832 7.800 +126 3.08519 7.450 +127 3.10310 7.100 +128 3.12226 6.750 +129 3.14281 6.400 +130 3.16496 6.050 +131 3.18614 5.740 +132 3.20820 5.440 +133 3.23203 5.140 +134 3.25618 4.860 +135 3.28236 4.580 +136 3.31098 4.300 +137 3.34017 4.040 +138 3.36465 3.840 +139 3.38693 3.670 +140 3.41078 3.500 +141 3.43645 3.330 +142 3.46253 3.170 +143 3.48885 3.020 +144 3.51723 2.870 +145 3.54800 2.720 +146 3.57923 2.580 +147 3.61315 2.440 +148 3.65028 2.300 +149 3.68813 2.170 +150 3.72639 2.050 +151 3.76833 1.930 +152 3.81469 1.810 +153 3.86189 1.700 +154 3.91429 1.590 +155 3.96768 1.490 +156 4.02131 1.400 diff --git a/secop_psi/calcurves/X67737.340 b/secop_psi/calcurves/X67737.340 new file mode 100644 index 0000000..443550d --- /dev/null +++ b/secop_psi/calcurves/X67737.340 @@ -0,0 +1,183 @@ +Sensor Model: CX-1010-SD-0.3L +Serial Number: X67737 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 174 + +No. Units Temperature (K) + + 1 1.46462 325.000 + 2 1.46895 319.000 + 3 1.47300 313.500 + 4 1.47713 308.000 + 5 1.48136 302.500 + 6 1.48568 297.000 + 7 1.49009 291.500 + 8 1.49460 286.000 + 9 1.49921 280.500 + 10 1.50393 275.000 + 11 1.50875 269.500 + 12 1.51368 264.000 + 13 1.51873 258.500 + 14 1.52389 253.000 + 15 1.52917 247.500 + 16 1.53457 242.000 + 17 1.54010 236.500 + 18 1.54577 231.000 + 19 1.55157 225.500 + 20 1.55697 220.500 + 21 1.56249 215.500 + 22 1.56813 210.500 + 23 1.57391 205.500 + 24 1.57982 200.500 + 25 1.58586 195.500 + 26 1.59206 190.500 + 27 1.59840 185.500 + 28 1.60490 180.500 + 29 1.61156 175.500 + 30 1.61838 170.500 + 31 1.62539 165.500 + 32 1.63257 160.500 + 33 1.63995 155.500 + 34 1.64677 151.000 + 35 1.65375 146.500 + 36 1.66092 142.000 + 37 1.66827 137.500 + 38 1.67582 133.000 + 39 1.68358 128.500 + 40 1.69156 124.000 + 41 1.69978 119.500 + 42 1.70731 115.500 + 43 1.71504 111.500 + 44 1.72300 107.500 + 45 1.73121 103.500 + 46 1.73756 100.500 + 47 1.74295 98.000 + 48 1.74846 95.500 + 49 1.75409 93.000 + 50 1.75985 90.500 + 51 1.76574 88.000 + 52 1.77177 85.500 + 53 1.77795 83.000 + 54 1.78429 80.500 + 55 1.79081 78.000 + 56 1.79750 75.500 + 57 1.80439 73.000 + 58 1.81005 71.000 + 59 1.81585 69.000 + 60 1.82179 67.000 + 61 1.82790 65.000 + 62 1.83417 63.000 + 63 1.84061 61.000 + 64 1.84724 59.000 + 65 1.85407 57.000 + 66 1.86111 55.000 + 67 1.86838 53.000 + 68 1.87513 51.200 + 69 1.88209 49.400 + 70 1.88927 47.600 + 71 1.89668 45.800 + 72 1.90436 44.000 + 73 1.91230 42.200 + 74 1.92053 40.400 + 75 1.92860 38.700 + 76 1.93647 37.100 + 77 1.94463 35.500 + 78 1.95310 33.900 + 79 1.96135 32.400 + 80 1.96991 30.900 + 81 1.97883 29.400 + 82 1.98751 28.000 + 83 1.99654 26.600 + 84 2.00599 25.200 + 85 2.01518 23.900 + 86 2.02404 22.700 + 87 2.03333 21.500 + 88 2.04309 20.300 + 89 2.05037 19.450 + 90 2.05657 18.750 + 91 2.06252 18.100 + 92 2.06868 17.450 + 93 2.07506 16.800 + 94 2.08168 16.150 + 95 2.08804 15.550 + 96 2.09465 14.950 + 97 2.10153 14.350 + 98 2.10811 13.800 + 99 2.11497 13.250 +100 2.12214 12.700 +101 2.12895 12.200 +102 2.13607 11.700 +103 2.14354 11.200 +104 2.15139 10.700 +105 2.15883 10.250 +106 2.16663 9.800 +107 2.17487 9.350 +108 2.18358 8.900 +109 2.19178 8.500 +110 2.20044 8.100 +111 2.20963 7.700 +112 2.21942 7.300 +113 2.22989 6.900 +114 2.23969 6.550 +115 2.25014 6.200 +116 2.26167 5.840 +117 2.27343 5.500 +118 2.28536 5.180 +119 2.29743 4.880 +120 2.31046 4.580 +121 2.32368 4.300 +122 2.33803 4.020 +123 2.34142 3.960 +124 2.34917 3.820 +125 2.35982 3.640 +126 2.37118 3.460 +127 2.38333 3.280 +128 2.39565 3.110 +129 2.40808 2.950 +130 2.42146 2.790 +131 2.43587 2.630 +132 2.45051 2.480 +133 2.46635 2.330 +134 2.48246 2.190 +135 2.49871 2.060 +136 2.51639 1.930 +137 2.53580 1.800 +138 2.55553 1.680 +139 2.57727 1.560 +140 2.59940 1.450 +141 2.62393 1.340 +142 2.65147 1.230 +143 2.65717 1.210 +144 2.66540 1.180 +145 2.67843 1.135 +146 2.69222 1.090 +147 2.70682 1.045 +148 2.72057 1.005 +149 2.73507 0.965 +150 2.75045 0.925 +151 2.76677 0.885 +152 2.78416 0.845 +153 2.80272 0.805 +154 2.82009 0.770 +155 2.83855 0.735 +156 2.85832 0.700 +157 2.87954 0.665 +158 2.90244 0.630 +159 2.92365 0.600 +160 2.94641 0.570 +161 2.97108 0.540 +162 2.99787 0.510 +163 3.01919 0.488 +164 3.03974 0.468 +165 3.06165 0.448 +166 3.08501 0.428 +167 3.10994 0.408 +168 3.13388 0.390 +169 3.15933 0.372 +170 3.18651 0.354 +171 3.21243 0.338 +172 3.24024 0.322 +173 3.26674 0.308 +174 3.28312 0.300 diff --git a/secop_psi/calcurves/X68057.340 b/secop_psi/calcurves/X68057.340 new file mode 100644 index 0000000..f76dc48 --- /dev/null +++ b/secop_psi/calcurves/X68057.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X68057 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-27 + +No. Units Temperature (K) + + 1 1.76409 2.51858 + 2 1.76991 2.51188 + 3 1.77700 2.50379 + 4 1.78365 2.49624 + 5 1.79044 2.48855 + 6 1.79736 2.48073 + 7 1.80444 2.47276 + 8 1.81168 2.46464 + 9 1.81908 2.45637 + 10 1.82665 2.44793 + 11 1.83439 2.43933 + 12 1.84230 2.43056 + 13 1.85040 2.42160 + 14 1.85870 2.41246 + 15 1.86718 2.40312 + 16 1.87508 2.39445 + 17 1.88315 2.38561 + 18 1.89140 2.37658 + 19 1.89983 2.36736 + 20 1.90847 2.35793 + 21 1.91730 2.34830 + 22 1.92634 2.33846 + 23 1.93559 2.32838 + 24 1.94507 2.31806 + 25 1.95478 2.30750 + 26 1.96472 2.29667 + 27 1.97492 2.28556 + 28 1.98539 2.27416 + 29 1.99612 2.26245 + 30 2.00603 2.25164 + 31 2.01617 2.24055 + 32 2.02656 2.22917 + 33 2.03721 2.21748 + 34 2.04813 2.20548 + 35 2.05935 2.19312 + 36 2.07085 2.18041 + 37 2.08268 2.16732 + 38 2.09483 2.15381 + 39 2.10733 2.13988 + 40 2.11876 2.12710 + 41 2.13050 2.11394 + 42 2.14256 2.10037 + 43 2.15497 2.08636 + 44 2.16775 2.07188 + 45 2.18092 2.05690 + 46 2.19450 2.04139 + 47 2.20854 2.02531 + 48 2.22122 2.01072 + 49 2.23053 2.00000 + 50 2.24003 1.98900 + 51 2.24976 1.97772 + 52 2.25971 1.96614 + 53 2.26990 1.95424 + 54 2.28036 1.94201 + 55 2.29109 1.92942 + 56 2.30211 1.91645 + 57 2.31343 1.90309 + 58 2.32508 1.88930 + 59 2.33465 1.87795 + 60 2.34445 1.86629 + 61 2.35449 1.85431 + 62 2.36480 1.84198 + 63 2.37538 1.82930 + 64 2.38625 1.81624 + 65 2.39743 1.80277 + 66 2.40894 1.78888 + 67 2.42140 1.77379 + 68 2.43365 1.75891 + 69 2.44630 1.74351 + 70 2.45806 1.72916 + 71 2.47018 1.71433 + 72 2.48270 1.69897 + 73 2.49563 1.68305 + 74 2.50902 1.66652 + 75 2.52290 1.64933 + 76 2.53568 1.63347 + 77 2.54889 1.61700 + 78 2.56345 1.59879 + 79 2.57768 1.58092 + 80 2.59248 1.56229 + 81 2.60691 1.54407 + 82 2.62190 1.52504 + 83 2.63753 1.50515 + 84 2.65274 1.48572 + 85 2.66860 1.46538 + 86 2.68518 1.44404 + 87 2.70130 1.42325 + 88 2.71817 1.40140 + 89 2.73451 1.38021 + 90 2.75162 1.35793 + 91 2.76963 1.33445 + 92 2.78705 1.31175 + 93 2.80034 1.29447 + 94 2.81151 1.27989 + 95 2.82307 1.26482 + 96 2.83507 1.24920 + 97 2.84753 1.23300 + 98 2.85949 1.21748 + 99 2.87192 1.20140 + 100 2.88487 1.18469 + 101 2.89725 1.16879 + 102 2.91015 1.15229 + 103 2.92363 1.13513 + 104 2.93774 1.11727 + 105 2.95120 1.10037 + 106 2.96528 1.08279 + 107 2.98006 1.06446 + 108 2.99406 1.04727 + 109 3.00875 1.02938 + 110 3.02422 1.01072 + 111 3.04056 0.99123 + 112 3.05592 0.97313 + 113 3.07211 0.95424 + 114 3.08925 0.93450 + 115 3.10747 0.91381 + 116 3.12691 0.89209 + 117 3.14508 0.87216 + 118 3.16439 0.85126 + 119 3.18506 0.82930 + 120 3.20725 0.80618 + 121 3.23120 0.78176 + 122 3.25411 0.75891 + 123 3.27801 0.73560 + 124 3.30385 0.71096 + 125 3.33004 0.68664 + 126 3.35844 0.66087 + 127 3.38723 0.63548 + 128 3.41861 0.60853 + 129 3.44500 0.58659 + 130 3.46895 0.56703 + 131 3.49460 0.54654 + 132 3.52053 0.52634 + 133 3.54836 0.50515 + 134 3.57842 0.48287 + 135 3.60893 0.46090 + 136 3.64197 0.43775 + 137 3.67556 0.41497 + 138 3.71208 0.39094 + 139 3.74920 0.36736 + 140 3.78969 0.34242 + 141 3.83424 0.31597 + 142 3.87952 0.29003 + 143 3.92924 0.26245 + 144 3.98433 0.23300 + 145 4.04047 0.20412 + 146 4.09710 0.17609 + 147 4.15472 0.14922 + 148 4.16216 0.14613 + 149 4.31686 0.07968 diff --git a/secop_psi/calcurves/X68061.340 b/secop_psi/calcurves/X68061.340 new file mode 100644 index 0000000..99b810f --- /dev/null +++ b/secop_psi/calcurves/X68061.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU +Serial Number: X68061 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.2 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.77919 2.51884 + 2 1.78535 2.51188 + 3 1.79256 2.50379 + 4 1.79932 2.49624 + 5 1.80622 2.48855 + 6 1.81328 2.48073 + 7 1.82049 2.47276 + 8 1.82785 2.46464 + 9 1.83538 2.45637 + 10 1.84308 2.44793 + 11 1.85096 2.43933 + 12 1.85902 2.43056 + 13 1.86726 2.42160 + 14 1.87569 2.41246 + 15 1.88433 2.40312 + 16 1.89236 2.39445 + 17 1.90056 2.38561 + 18 1.90894 2.37658 + 19 1.91751 2.36736 + 20 1.92628 2.35793 + 21 1.93525 2.34830 + 22 1.94442 2.33846 + 23 1.95381 2.32838 + 24 1.96343 2.31806 + 25 1.97328 2.30750 + 26 1.98337 2.29667 + 27 1.99371 2.28556 + 28 2.00432 2.27416 + 29 2.01521 2.26245 + 30 2.02638 2.25042 + 31 2.03670 2.23930 + 32 2.04727 2.22789 + 33 2.05810 2.21617 + 34 2.06921 2.20412 + 35 2.08063 2.19173 + 36 2.09234 2.17898 + 37 2.10437 2.16584 + 38 2.11675 2.15229 + 39 2.12950 2.13830 + 40 2.14262 2.12385 + 41 2.15464 2.11059 + 42 2.16699 2.09691 + 43 2.17970 2.08279 + 44 2.19278 2.06819 + 45 2.20628 2.05308 + 46 2.22021 2.03743 + 47 2.23461 2.02119 + 48 2.24950 2.00432 + 49 2.26106 1.99123 + 50 2.27090 1.98000 + 51 2.28099 1.96848 + 52 2.29133 1.95665 + 53 2.30192 1.94448 + 54 2.31279 1.93197 + 55 2.32396 1.91908 + 56 2.33544 1.90580 + 57 2.34724 1.89209 + 58 2.35940 1.87795 + 59 2.36941 1.86629 + 60 2.37964 1.85431 + 61 2.39016 1.84198 + 62 2.40095 1.82930 + 63 2.41204 1.81624 + 64 2.42345 1.80277 + 65 2.43519 1.78888 + 66 2.44790 1.77379 + 67 2.46041 1.75891 + 68 2.47332 1.74351 + 69 2.48531 1.72916 + 70 2.49768 1.71433 + 71 2.51045 1.69897 + 72 2.52366 1.68305 + 73 2.53732 1.66652 + 74 2.55148 1.64933 + 75 2.56617 1.63144 + 76 2.57973 1.61490 + 77 2.59465 1.59660 + 78 2.60925 1.57864 + 79 2.62443 1.55991 + 80 2.63921 1.54158 + 81 2.65460 1.52244 + 82 2.67061 1.50243 + 83 2.68622 1.48287 + 84 2.70248 1.46240 + 85 2.71949 1.44091 + 86 2.73603 1.41996 + 87 2.75335 1.39794 + 88 2.77012 1.37658 + 89 2.78770 1.35411 + 90 2.80622 1.33041 + 91 2.82414 1.30750 + 92 2.83783 1.29003 + 93 2.84935 1.27531 + 94 2.86128 1.26007 + 95 2.87368 1.24428 + 96 2.88556 1.22917 + 97 2.89788 1.21352 + 98 2.91072 1.19728 + 99 2.92409 1.18041 + 100 2.93689 1.16435 + 101 2.95023 1.14768 + 102 2.96418 1.13033 + 103 2.97747 1.11394 + 104 2.99136 1.09691 + 105 3.00593 1.07918 + 106 3.02126 1.06070 + 107 3.03577 1.04336 + 108 3.05101 1.02531 + 109 3.06709 1.00647 + 110 3.08410 0.98677 + 111 3.10009 0.96848 + 112 3.11697 0.94939 + 113 3.13489 0.92942 + 114 3.15393 0.90849 + 115 3.17428 0.88649 + 116 3.19333 0.86629 + 117 3.21362 0.84510 + 118 3.23535 0.82282 + 119 3.25873 0.79934 + 120 3.28479 0.77379 + 121 3.30827 0.75128 + 122 3.33358 0.72754 + 123 3.36103 0.70243 + 124 3.38891 0.67761 + 125 3.41921 0.65128 + 126 3.45003 0.62531 + 127 3.47579 0.60423 + 128 3.49912 0.58546 + 129 3.52405 0.56585 + 130 3.55077 0.54531 + 131 3.57779 0.52504 + 132 3.60682 0.50379 + 133 3.63819 0.48144 + 134 3.67006 0.45939 + 135 3.70226 0.43775 + 136 3.73713 0.41497 + 137 3.77517 0.39094 + 138 3.81380 0.36736 + 139 3.85601 0.34242 + 140 3.90246 0.31597 + 141 3.94972 0.29003 + 142 4.00165 0.26245 + 143 4.05926 0.23300 + 144 4.11805 0.20412 + 145 4.17754 0.17609 + 146 4.23842 0.14922 + 147 4.24634 0.14613 + 148 4.41290 0.07880 diff --git a/secop_psi/calcurves/X68079.340 b/secop_psi/calcurves/X68079.340 new file mode 100644 index 0000000..e0d3867 --- /dev/null +++ b/secop_psi/calcurves/X68079.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-unknown +Serial Number: X68079 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.82424 2.51858 + 2 1.83040 2.51188 + 3 1.83791 2.50379 + 4 1.84495 2.49624 + 5 1.85215 2.48855 + 6 1.85949 2.48073 + 7 1.86700 2.47276 + 8 1.87468 2.46464 + 9 1.88253 2.45637 + 10 1.89056 2.44793 + 11 1.89877 2.43933 + 12 1.90717 2.43056 + 13 1.91576 2.42160 + 14 1.92455 2.41246 + 15 1.93354 2.40312 + 16 1.94192 2.39445 + 17 1.95047 2.38561 + 18 1.95921 2.37658 + 19 1.96815 2.36736 + 20 1.97730 2.35793 + 21 1.98665 2.34830 + 22 1.99623 2.33846 + 23 2.00603 2.32838 + 24 2.01607 2.31806 + 25 2.02636 2.30750 + 26 2.03690 2.29667 + 27 2.04771 2.28556 + 28 2.05880 2.27416 + 29 2.07017 2.26245 + 30 2.08068 2.25164 + 31 2.09143 2.24055 + 32 2.10245 2.22917 + 33 2.11375 2.21748 + 34 2.12533 2.20548 + 35 2.13723 2.19312 + 36 2.14943 2.18041 + 37 2.16198 2.16732 + 38 2.17487 2.15381 + 39 2.18814 2.13988 + 40 2.20027 2.12710 + 41 2.21273 2.11394 + 42 2.22553 2.10037 + 43 2.23870 2.08636 + 44 2.25227 2.07188 + 45 2.26626 2.05690 + 46 2.28068 2.04139 + 47 2.29559 2.02531 + 48 2.30906 2.01072 + 49 2.31895 2.00000 + 50 2.32904 1.98900 + 51 2.33938 1.97772 + 52 2.34996 1.96614 + 53 2.36079 1.95424 + 54 2.37191 1.94201 + 55 2.38333 1.92942 + 56 2.39505 1.91645 + 57 2.40710 1.90309 + 58 2.41950 1.88930 + 59 2.42969 1.87795 + 60 2.44013 1.86629 + 61 2.45082 1.85431 + 62 2.46181 1.84198 + 63 2.47309 1.82930 + 64 2.48468 1.81624 + 65 2.49661 1.80277 + 66 2.50890 1.78888 + 67 2.52220 1.77379 + 68 2.53528 1.75891 + 69 2.54881 1.74351 + 70 2.56138 1.72916 + 71 2.57434 1.71433 + 72 2.58773 1.69897 + 73 2.60157 1.68305 + 74 2.61591 1.66652 + 75 2.63078 1.64933 + 76 2.64447 1.63347 + 77 2.65864 1.61700 + 78 2.67426 1.59879 + 79 2.68954 1.58092 + 80 2.70544 1.56229 + 81 2.72094 1.54407 + 82 2.73705 1.52504 + 83 2.75386 1.50515 + 84 2.77024 1.48572 + 85 2.78732 1.46538 + 86 2.80519 1.44404 + 87 2.82257 1.42325 + 88 2.84077 1.40140 + 89 2.85841 1.38021 + 90 2.87691 1.35793 + 91 2.89639 1.33445 + 92 2.91524 1.31175 + 93 2.92964 1.29447 + 94 2.94175 1.27989 + 95 2.95429 1.26482 + 96 2.96731 1.24920 + 97 2.98084 1.23300 + 98 2.99383 1.21748 + 99 3.00735 1.20140 + 100 3.02144 1.18469 + 101 3.03491 1.16879 + 102 3.04896 1.15229 + 103 3.06366 1.13513 + 104 3.07906 1.11727 + 105 3.09375 1.10037 + 106 3.10913 1.08279 + 107 3.12530 1.06446 + 108 3.14061 1.04727 + 109 3.15669 1.02938 + 110 3.17364 1.01072 + 111 3.19156 0.99123 + 112 3.20842 0.97313 + 113 3.22620 0.95424 + 114 3.24505 0.93450 + 115 3.26510 0.91381 + 116 3.28650 0.89209 + 117 3.30653 0.87216 + 118 3.32783 0.85126 + 119 3.35065 0.82930 + 120 3.37519 0.80618 + 121 3.40169 0.78176 + 122 3.42709 0.75891 + 123 3.45361 0.73560 + 124 3.48233 0.71096 + 125 3.51147 0.68664 + 126 3.54313 0.66087 + 127 3.57528 0.63548 + 128 3.61038 0.60853 + 129 3.63995 0.58659 + 130 3.66684 0.56703 + 131 3.69567 0.54654 + 132 3.72485 0.52634 + 133 3.75622 0.50515 + 134 3.79015 0.48287 + 135 3.82465 0.46090 + 136 3.86205 0.43775 + 137 3.90013 0.41497 + 138 3.94158 0.39094 + 139 3.98379 0.36736 + 140 4.02990 0.34242 + 141 4.08072 0.31597 + 142 4.13248 0.29003 + 143 4.18943 0.26245 + 144 4.25266 0.23300 + 145 4.31722 0.20412 + 146 4.38250 0.17609 + 147 4.44912 0.14922 + 148 4.45773 0.14613 + 149 4.63680 0.07968 diff --git a/secop_psi/calcurves/X68258.340 b/secop_psi/calcurves/X68258.340 new file mode 100644 index 0000000..0a17753 --- /dev/null +++ b/secop_psi/calcurves/X68258.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU +Serial Number: X68258 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.2 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.80708 2.51884 + 2 1.81334 2.51188 + 3 1.82068 2.50379 + 4 1.82755 2.49624 + 5 1.83456 2.48855 + 6 1.84173 2.48073 + 7 1.84906 2.47276 + 8 1.85654 2.46464 + 9 1.86419 2.45637 + 10 1.87201 2.44793 + 11 1.88002 2.43933 + 12 1.88820 2.43056 + 13 1.89657 2.42160 + 14 1.90514 2.41246 + 15 1.91391 2.40312 + 16 1.92207 2.39445 + 17 1.93041 2.38561 + 18 1.93893 2.37658 + 19 1.94764 2.36736 + 20 1.95656 2.35793 + 21 1.96567 2.34830 + 22 1.97500 2.33846 + 23 1.98455 2.32838 + 24 1.99434 2.31806 + 25 2.00436 2.30750 + 26 2.01463 2.29667 + 27 2.02515 2.28556 + 28 2.03595 2.27416 + 29 2.04704 2.26245 + 30 2.05840 2.25042 + 31 2.06891 2.23930 + 32 2.07967 2.22789 + 33 2.09070 2.21617 + 34 2.10202 2.20412 + 35 2.11364 2.19173 + 36 2.12557 2.17898 + 37 2.13782 2.16584 + 38 2.15043 2.15229 + 39 2.16342 2.13830 + 40 2.17678 2.12385 + 41 2.18902 2.11059 + 42 2.20159 2.09691 + 43 2.21453 2.08279 + 44 2.22785 2.06819 + 45 2.24159 2.05308 + 46 2.25578 2.03743 + 47 2.27044 2.02119 + 48 2.28561 2.00432 + 49 2.29737 1.99123 + 50 2.30739 1.98000 + 51 2.31767 1.96848 + 52 2.32819 1.95665 + 53 2.33898 1.94448 + 54 2.35006 1.93197 + 55 2.36143 1.91908 + 56 2.37312 1.90580 + 57 2.38514 1.89209 + 58 2.39753 1.87795 + 59 2.40773 1.86629 + 60 2.41816 1.85431 + 61 2.42888 1.84198 + 62 2.43988 1.82930 + 63 2.45119 1.81624 + 64 2.46282 1.80277 + 65 2.47480 1.78888 + 66 2.48777 1.77379 + 67 2.50053 1.75891 + 68 2.51371 1.74351 + 69 2.52595 1.72916 + 70 2.53858 1.71433 + 71 2.55163 1.69897 + 72 2.56512 1.68305 + 73 2.57909 1.66652 + 74 2.59357 1.64933 + 75 2.60859 1.63144 + 76 2.62247 1.61490 + 77 2.63774 1.59660 + 78 2.65269 1.57864 + 79 2.66822 1.55991 + 80 2.68337 1.54158 + 81 2.69914 1.52244 + 82 2.71556 1.50243 + 83 2.73157 1.48287 + 84 2.74825 1.46240 + 85 2.76570 1.44091 + 86 2.78268 1.41996 + 87 2.80046 1.39794 + 88 2.81768 1.37658 + 89 2.83574 1.35411 + 90 2.85478 1.33041 + 91 2.87319 1.30750 + 92 2.88727 1.29003 + 93 2.89911 1.27531 + 94 2.91138 1.26007 + 95 2.92412 1.24428 + 96 2.93634 1.22917 + 97 2.94901 1.21352 + 98 2.96222 1.19728 + 99 2.97598 1.18041 + 100 2.98915 1.16435 + 101 3.00288 1.14768 + 102 3.01723 1.13033 + 103 3.03090 1.11394 + 104 3.04520 1.09691 + 105 3.06019 1.07918 + 106 3.07596 1.06070 + 107 3.09091 1.04336 + 108 3.10660 1.02531 + 109 3.12315 1.00647 + 110 3.14065 0.98677 + 111 3.15713 0.96848 + 112 3.17451 0.94939 + 113 3.19296 0.92942 + 114 3.21258 0.90849 + 115 3.23354 0.88649 + 116 3.25316 0.86629 + 117 3.27407 0.84510 + 118 3.29647 0.82282 + 119 3.32058 0.79934 + 120 3.34745 0.77379 + 121 3.37169 0.75128 + 122 3.39781 0.72754 + 123 3.42615 0.70243 + 124 3.45496 0.67761 + 125 3.48629 0.65128 + 126 3.51816 0.62531 + 127 3.54482 0.60423 + 128 3.56898 0.58546 + 129 3.59481 0.56585 + 130 3.62250 0.54531 + 131 3.65052 0.52504 + 132 3.68063 0.50379 + 133 3.71320 0.48144 + 134 3.74629 0.45939 + 135 3.77974 0.43775 + 136 3.81598 0.41497 + 137 3.85552 0.39094 + 138 3.89569 0.36736 + 139 3.93959 0.34242 + 140 3.98792 0.31597 + 141 4.03710 0.29003 + 142 4.09119 0.26245 + 143 4.15123 0.23300 + 144 4.21256 0.20412 + 145 4.27464 0.17609 + 146 4.33809 0.14922 + 147 4.34632 0.14613 + 148 4.51935 0.07880 diff --git a/secop_psi/calcurves/X68432.340 b/secop_psi/calcurves/X68432.340 new file mode 100644 index 0000000..9699983 --- /dev/null +++ b/secop_psi/calcurves/X68432.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X68432 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-27 + +No. Units Temperature (K) + + 1 1.86484 2.51858 + 2 1.87129 2.51188 + 3 1.87916 2.50379 + 4 1.88654 2.49624 + 5 1.89409 2.48855 + 6 1.90180 2.48073 + 7 1.90969 2.47276 + 8 1.91775 2.46464 + 9 1.92600 2.45637 + 10 1.93443 2.44793 + 11 1.94305 2.43933 + 12 1.95187 2.43056 + 13 1.96088 2.42160 + 14 1.97011 2.41246 + 15 1.97954 2.40312 + 16 1.98833 2.39445 + 17 1.99730 2.38561 + 18 2.00646 2.37658 + 19 2.01584 2.36736 + 20 2.02543 2.35793 + 21 2.03523 2.34830 + 22 2.04527 2.33846 + 23 2.05555 2.32838 + 24 2.06609 2.31806 + 25 2.07688 2.30750 + 26 2.08794 2.29667 + 27 2.09928 2.28556 + 28 2.11093 2.27416 + 29 2.12287 2.26245 + 30 2.13391 2.25164 + 31 2.14521 2.24055 + 32 2.15679 2.22917 + 33 2.16867 2.21748 + 34 2.18085 2.20548 + 35 2.19337 2.19312 + 36 2.20622 2.18041 + 37 2.21943 2.16732 + 38 2.23301 2.15381 + 39 2.24699 2.13988 + 40 2.25977 2.12710 + 41 2.27290 2.11394 + 42 2.28640 2.10037 + 43 2.30028 2.08636 + 44 2.31460 2.07188 + 45 2.32935 2.05690 + 46 2.34457 2.04139 + 47 2.36031 2.02531 + 48 2.37454 2.01072 + 49 2.38498 2.00000 + 50 2.39565 1.98900 + 51 2.40657 1.97772 + 52 2.41775 1.96614 + 53 2.42921 1.95424 + 54 2.44097 1.94201 + 55 2.45304 1.92942 + 56 2.46545 1.91645 + 57 2.47821 1.90309 + 58 2.49133 1.88930 + 59 2.50213 1.87795 + 60 2.51319 1.86629 + 61 2.52453 1.85431 + 62 2.53618 1.84198 + 63 2.54814 1.82930 + 64 2.56044 1.81624 + 65 2.57310 1.80277 + 66 2.58614 1.78888 + 67 2.60027 1.77379 + 68 2.61417 1.75891 + 69 2.62855 1.74351 + 70 2.64191 1.72916 + 71 2.65570 1.71433 + 72 2.66995 1.69897 + 73 2.68469 1.68305 + 74 2.69996 1.66652 + 75 2.71580 1.64933 + 76 2.73040 1.63347 + 77 2.74551 1.61700 + 78 2.76217 1.59879 + 79 2.77848 1.58092 + 80 2.79545 1.56229 + 81 2.81201 1.54407 + 82 2.82924 1.52504 + 83 2.84722 1.50515 + 84 2.86475 1.48572 + 85 2.88304 1.46538 + 86 2.90219 1.44404 + 87 2.92083 1.42325 + 88 2.94036 1.40140 + 89 2.95931 1.38021 + 90 2.97920 1.35793 + 91 3.00016 1.33445 + 92 3.02046 1.31175 + 93 3.03597 1.29447 + 94 3.04903 1.27989 + 95 3.06256 1.26482 + 96 3.07661 1.24920 + 97 3.09123 1.23300 + 98 3.10528 1.21748 + 99 3.11990 1.20140 + 100 3.13515 1.18469 + 101 3.14975 1.16879 + 102 3.16497 1.15229 + 103 3.18091 1.13513 + 104 3.19761 1.11727 + 105 3.21356 1.10037 + 106 3.23027 1.08279 + 107 3.24784 1.06446 + 108 3.26451 1.04727 + 109 3.28200 1.02938 + 110 3.30046 1.01072 + 111 3.31999 0.99123 + 112 3.33837 0.97313 + 113 3.35777 0.95424 + 114 3.37835 0.93450 + 115 3.40024 0.91381 + 116 3.42364 0.89209 + 117 3.44555 0.87216 + 118 3.46887 0.85126 + 119 3.49388 0.82930 + 120 3.52080 0.80618 + 121 3.54990 0.78176 + 122 3.57782 0.75891 + 123 3.60700 0.73560 + 124 3.63864 0.71096 + 125 3.67080 0.68664 + 126 3.70578 0.66087 + 127 3.74135 0.63548 + 128 3.78024 0.60853 + 129 3.81305 0.58659 + 130 3.84291 0.56703 + 131 3.87496 0.54654 + 132 3.90742 0.52634 + 133 3.94235 0.50515 + 134 3.98016 0.48287 + 135 4.01863 0.46090 + 136 4.06037 0.43775 + 137 4.10290 0.41497 + 138 4.14926 0.39094 + 139 4.19651 0.36736 + 140 4.24820 0.34242 + 141 4.30526 0.31597 + 142 4.36343 0.29003 + 143 4.42748 0.26245 + 144 4.49859 0.23300 + 145 4.57124 0.20412 + 146 4.64486 0.17609 + 147 4.72008 0.14922 + 148 4.72976 0.14613 + 149 4.93065 0.07968 diff --git a/secop_psi/calcurves/X68433.340 b/secop_psi/calcurves/X68433.340 new file mode 100644 index 0000000..01782ae --- /dev/null +++ b/secop_psi/calcurves/X68433.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU +Serial Number: X68433 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.2 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.87444 2.51884 + 2 1.88118 2.51188 + 3 1.88908 2.50379 + 4 1.89648 2.49624 + 5 1.90405 2.48855 + 6 1.91178 2.48073 + 7 1.91969 2.47276 + 8 1.92776 2.46464 + 9 1.93602 2.45637 + 10 1.94447 2.44793 + 11 1.95311 2.43933 + 12 1.96195 2.43056 + 13 1.97100 2.42160 + 14 1.98026 2.41246 + 15 1.98974 2.40312 + 16 1.99857 2.39445 + 17 2.00758 2.38561 + 18 2.01680 2.37658 + 19 2.02622 2.36736 + 20 2.03586 2.35793 + 21 2.04573 2.34830 + 22 2.05582 2.33846 + 23 2.06616 2.32838 + 24 2.07675 2.31806 + 25 2.08760 2.30750 + 26 2.09872 2.29667 + 27 2.11012 2.28556 + 28 2.12182 2.27416 + 29 2.13383 2.26245 + 30 2.14615 2.25042 + 31 2.15754 2.23930 + 32 2.16921 2.22789 + 33 2.18117 2.21617 + 34 2.19345 2.20412 + 35 2.20607 2.19173 + 36 2.21901 2.17898 + 37 2.23233 2.16584 + 38 2.24603 2.15229 + 39 2.26014 2.13830 + 40 2.27467 2.12385 + 41 2.28800 2.11059 + 42 2.30168 2.09691 + 43 2.31578 2.08279 + 44 2.33030 2.06819 + 45 2.34528 2.05308 + 46 2.36076 2.03743 + 47 2.37676 2.02119 + 48 2.39333 2.00432 + 49 2.40618 1.99123 + 50 2.41714 1.98000 + 51 2.42838 1.96848 + 52 2.43990 1.95665 + 53 2.45171 1.94448 + 54 2.46383 1.93197 + 55 2.47629 1.91908 + 56 2.48911 1.90580 + 57 2.50229 1.89209 + 58 2.51589 1.87795 + 59 2.52708 1.86629 + 60 2.53853 1.85431 + 61 2.55030 1.84198 + 62 2.56239 1.82930 + 63 2.57483 1.81624 + 64 2.58762 1.80277 + 65 2.60080 1.78888 + 66 2.61507 1.77379 + 67 2.62913 1.75891 + 68 2.64365 1.74351 + 69 2.65715 1.72916 + 70 2.67108 1.71433 + 71 2.68548 1.69897 + 72 2.70037 1.68305 + 73 2.71580 1.66652 + 74 2.73180 1.64933 + 75 2.74842 1.63144 + 76 2.76377 1.61490 + 77 2.78068 1.59660 + 78 2.79724 1.57864 + 79 2.81447 1.55991 + 80 2.83128 1.54158 + 81 2.84879 1.52244 + 82 2.86703 1.50243 + 83 2.88484 1.48287 + 84 2.90340 1.46240 + 85 2.92285 1.44091 + 86 2.94178 1.41996 + 87 2.96162 1.39794 + 88 2.98087 1.37658 + 89 3.00107 1.35411 + 90 3.02239 1.33041 + 91 3.04303 1.30750 + 92 3.05883 1.29003 + 93 3.07213 1.27531 + 94 3.08592 1.26007 + 95 3.10026 1.24428 + 96 3.11402 1.22917 + 97 3.12830 1.21352 + 98 3.14320 1.19728 + 99 3.15874 1.18041 + 100 3.17362 1.16435 + 101 3.18915 1.14768 + 102 3.20541 1.13033 + 103 3.22090 1.11394 + 104 3.23714 1.09691 + 105 3.25417 1.07918 + 106 3.27211 1.06070 + 107 3.28913 1.04336 + 108 3.30702 1.02531 + 109 3.32591 1.00647 + 110 3.34592 0.98677 + 111 3.36477 0.96848 + 112 3.38469 0.94939 + 113 3.40586 0.92942 + 114 3.42840 0.90849 + 115 3.45253 0.88649 + 116 3.47515 0.86629 + 117 3.49928 0.84510 + 118 3.52517 0.82282 + 119 3.55309 0.79934 + 120 3.58425 0.77379 + 121 3.61241 0.75128 + 122 3.64280 0.72754 + 123 3.67584 0.70243 + 124 3.70948 0.67761 + 125 3.74613 0.65128 + 126 3.78349 0.62531 + 127 3.81479 0.60423 + 128 3.84319 0.58546 + 129 3.87359 0.56585 + 130 3.90625 0.54531 + 131 3.93933 0.52504 + 132 3.97495 0.50379 + 133 4.01352 0.48144 + 134 4.05280 0.45939 + 135 4.09255 0.43775 + 136 4.13571 0.41497 + 137 4.18289 0.39094 + 138 4.23091 0.36736 + 139 4.28349 0.34242 + 140 4.34150 0.31597 + 141 4.40064 0.29003 + 142 4.46576 0.26245 + 143 4.53814 0.23300 + 144 4.61212 0.20412 + 145 4.68702 0.17609 + 146 4.76360 0.14922 + 147 4.77354 0.14613 + 148 4.98261 0.07880 diff --git a/secop_psi/calcurves/X70197.340 b/secop_psi/calcurves/X70197.340 new file mode 100644 index 0000000..a7bc666 --- /dev/null +++ b/secop_psi/calcurves/X70197.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-unknown +Serial Number: X70197 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.84449 2.51858 + 2 1.85075 2.51188 + 3 1.85838 2.50379 + 4 1.86552 2.49624 + 5 1.87283 2.48855 + 6 1.88029 2.48073 + 7 1.88791 2.47276 + 8 1.89570 2.46464 + 9 1.90367 2.45637 + 10 1.91181 2.44793 + 11 1.92013 2.43933 + 12 1.92864 2.43056 + 13 1.93735 2.42160 + 14 1.94626 2.41246 + 15 1.95537 2.40312 + 16 1.96386 2.39445 + 17 1.97253 2.38561 + 18 1.98138 2.37658 + 19 1.99044 2.36736 + 20 1.99971 2.35793 + 21 2.00919 2.34830 + 22 2.01889 2.33846 + 23 2.02883 2.32838 + 24 2.03901 2.31806 + 25 2.04944 2.30750 + 26 2.06012 2.29667 + 27 2.07108 2.28556 + 28 2.08233 2.27416 + 29 2.09386 2.26245 + 30 2.10452 2.25164 + 31 2.11542 2.24055 + 32 2.12659 2.22917 + 33 2.13805 2.21748 + 34 2.14980 2.20548 + 35 2.16187 2.19312 + 36 2.17425 2.18041 + 37 2.18699 2.16732 + 38 2.20007 2.15381 + 39 2.21354 2.13988 + 40 2.22585 2.12710 + 41 2.23849 2.11394 + 42 2.25149 2.10037 + 43 2.26485 2.08636 + 44 2.27863 2.07188 + 45 2.29283 2.05690 + 46 2.30747 2.04139 + 47 2.32261 2.02531 + 48 2.33629 2.01072 + 49 2.34633 2.00000 + 50 2.35659 1.98900 + 51 2.36708 1.97772 + 52 2.37783 1.96614 + 53 2.38884 1.95424 + 54 2.40014 1.94201 + 55 2.41174 1.92942 + 56 2.42366 1.91645 + 57 2.43591 1.90309 + 58 2.44851 1.88930 + 59 2.45887 1.87795 + 60 2.46948 1.86629 + 61 2.48036 1.85431 + 62 2.49154 1.84198 + 63 2.50301 1.82930 + 64 2.51480 1.81624 + 65 2.52694 1.80277 + 66 2.53943 1.78888 + 67 2.55297 1.77379 + 68 2.56628 1.75891 + 69 2.58005 1.74351 + 70 2.59284 1.72916 + 71 2.60604 1.71433 + 72 2.61967 1.69897 + 73 2.63376 1.68305 + 74 2.64837 1.66652 + 75 2.66350 1.64933 + 76 2.67745 1.63347 + 77 2.69188 1.61700 + 78 2.70779 1.59879 + 79 2.72335 1.58092 + 80 2.73955 1.56229 + 81 2.75534 1.54407 + 82 2.77177 1.52504 + 83 2.78890 1.50515 + 84 2.80559 1.48572 + 85 2.82301 1.46538 + 86 2.84123 1.44404 + 87 2.85896 1.42325 + 88 2.87753 1.40140 + 89 2.89553 1.38021 + 90 2.91441 1.35793 + 91 2.93430 1.33445 + 92 2.95356 1.31175 + 93 2.96827 1.29447 + 94 2.98064 1.27989 + 95 2.99345 1.26482 + 96 3.00676 1.24920 + 97 3.02060 1.23300 + 98 3.03389 1.21748 + 99 3.04772 1.20140 + 100 3.06214 1.18469 + 101 3.07593 1.16879 + 102 3.09031 1.15229 + 103 3.10536 1.13513 + 104 3.12113 1.11727 + 105 3.13618 1.10037 + 106 3.15194 1.08279 + 107 3.16851 1.06446 + 108 3.18422 1.04727 + 109 3.20070 1.02938 + 110 3.21809 1.01072 + 111 3.23648 0.99123 + 112 3.25377 0.97313 + 113 3.27203 0.95424 + 114 3.29138 0.93450 + 115 3.31197 0.91381 + 116 3.33396 0.89209 + 117 3.35453 0.87216 + 118 3.37643 0.85126 + 119 3.39991 0.82930 + 120 3.42515 0.80618 + 121 3.45243 0.78176 + 122 3.47858 0.75891 + 123 3.50590 0.73560 + 124 3.53550 0.71096 + 125 3.56555 0.68664 + 126 3.59822 0.66087 + 127 3.63142 0.63548 + 128 3.66768 0.60853 + 129 3.69824 0.58659 + 130 3.72604 0.56703 + 131 3.75587 0.54654 + 132 3.78606 0.52634 + 133 3.81853 0.50515 + 134 3.85367 0.48287 + 135 3.88940 0.46090 + 136 3.92816 0.43775 + 137 3.96764 0.41497 + 138 4.01065 0.39094 + 139 4.05445 0.36736 + 140 4.10234 0.34242 + 141 4.15515 0.31597 + 142 4.20897 0.29003 + 143 4.26820 0.26245 + 144 4.33398 0.23300 + 145 4.40119 0.20412 + 146 4.46925 0.17609 + 147 4.53863 0.14922 + 148 4.54756 0.14613 + 149 4.73296 0.07968 diff --git a/secop_psi/calcurves/X70198.340 b/secop_psi/calcurves/X70198.340 new file mode 100644 index 0000000..ba70d25 --- /dev/null +++ b/secop_psi/calcurves/X70198.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X70198 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-29 + +No. Units Temperature (K) + + 1 1.84052 2.51858 + 2 1.84676 2.51188 + 3 1.85438 2.50379 + 4 1.86152 2.49624 + 5 1.86881 2.48855 + 6 1.87625 2.48073 + 7 1.88386 2.47276 + 8 1.89163 2.46464 + 9 1.89958 2.45637 + 10 1.90770 2.44793 + 11 1.91600 2.43933 + 12 1.92448 2.43056 + 13 1.93316 2.42160 + 14 1.94204 2.41246 + 15 1.95112 2.40312 + 16 1.95957 2.39445 + 17 1.96821 2.38561 + 18 1.97702 2.37658 + 19 1.98605 2.36736 + 20 1.99528 2.35793 + 21 2.00472 2.34830 + 22 2.01438 2.33846 + 23 2.02427 2.32838 + 24 2.03441 2.31806 + 25 2.04480 2.30750 + 26 2.05544 2.29667 + 27 2.06636 2.28556 + 28 2.07756 2.27416 + 29 2.08905 2.26245 + 30 2.09967 2.25164 + 31 2.11054 2.24055 + 32 2.12167 2.22917 + 33 2.13310 2.21748 + 34 2.14481 2.20548 + 35 2.15684 2.19312 + 36 2.16919 2.18041 + 37 2.18188 2.16732 + 38 2.19493 2.15381 + 39 2.20836 2.13988 + 40 2.22064 2.12710 + 41 2.23324 2.11394 + 42 2.24621 2.10037 + 43 2.25954 2.08636 + 44 2.27327 2.07188 + 45 2.28743 2.05690 + 46 2.30203 2.04139 + 47 2.31712 2.02531 + 48 2.33077 2.01072 + 49 2.34078 2.00000 + 50 2.35100 1.98900 + 51 2.36146 1.97772 + 52 2.37217 1.96614 + 53 2.38315 1.95424 + 54 2.39441 1.94201 + 55 2.40597 1.92942 + 56 2.41784 1.91645 + 57 2.43005 1.90309 + 58 2.44261 1.88930 + 59 2.45293 1.87795 + 60 2.46350 1.86629 + 61 2.47434 1.85431 + 62 2.48547 1.84198 + 63 2.49690 1.82930 + 64 2.50865 1.81624 + 65 2.52074 1.80277 + 66 2.53319 1.78888 + 67 2.54667 1.77379 + 68 2.55993 1.75891 + 69 2.57364 1.74351 + 70 2.58639 1.72916 + 71 2.59954 1.71433 + 72 2.61312 1.69897 + 73 2.62715 1.68305 + 74 2.64170 1.66652 + 75 2.65678 1.64933 + 76 2.67068 1.63347 + 77 2.68506 1.61700 + 78 2.70091 1.59879 + 79 2.71642 1.58092 + 80 2.73256 1.56229 + 81 2.74830 1.54407 + 82 2.76467 1.52504 + 83 2.78174 1.50515 + 84 2.79838 1.48572 + 85 2.81574 1.46538 + 86 2.83390 1.44404 + 87 2.85157 1.42325 + 88 2.87007 1.40140 + 89 2.88801 1.38021 + 90 2.90683 1.35793 + 91 2.92665 1.33445 + 92 2.94584 1.31175 + 93 2.96050 1.29447 + 94 2.97283 1.27989 + 95 2.98559 1.26482 + 96 2.99886 1.24920 + 97 3.01264 1.23300 + 98 3.02588 1.21748 + 99 3.03965 1.20140 + 100 3.05401 1.18469 + 101 3.06775 1.16879 + 102 3.08208 1.15229 + 103 3.09706 1.13513 + 104 3.11277 1.11727 + 105 3.12775 1.10037 + 106 3.14345 1.08279 + 107 3.15994 1.06446 + 108 3.17558 1.04727 + 109 3.19199 1.02938 + 110 3.20929 1.01072 + 111 3.22759 0.99123 + 112 3.24481 0.97313 + 113 3.26297 0.95424 + 114 3.28223 0.93450 + 115 3.30271 0.91381 + 116 3.32459 0.89209 + 117 3.34506 0.87216 + 118 3.36684 0.85126 + 119 3.39019 0.82930 + 120 3.41530 0.80618 + 121 3.44242 0.78176 + 122 3.46843 0.75891 + 123 3.49559 0.73560 + 124 3.52503 0.71096 + 125 3.55490 0.68664 + 126 3.58738 0.66087 + 127 3.62038 0.63548 + 128 3.65642 0.60853 + 129 3.68680 0.58659 + 130 3.71443 0.56703 + 131 3.74407 0.54654 + 132 3.77408 0.52634 + 133 3.80635 0.50515 + 134 3.84127 0.48287 + 135 3.87678 0.46090 + 136 3.91529 0.43775 + 137 3.95451 0.41497 + 138 3.99723 0.39094 + 139 4.04073 0.36736 + 140 4.08826 0.34242 + 141 4.14066 0.31597 + 142 4.19404 0.29003 + 143 4.25278 0.26245 + 144 4.31805 0.23300 + 145 4.38481 0.20412 + 146 4.45243 0.17609 + 147 4.52102 0.14922 + 148 4.52981 0.14613 + 149 4.71235 0.07968 diff --git a/secop_psi/calcurves/X70199.340 b/secop_psi/calcurves/X70199.340 new file mode 100644 index 0000000..49e586c --- /dev/null +++ b/secop_psi/calcurves/X70199.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X70199 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-27 + +No. Units Temperature (K) + + 1 1.86202 2.51858 + 2 1.86841 2.51188 + 3 1.87622 2.50379 + 4 1.88352 2.49624 + 5 1.89100 2.48855 + 6 1.89861 2.48073 + 7 1.90640 2.47276 + 8 1.91436 2.46464 + 9 1.92250 2.45637 + 10 1.93081 2.44793 + 11 1.93931 2.43933 + 12 1.94800 2.43056 + 13 1.95689 2.42160 + 14 1.96600 2.41246 + 15 1.97530 2.40312 + 16 1.98397 2.39445 + 17 1.99282 2.38561 + 18 2.00186 2.37658 + 19 2.01112 2.36736 + 20 2.02059 2.35793 + 21 2.03027 2.34830 + 22 2.04018 2.33846 + 23 2.05033 2.32838 + 24 2.06073 2.31806 + 25 2.07138 2.30750 + 26 2.08230 2.29667 + 27 2.09350 2.28556 + 28 2.10499 2.27416 + 29 2.11677 2.26245 + 30 2.12766 2.25164 + 31 2.13880 2.24055 + 32 2.15022 2.22917 + 33 2.16194 2.21748 + 34 2.17395 2.20548 + 35 2.18629 2.19312 + 36 2.19894 2.18041 + 37 2.21196 2.16732 + 38 2.22534 2.15381 + 39 2.23911 2.13988 + 40 2.25170 2.12710 + 41 2.26463 2.11394 + 42 2.27792 2.10037 + 43 2.29160 2.08636 + 44 2.30569 2.07188 + 45 2.32022 2.05690 + 46 2.33520 2.04139 + 47 2.35069 2.02531 + 48 2.36470 2.01072 + 49 2.37498 2.00000 + 50 2.38548 1.98900 + 51 2.39623 1.97772 + 52 2.40723 1.96614 + 53 2.41851 1.95424 + 54 2.43008 1.94201 + 55 2.44197 1.92942 + 56 2.45418 1.91645 + 57 2.46673 1.90309 + 58 2.47964 1.88930 + 59 2.49026 1.87795 + 60 2.50114 1.86629 + 61 2.51229 1.85431 + 62 2.52375 1.84198 + 63 2.53551 1.82930 + 64 2.54760 1.81624 + 65 2.56005 1.80277 + 66 2.57287 1.78888 + 67 2.58676 1.77379 + 68 2.60041 1.75891 + 69 2.61454 1.74351 + 70 2.62767 1.72916 + 71 2.64122 1.71433 + 72 2.65522 1.69897 + 73 2.66968 1.68305 + 74 2.68468 1.66652 + 75 2.70023 1.64933 + 76 2.71456 1.63347 + 77 2.72939 1.61700 + 78 2.74575 1.59879 + 79 2.76175 1.58092 + 80 2.77840 1.56229 + 81 2.79465 1.54407 + 82 2.81155 1.52504 + 83 2.82918 1.50515 + 84 2.84637 1.48572 + 85 2.86430 1.46538 + 86 2.88307 1.44404 + 87 2.90134 1.42325 + 88 2.92048 1.40140 + 89 2.93904 1.38021 + 90 2.95852 1.35793 + 91 2.97904 1.33445 + 92 2.99891 1.31175 + 93 3.01410 1.29447 + 94 3.02688 1.27989 + 95 3.04011 1.26482 + 96 3.05387 1.24920 + 97 3.06817 1.23300 + 98 3.08190 1.21748 + 99 3.09620 1.20140 + 100 3.11111 1.18469 + 101 3.12538 1.16879 + 102 3.14026 1.15229 + 103 3.15583 1.13513 + 104 3.17216 1.11727 + 105 3.18774 1.10037 + 106 3.20406 1.08279 + 107 3.22123 1.06446 + 108 3.23750 1.04727 + 109 3.25459 1.02938 + 110 3.27262 1.01072 + 111 3.29169 0.99123 + 112 3.30964 0.97313 + 113 3.32858 0.95424 + 114 3.34867 0.93450 + 115 3.37005 0.91381 + 116 3.39289 0.89209 + 117 3.41428 0.87216 + 118 3.43705 0.85126 + 119 3.46146 0.82930 + 120 3.48773 0.80618 + 121 3.51613 0.78176 + 122 3.54337 0.75891 + 123 3.57184 0.73560 + 124 3.60270 0.71096 + 125 3.63405 0.68664 + 126 3.66815 0.66087 + 127 3.70282 0.63548 + 128 3.74071 0.60853 + 129 3.77267 0.58659 + 130 3.80175 0.56703 + 131 3.83296 0.54654 + 132 3.86457 0.52634 + 133 3.89858 0.50515 + 134 3.93539 0.48287 + 135 3.97285 0.46090 + 136 4.01349 0.43775 + 137 4.05491 0.41497 + 138 4.10004 0.39094 + 139 4.14604 0.36736 + 140 4.19635 0.34242 + 141 4.25187 0.31597 + 142 4.30847 0.29003 + 143 4.37078 0.26245 + 144 4.44001 0.23300 + 145 4.51075 0.20412 + 146 4.58236 0.17609 + 147 4.65537 0.14922 + 148 4.66478 0.14613 + 149 4.85994 0.07968 diff --git a/secop_psi/calcurves/X70261.340 b/secop_psi/calcurves/X70261.340 new file mode 100644 index 0000000..3aef1e2 --- /dev/null +++ b/secop_psi/calcurves/X70261.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X70261 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-29 + +No. Units Temperature (K) + + 1 1.81170 2.51858 + 2 1.81772 2.51188 + 3 1.82507 2.50379 + 4 1.83194 2.49624 + 5 1.83898 2.48855 + 6 1.84614 2.48073 + 7 1.85347 2.47276 + 8 1.86097 2.46464 + 9 1.86863 2.45637 + 10 1.87646 2.44793 + 11 1.88446 2.43933 + 12 1.89265 2.43056 + 13 1.90103 2.42160 + 14 1.90961 2.41246 + 15 1.91838 2.40312 + 16 1.92655 2.39445 + 17 1.93490 2.38561 + 18 1.94342 2.37658 + 19 1.95214 2.36736 + 20 1.96107 2.35793 + 21 1.97020 2.34830 + 22 1.97954 2.33846 + 23 1.98910 2.32838 + 24 1.99890 2.31806 + 25 2.00894 2.30750 + 26 2.01922 2.29667 + 27 2.02976 2.28556 + 28 2.04058 2.27416 + 29 2.05167 2.26245 + 30 2.06192 2.25164 + 31 2.07240 2.24055 + 32 2.08313 2.22917 + 33 2.09415 2.21748 + 34 2.10543 2.20548 + 35 2.11703 2.19312 + 36 2.12892 2.18041 + 37 2.14114 2.16732 + 38 2.15370 2.15381 + 39 2.16663 2.13988 + 40 2.17845 2.12710 + 41 2.19058 2.11394 + 42 2.20305 2.10037 + 43 2.21587 2.08636 + 44 2.22908 2.07188 + 45 2.24270 2.05690 + 46 2.25674 2.04139 + 47 2.27125 2.02531 + 48 2.28437 2.01072 + 49 2.29399 2.00000 + 50 2.30382 1.98900 + 51 2.31387 1.97772 + 52 2.32416 1.96614 + 53 2.33471 1.95424 + 54 2.34552 1.94201 + 55 2.35663 1.92942 + 56 2.36803 1.91645 + 57 2.37975 1.90309 + 58 2.39180 1.88930 + 59 2.40171 1.87795 + 60 2.41185 1.86629 + 61 2.42224 1.85431 + 62 2.43292 1.84198 + 63 2.44387 1.82930 + 64 2.45514 1.81624 + 65 2.46672 1.80277 + 66 2.47865 1.78888 + 67 2.49157 1.77379 + 68 2.50426 1.75891 + 69 2.51739 1.74351 + 70 2.52959 1.72916 + 71 2.54216 1.71433 + 72 2.55515 1.69897 + 73 2.56857 1.68305 + 74 2.58248 1.66652 + 75 2.59689 1.64933 + 76 2.61017 1.63347 + 77 2.62390 1.61700 + 78 2.63903 1.59879 + 79 2.65383 1.58092 + 80 2.66923 1.56229 + 81 2.68424 1.54407 + 82 2.69985 1.52504 + 83 2.71612 1.50515 + 84 2.73197 1.48572 + 85 2.74850 1.46538 + 86 2.76578 1.44404 + 87 2.78259 1.42325 + 88 2.80018 1.40140 + 89 2.81724 1.38021 + 90 2.83511 1.35793 + 91 2.85392 1.33445 + 92 2.87212 1.31175 + 93 2.88602 1.29447 + 94 2.89771 1.27989 + 95 2.90980 1.26482 + 96 2.92236 1.24920 + 97 2.93540 1.23300 + 98 2.94793 1.21748 + 99 2.96096 1.20140 + 100 2.97453 1.18469 + 101 2.98751 1.16879 + 102 3.00104 1.15229 + 103 3.01518 1.13513 + 104 3.03000 1.11727 + 105 3.04413 1.10037 + 106 3.05892 1.08279 + 107 3.07447 1.06446 + 108 3.08919 1.04727 + 109 3.10464 1.02938 + 110 3.12093 1.01072 + 111 3.13814 0.99123 + 112 3.15433 0.97313 + 113 3.17140 0.95424 + 114 3.18949 0.93450 + 115 3.20873 0.91381 + 116 3.22926 0.89209 + 117 3.24847 0.87216 + 118 3.26890 0.85126 + 119 3.29078 0.82930 + 120 3.31429 0.80618 + 121 3.33968 0.78176 + 122 3.36401 0.75891 + 123 3.38939 0.73560 + 124 3.41687 0.71096 + 125 3.44474 0.68664 + 126 3.47501 0.66087 + 127 3.50572 0.63548 + 128 3.53923 0.60853 + 129 3.56745 0.58659 + 130 3.59309 0.56703 + 131 3.62058 0.54654 + 132 3.64839 0.52634 + 133 3.67829 0.50515 + 134 3.71060 0.48287 + 135 3.74346 0.46090 + 136 3.77907 0.43775 + 137 3.81532 0.41497 + 138 3.85477 0.39094 + 139 3.89493 0.36736 + 140 3.93878 0.34242 + 141 3.98708 0.31597 + 142 4.03622 0.29003 + 143 4.09025 0.26245 + 144 4.15022 0.23300 + 145 4.21147 0.20412 + 146 4.27344 0.17609 + 147 4.33651 0.14922 + 148 4.34464 0.14613 + 149 4.51352 0.07968 diff --git a/secop_psi/calcurves/X70262.340 b/secop_psi/calcurves/X70262.340 new file mode 100644 index 0000000..81ab9ca --- /dev/null +++ b/secop_psi/calcurves/X70262.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X70262 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-27 + +No. Units Temperature (K) + + 1 1.82541 2.51858 + 2 1.83151 2.51188 + 3 1.83896 2.50379 + 4 1.84593 2.49624 + 5 1.85307 2.48855 + 6 1.86034 2.48073 + 7 1.86779 2.47276 + 8 1.87540 2.46464 + 9 1.88318 2.45637 + 10 1.89113 2.44793 + 11 1.89926 2.43933 + 12 1.90757 2.43056 + 13 1.91608 2.42160 + 14 1.92479 2.41246 + 15 1.93370 2.40312 + 16 1.94199 2.39445 + 17 1.95046 2.38561 + 18 1.95911 2.37658 + 19 1.96797 2.36736 + 20 1.97703 2.35793 + 21 1.98629 2.34830 + 22 1.99577 2.33846 + 23 2.00548 2.32838 + 24 2.01542 2.31806 + 25 2.02561 2.30750 + 26 2.03605 2.29667 + 27 2.04676 2.28556 + 28 2.05774 2.27416 + 29 2.06900 2.26245 + 30 2.07941 2.25164 + 31 2.09006 2.24055 + 32 2.10097 2.22917 + 33 2.11216 2.21748 + 34 2.12363 2.20548 + 35 2.13542 2.19312 + 36 2.14751 2.18041 + 37 2.15994 2.16732 + 38 2.17271 2.15381 + 39 2.18586 2.13988 + 40 2.19787 2.12710 + 41 2.21021 2.11394 + 42 2.22290 2.10037 + 43 2.23594 2.08636 + 44 2.24938 2.07188 + 45 2.26323 2.05690 + 46 2.27752 2.04139 + 47 2.29228 2.02531 + 48 2.30563 2.01072 + 49 2.31542 2.00000 + 50 2.32542 1.98900 + 51 2.33565 1.97772 + 52 2.34613 1.96614 + 53 2.35686 1.95424 + 54 2.36787 1.94201 + 55 2.37917 1.92942 + 56 2.39078 1.91645 + 57 2.40271 1.90309 + 58 2.41498 1.88930 + 59 2.42507 1.87795 + 60 2.43540 1.86629 + 61 2.44599 1.85431 + 62 2.45686 1.84198 + 63 2.46802 1.82930 + 64 2.47950 1.81624 + 65 2.49130 1.80277 + 66 2.50346 1.78888 + 67 2.51662 1.77379 + 68 2.52957 1.75891 + 69 2.54295 1.74351 + 70 2.55539 1.72916 + 71 2.56821 1.71433 + 72 2.58146 1.69897 + 73 2.59515 1.68305 + 74 2.60934 1.66652 + 75 2.62404 1.64933 + 76 2.63758 1.63347 + 77 2.65160 1.61700 + 78 2.66704 1.59879 + 79 2.68215 1.58092 + 80 2.69787 1.56229 + 81 2.71320 1.54407 + 82 2.72913 1.52504 + 83 2.74575 1.50515 + 84 2.76194 1.48572 + 85 2.77882 1.46538 + 86 2.79648 1.44404 + 87 2.81366 1.42325 + 88 2.83165 1.40140 + 89 2.84908 1.38021 + 90 2.86736 1.35793 + 91 2.88660 1.33445 + 92 2.90523 1.31175 + 93 2.91945 1.29447 + 94 2.93141 1.27989 + 95 2.94379 1.26482 + 96 2.95665 1.24920 + 97 2.97001 1.23300 + 98 2.98285 1.21748 + 99 2.99619 1.20140 + 100 3.01010 1.18469 + 101 3.02341 1.16879 + 102 3.03728 1.15229 + 103 3.05179 1.13513 + 104 3.06699 1.11727 + 105 3.08149 1.10037 + 106 3.09667 1.08279 + 107 3.11263 1.06446 + 108 3.12775 1.04727 + 109 3.14362 1.02938 + 110 3.16035 1.01072 + 111 3.17803 0.99123 + 112 3.19467 0.97313 + 113 3.21222 0.95424 + 114 3.23082 0.93450 + 115 3.25060 0.91381 + 116 3.27172 0.89209 + 117 3.29148 0.87216 + 118 3.31250 0.85126 + 119 3.33502 0.82930 + 120 3.35924 0.80618 + 121 3.38539 0.78176 + 122 3.41045 0.75891 + 123 3.43662 0.73560 + 124 3.46495 0.71096 + 125 3.49370 0.68664 + 126 3.52494 0.66087 + 127 3.55665 0.63548 + 128 3.59127 0.60853 + 129 3.62044 0.58659 + 130 3.64696 0.56703 + 131 3.67539 0.54654 + 132 3.70416 0.52634 + 133 3.73510 0.50515 + 134 3.76855 0.48287 + 135 3.80257 0.46090 + 136 3.83944 0.43775 + 137 3.87698 0.41497 + 138 3.91786 0.39094 + 139 3.95947 0.36736 + 140 4.00492 0.34242 + 141 4.05502 0.31597 + 142 4.10603 0.29003 + 143 4.16215 0.26245 + 144 4.22446 0.23300 + 145 4.28813 0.20412 + 146 4.35255 0.17609 + 147 4.41819 0.14922 + 148 4.42665 0.14613 + 149 4.60239 0.07968 diff --git a/secop_psi/calcurves/X70263.340 b/secop_psi/calcurves/X70263.340 new file mode 100644 index 0000000..c2595eb --- /dev/null +++ b/secop_psi/calcurves/X70263.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-unknown +Serial Number: X70263 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.87044 2.51858 + 2 1.87691 2.51188 + 3 1.88480 2.50379 + 4 1.89218 2.49624 + 5 1.89972 2.48855 + 6 1.90741 2.48073 + 7 1.91526 2.47276 + 8 1.92329 2.46464 + 9 1.93149 2.45637 + 10 1.93988 2.44793 + 11 1.94845 2.43933 + 12 1.95721 2.43056 + 13 1.96618 2.42160 + 14 1.97536 2.41246 + 15 1.98475 2.40312 + 16 1.99349 2.39445 + 17 2.00243 2.38561 + 18 2.01156 2.37658 + 19 2.02090 2.36736 + 20 2.03047 2.35793 + 21 2.04024 2.34830 + 22 2.05026 2.33846 + 23 2.06051 2.32838 + 24 2.07102 2.31806 + 25 2.08178 2.30750 + 26 2.09281 2.29667 + 27 2.10413 2.28556 + 28 2.11574 2.27416 + 29 2.12764 2.26245 + 30 2.13864 2.25164 + 31 2.14990 2.24055 + 32 2.16143 2.22917 + 33 2.17326 2.21748 + 34 2.18539 2.20548 + 35 2.19785 2.19312 + 36 2.21063 2.18041 + 37 2.22377 2.16732 + 38 2.23728 2.15381 + 39 2.25118 2.13988 + 40 2.26389 2.12710 + 41 2.27694 2.11394 + 42 2.29036 2.10037 + 43 2.30416 2.08636 + 44 2.31839 2.07188 + 45 2.33306 2.05690 + 46 2.34819 2.04139 + 47 2.36384 2.02531 + 48 2.37799 2.01072 + 49 2.38837 2.00000 + 50 2.39897 1.98900 + 51 2.40984 1.97772 + 52 2.42095 1.96614 + 53 2.43235 1.95424 + 54 2.44404 1.94201 + 55 2.45605 1.92942 + 56 2.46839 1.91645 + 57 2.48108 1.90309 + 58 2.49414 1.88930 + 59 2.50487 1.87795 + 60 2.51587 1.86629 + 61 2.52715 1.85431 + 62 2.53873 1.84198 + 63 2.55062 1.82930 + 64 2.56285 1.81624 + 65 2.57544 1.80277 + 66 2.58840 1.78888 + 67 2.60245 1.77379 + 68 2.61626 1.75891 + 69 2.63055 1.74351 + 70 2.64383 1.72916 + 71 2.65752 1.71433 + 72 2.67168 1.69897 + 73 2.68631 1.68305 + 74 2.70148 1.66652 + 75 2.71721 1.64933 + 76 2.73170 1.63347 + 77 2.74670 1.61700 + 78 2.76324 1.59879 + 79 2.77943 1.58092 + 80 2.79627 1.56229 + 81 2.81271 1.54407 + 82 2.82981 1.52504 + 83 2.84765 1.50515 + 84 2.86504 1.48572 + 85 2.88319 1.46538 + 86 2.90218 1.44404 + 87 2.92068 1.42325 + 88 2.94005 1.40140 + 89 2.95885 1.38021 + 90 2.97857 1.35793 + 91 2.99936 1.33445 + 92 3.01949 1.31175 + 93 3.03488 1.29447 + 94 3.04783 1.27989 + 95 3.06124 1.26482 + 96 3.07518 1.24920 + 97 3.08968 1.23300 + 98 3.10360 1.21748 + 99 3.11810 1.20140 + 100 3.13321 1.18469 + 101 3.14768 1.16879 + 102 3.16277 1.15229 + 103 3.17857 1.13513 + 104 3.19512 1.11727 + 105 3.21093 1.10037 + 106 3.22749 1.08279 + 107 3.24490 1.06446 + 108 3.26141 1.04727 + 109 3.27875 1.02938 + 110 3.29704 1.01072 + 111 3.31640 0.99123 + 112 3.33461 0.97313 + 113 3.35384 0.95424 + 114 3.37423 0.93450 + 115 3.39594 0.91381 + 116 3.41914 0.89209 + 117 3.44086 0.87216 + 118 3.46398 0.85126 + 119 3.48879 0.82930 + 120 3.51548 0.80618 + 121 3.54434 0.78176 + 122 3.57204 0.75891 + 123 3.60099 0.73560 + 124 3.63238 0.71096 + 125 3.66428 0.68664 + 126 3.69898 0.66087 + 127 3.73427 0.63548 + 128 3.77285 0.60853 + 129 3.80539 0.58659 + 130 3.83500 0.56703 + 131 3.86679 0.54654 + 132 3.89899 0.52634 + 133 3.93363 0.50515 + 134 3.97114 0.48287 + 135 4.00931 0.46090 + 136 4.05072 0.43775 + 137 4.09294 0.41497 + 138 4.13897 0.39094 + 139 4.18588 0.36736 + 140 4.23722 0.34242 + 141 4.29388 0.31597 + 142 4.35165 0.29003 + 143 4.41525 0.26245 + 144 4.48589 0.23300 + 145 4.55810 0.20412 + 146 4.63127 0.17609 + 147 4.70595 0.14922 + 148 4.71556 0.14613 + 149 4.91502 0.07968 diff --git a/secop_psi/calcurves/X70266.340 b/secop_psi/calcurves/X70266.340 new file mode 100644 index 0000000..f560eab --- /dev/null +++ b/secop_psi/calcurves/X70266.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-unknown +Serial Number: X70266 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.88779 2.51858 + 2 1.89440 2.51188 + 3 1.90247 2.50379 + 4 1.91001 2.49624 + 5 1.91771 2.48855 + 6 1.92556 2.48073 + 7 1.93358 2.47276 + 8 1.94177 2.46464 + 9 1.95014 2.45637 + 10 1.95870 2.44793 + 11 1.96745 2.43933 + 12 1.97640 2.43056 + 13 1.98555 2.42160 + 14 1.99494 2.41246 + 15 2.00453 2.40312 + 16 2.01346 2.39445 + 17 2.02260 2.38561 + 18 2.03193 2.37658 + 19 2.04148 2.36736 + 20 2.05125 2.35793 + 21 2.06125 2.34830 + 22 2.07149 2.33846 + 23 2.08197 2.32838 + 24 2.09271 2.31806 + 25 2.10372 2.30750 + 26 2.11500 2.29667 + 27 2.12657 2.28556 + 28 2.13844 2.27416 + 29 2.15061 2.26245 + 30 2.16186 2.25164 + 31 2.17336 2.24055 + 32 2.18515 2.22917 + 33 2.19726 2.21748 + 34 2.20966 2.20548 + 35 2.22240 2.19312 + 36 2.23547 2.18041 + 37 2.24892 2.16732 + 38 2.26274 2.15381 + 39 2.27697 2.13988 + 40 2.28998 2.12710 + 41 2.30334 2.11394 + 42 2.31709 2.10037 + 43 2.33124 2.08636 + 44 2.34582 2.07188 + 45 2.36085 2.05690 + 46 2.37637 2.04139 + 47 2.39241 2.02531 + 48 2.40692 2.01072 + 49 2.41758 2.00000 + 50 2.42846 1.98900 + 51 2.43960 1.97772 + 52 2.45101 1.96614 + 53 2.46271 1.95424 + 54 2.47471 1.94201 + 55 2.48704 1.92942 + 56 2.49971 1.91645 + 57 2.51274 1.90309 + 58 2.52614 1.88930 + 59 2.53717 1.87795 + 60 2.54846 1.86629 + 61 2.56004 1.85431 + 62 2.57194 1.84198 + 63 2.58415 1.82930 + 64 2.59671 1.81624 + 65 2.60965 1.80277 + 66 2.62297 1.78888 + 67 2.63740 1.77379 + 68 2.65159 1.75891 + 69 2.66628 1.74351 + 70 2.67993 1.72916 + 71 2.69401 1.71433 + 72 2.70857 1.69897 + 73 2.72362 1.68305 + 74 2.73923 1.66652 + 75 2.75541 1.64933 + 76 2.77033 1.63347 + 77 2.78578 1.61700 + 78 2.80281 1.59879 + 79 2.81949 1.58092 + 80 2.83685 1.56229 + 81 2.85380 1.54407 + 82 2.87144 1.52504 + 83 2.88984 1.50515 + 84 2.90780 1.48572 + 85 2.92654 1.46538 + 86 2.94616 1.44404 + 87 2.96528 1.42325 + 88 2.98531 1.40140 + 89 3.00475 1.38021 + 90 3.02516 1.35793 + 91 3.04667 1.33445 + 92 3.06752 1.31175 + 93 3.08346 1.29447 + 94 3.09687 1.27989 + 95 3.11077 1.26482 + 96 3.12521 1.24920 + 97 3.14024 1.23300 + 98 3.15467 1.21748 + 99 3.16971 1.20140 + 100 3.18538 1.18469 + 101 3.20039 1.16879 + 102 3.21605 1.15229 + 103 3.23245 1.13513 + 104 3.24964 1.11727 + 105 3.26605 1.10037 + 106 3.28325 1.08279 + 107 3.30134 1.06446 + 108 3.31850 1.04727 + 109 3.33653 1.02938 + 110 3.35555 1.01072 + 111 3.37568 0.99123 + 112 3.39463 0.97313 + 113 3.41464 0.95424 + 114 3.43588 0.93450 + 115 3.45849 0.91381 + 116 3.48266 0.89209 + 117 3.50530 0.87216 + 118 3.52942 0.85126 + 119 3.55529 0.82930 + 120 3.58315 0.80618 + 121 3.61329 0.78176 + 122 3.64221 0.75891 + 123 3.67246 0.73560 + 124 3.70528 0.71096 + 125 3.73863 0.68664 + 126 3.77493 0.66087 + 127 3.81185 0.63548 + 128 3.85224 0.60853 + 129 3.88633 0.58659 + 130 3.91736 0.56703 + 131 3.95068 0.54654 + 132 3.98444 0.52634 + 133 4.02080 0.50515 + 134 4.06018 0.48287 + 135 4.10027 0.46090 + 136 4.14380 0.43775 + 137 4.18819 0.41497 + 138 4.23660 0.39094 + 139 4.28594 0.36736 + 140 4.33993 0.34242 + 141 4.39951 0.31597 + 142 4.46027 0.29003 + 143 4.52718 0.26245 + 144 4.60158 0.23300 + 145 4.67768 0.20412 + 146 4.75479 0.17609 + 147 4.83345 0.14922 + 148 4.84360 0.14613 + 149 5.05438 0.07968 diff --git a/secop_psi/calcurves/X70278.340 b/secop_psi/calcurves/X70278.340 new file mode 100644 index 0000000..d3ac2ce --- /dev/null +++ b/secop_psi/calcurves/X70278.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X70278 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2012-02-27 + +No. Units Temperature (K) + + 1 1.88002 2.51858 + 2 1.88651 2.51188 + 3 1.89442 2.50379 + 4 1.90184 2.49624 + 5 1.90941 2.48855 + 6 1.91714 2.48073 + 7 1.92505 2.47276 + 8 1.93313 2.46464 + 9 1.94139 2.45637 + 10 1.94983 2.44793 + 11 1.95846 2.43933 + 12 1.96729 2.43056 + 13 1.97633 2.42160 + 14 1.98558 2.41246 + 15 1.99504 2.40312 + 16 2.00384 2.39445 + 17 2.01285 2.38561 + 18 2.02204 2.37658 + 19 2.03145 2.36736 + 20 2.04108 2.35793 + 21 2.05093 2.34830 + 22 2.06102 2.33846 + 23 2.07134 2.32838 + 24 2.08193 2.31806 + 25 2.09277 2.30750 + 26 2.10389 2.29667 + 27 2.11529 2.28556 + 28 2.12699 2.27416 + 29 2.13899 2.26245 + 30 2.15009 2.25164 + 31 2.16144 2.24055 + 32 2.17307 2.22917 + 33 2.18501 2.21748 + 34 2.19725 2.20548 + 35 2.20983 2.19312 + 36 2.22273 2.18041 + 37 2.23601 2.16732 + 38 2.24965 2.15381 + 39 2.26369 2.13988 + 40 2.27653 2.12710 + 41 2.28972 2.11394 + 42 2.30328 2.10037 + 43 2.31723 2.08636 + 44 2.33161 2.07188 + 45 2.34644 2.05690 + 46 2.36173 2.04139 + 47 2.37755 2.02531 + 48 2.39185 2.01072 + 49 2.40234 2.00000 + 50 2.41306 1.98900 + 51 2.42404 1.97772 + 52 2.43527 1.96614 + 53 2.44679 1.95424 + 54 2.45861 1.94201 + 55 2.47075 1.92942 + 56 2.48322 1.91645 + 57 2.49604 1.90309 + 58 2.50924 1.88930 + 59 2.52009 1.87795 + 60 2.53120 1.86629 + 61 2.54260 1.85431 + 62 2.55431 1.84198 + 63 2.56633 1.82930 + 64 2.57870 1.81624 + 65 2.59142 1.80277 + 66 2.60453 1.78888 + 67 2.61873 1.77379 + 68 2.63270 1.75891 + 69 2.64715 1.74351 + 70 2.66059 1.72916 + 71 2.67444 1.71433 + 72 2.68877 1.69897 + 73 2.70357 1.68305 + 74 2.71893 1.66652 + 75 2.73485 1.64933 + 76 2.74952 1.63347 + 77 2.76471 1.61700 + 78 2.78145 1.59879 + 79 2.79785 1.58092 + 80 2.81491 1.56229 + 81 2.83156 1.54407 + 82 2.84889 1.52504 + 83 2.86696 1.50515 + 84 2.88459 1.48572 + 85 2.90298 1.46538 + 86 2.92224 1.44404 + 87 2.94099 1.42325 + 88 2.96064 1.40140 + 89 2.97970 1.38021 + 90 2.99971 1.35793 + 91 3.02079 1.33445 + 92 3.04122 1.31175 + 93 3.05684 1.29447 + 94 3.06998 1.27989 + 95 3.08359 1.26482 + 96 3.09774 1.24920 + 97 3.11245 1.23300 + 98 3.12659 1.21748 + 99 3.14131 1.20140 + 100 3.15667 1.18469 + 101 3.17136 1.16879 + 102 3.18669 1.15229 + 103 3.20275 1.13513 + 104 3.21957 1.11727 + 105 3.23564 1.10037 + 106 3.25247 1.08279 + 107 3.27018 1.06446 + 108 3.28698 1.04727 + 109 3.30461 1.02938 + 110 3.32322 1.01072 + 111 3.34292 0.99123 + 112 3.36145 0.97313 + 113 3.38102 0.95424 + 114 3.40179 0.93450 + 115 3.42389 0.91381 + 116 3.44751 0.89209 + 117 3.46964 0.87216 + 118 3.49319 0.85126 + 119 3.51846 0.82930 + 120 3.54566 0.80618 + 121 3.57507 0.78176 + 122 3.60329 0.75891 + 123 3.63280 0.73560 + 124 3.66480 0.71096 + 125 3.69733 0.68664 + 126 3.73272 0.66087 + 127 3.76872 0.63548 + 128 3.80809 0.60853 + 129 3.84131 0.58659 + 130 3.87156 0.56703 + 131 3.90403 0.54654 + 132 3.93693 0.52634 + 133 3.97235 0.50515 + 134 4.01071 0.48287 + 135 4.04975 0.46090 + 136 4.09213 0.43775 + 137 4.13533 0.41497 + 138 4.18243 0.39094 + 139 4.23044 0.36736 + 140 4.28298 0.34242 + 141 4.34098 0.31597 + 142 4.40015 0.29003 + 143 4.46533 0.26245 + 144 4.53774 0.23300 + 145 4.61164 0.20412 + 146 4.68622 0.17609 + 147 4.76199 0.14922 + 148 4.77174 0.14613 + 149 4.97425 0.07968 diff --git a/secop_psi/calcurves/X70279.340 b/secop_psi/calcurves/X70279.340 new file mode 100644 index 0000000..031ef71 --- /dev/null +++ b/secop_psi/calcurves/X70279.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-unknown +Serial Number: X70279 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 + +No. Units Temperature (K) + + 1 1.87689 2.51858 + 2 1.88340 2.51188 + 3 1.89134 2.50379 + 4 1.89877 2.49624 + 5 1.90636 2.48855 + 6 1.91409 2.48073 + 7 1.92201 2.47276 + 8 1.93009 2.46464 + 9 1.93835 2.45637 + 10 1.94680 2.44793 + 11 1.95544 2.43933 + 12 1.96427 2.43056 + 13 1.97332 2.42160 + 14 1.98258 2.41246 + 15 1.99205 2.40312 + 16 2.00088 2.39445 + 17 2.00990 2.38561 + 18 2.01912 2.37658 + 19 2.02855 2.36736 + 20 2.03821 2.35793 + 21 2.04809 2.34830 + 22 2.05820 2.33846 + 23 2.06856 2.32838 + 24 2.07918 2.31806 + 25 2.09006 2.30750 + 26 2.10121 2.29667 + 27 2.11265 2.28556 + 28 2.12438 2.27416 + 29 2.13642 2.26245 + 30 2.14755 2.25164 + 31 2.15894 2.24055 + 32 2.17060 2.22917 + 33 2.18258 2.21748 + 34 2.19485 2.20548 + 35 2.20747 2.19312 + 36 2.22041 2.18041 + 37 2.23372 2.16732 + 38 2.24741 2.15381 + 39 2.26150 2.13988 + 40 2.27438 2.12710 + 41 2.28762 2.11394 + 42 2.30123 2.10037 + 43 2.31524 2.08636 + 44 2.32968 2.07188 + 45 2.34458 2.05690 + 46 2.35994 2.04139 + 47 2.37584 2.02531 + 48 2.39021 2.01072 + 49 2.40077 2.00000 + 50 2.41155 1.98900 + 51 2.42259 1.97772 + 52 2.43389 1.96614 + 53 2.44548 1.95424 + 54 2.45737 1.94201 + 55 2.46959 1.92942 + 56 2.48214 1.91645 + 57 2.49504 1.90309 + 58 2.50833 1.88930 + 59 2.51925 1.87795 + 60 2.53044 1.86629 + 61 2.54192 1.85431 + 62 2.55370 1.84198 + 63 2.56581 1.82930 + 64 2.57826 1.81624 + 65 2.59107 1.80277 + 66 2.60427 1.78888 + 67 2.61857 1.77379 + 68 2.63264 1.75891 + 69 2.64719 1.74351 + 70 2.66072 1.72916 + 71 2.67468 1.71433 + 72 2.68910 1.69897 + 73 2.70402 1.68305 + 74 2.71948 1.66652 + 75 2.73552 1.64933 + 76 2.75030 1.63347 + 77 2.76560 1.61700 + 78 2.78247 1.59879 + 79 2.79899 1.58092 + 80 2.81619 1.56229 + 81 2.83297 1.54407 + 82 2.85044 1.52504 + 83 2.86866 1.50515 + 84 2.88644 1.48572 + 85 2.90499 1.46538 + 86 2.92442 1.44404 + 87 2.94333 1.42325 + 88 2.96316 1.40140 + 89 2.98239 1.38021 + 90 3.00258 1.35793 + 91 3.02386 1.33445 + 92 3.04448 1.31175 + 93 3.06025 1.29447 + 94 3.07351 1.27989 + 95 3.08725 1.26482 + 96 3.10153 1.24920 + 97 3.11639 1.23300 + 98 3.13066 1.21748 + 99 3.14552 1.20140 + 100 3.16102 1.18469 + 101 3.17585 1.16879 + 102 3.19133 1.15229 + 103 3.20753 1.13513 + 104 3.22451 1.11727 + 105 3.24072 1.10037 + 106 3.25771 1.08279 + 107 3.27558 1.06446 + 108 3.29253 1.04727 + 109 3.31033 1.02938 + 110 3.32911 1.01072 + 111 3.34898 0.99123 + 112 3.36769 0.97313 + 113 3.38743 0.95424 + 114 3.40839 0.93450 + 115 3.43069 0.91381 + 116 3.45453 0.89209 + 117 3.47686 0.87216 + 118 3.50063 0.85126 + 119 3.52614 0.82930 + 120 3.55359 0.80618 + 121 3.58328 0.78176 + 122 3.61177 0.75891 + 123 3.64155 0.73560 + 124 3.67386 0.71096 + 125 3.70668 0.68664 + 126 3.74240 0.66087 + 127 3.77872 0.63548 + 128 3.81843 0.60853 + 129 3.85193 0.58659 + 130 3.88242 0.56703 + 131 3.91516 0.54654 + 132 3.94832 0.52634 + 133 3.98401 0.50515 + 134 4.02265 0.48287 + 135 4.06199 0.46090 + 136 4.10468 0.43775 + 137 4.14821 0.41497 + 138 4.19566 0.39094 + 139 4.24403 0.36736 + 140 4.29695 0.34242 + 141 4.35535 0.31597 + 142 4.41489 0.29003 + 143 4.48045 0.26245 + 144 4.55329 0.23300 + 145 4.62777 0.20412 + 146 4.70320 0.17609 + 147 4.78005 0.14922 + 148 4.78993 0.14613 + 149 4.99512 0.07968 diff --git a/secop_psi/calcurves/X71737.340 b/secop_psi/calcurves/X71737.340 new file mode 100644 index 0000000..22c5523 --- /dev/null +++ b/secop_psi/calcurves/X71737.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X71737 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.82964 325.000 + 2 1.83664 319.000 + 3 1.84318 313.500 + 4 1.84985 308.000 + 5 1.85667 302.500 + 6 1.86364 297.000 + 7 1.87075 291.500 + 8 1.87802 286.000 + 9 1.88546 280.500 + 10 1.89306 275.000 + 11 1.90083 269.500 + 12 1.90878 264.000 + 13 1.91691 258.500 + 14 1.92523 253.000 + 15 1.93375 247.500 + 16 1.94248 242.000 + 17 1.95141 236.500 + 18 1.95973 231.500 + 19 1.96823 226.500 + 20 1.97693 221.500 + 21 1.98582 216.500 + 22 1.99493 211.500 + 23 2.00425 206.500 + 24 2.01380 201.500 + 25 2.02358 196.500 + 26 2.03361 191.500 + 27 2.04389 186.500 + 28 2.05444 181.500 + 29 2.06527 176.500 + 30 2.07527 172.000 + 31 2.08551 167.500 + 32 2.09601 163.000 + 33 2.10678 158.500 + 34 2.11784 154.000 + 35 2.12919 149.500 + 36 2.14085 145.000 + 37 2.15284 140.500 + 38 2.16517 136.000 + 39 2.17788 131.500 + 40 2.18950 127.500 + 41 2.20144 123.500 + 42 2.21373 119.500 + 43 2.22639 115.500 + 44 2.23943 111.500 + 45 2.25290 107.500 + 46 2.26682 103.500 + 47 2.27760 100.500 + 48 2.28679 98.000 + 49 2.29619 95.500 + 50 2.30581 93.000 + 51 2.31566 90.500 + 52 2.32576 88.000 + 53 2.33612 85.500 + 54 2.34675 83.000 + 55 2.35767 80.500 + 56 2.36890 78.000 + 57 2.38047 75.500 + 58 2.38999 73.500 + 59 2.39973 71.500 + 60 2.40974 69.500 + 61 2.42001 67.500 + 62 2.43057 65.500 + 63 2.44143 63.500 + 64 2.45262 61.500 + 65 2.46473 59.400 + 66 2.47664 57.400 + 67 2.48894 55.400 + 68 2.50038 53.600 + 69 2.51217 51.800 + 70 2.52436 50.000 + 71 2.53696 48.200 + 72 2.55000 46.400 + 73 2.56352 44.600 + 74 2.57599 43.000 + 75 2.58887 41.400 + 76 2.60308 39.700 + 77 2.61698 38.100 + 78 2.63143 36.500 + 79 2.64552 35.000 + 80 2.66017 33.500 + 81 2.67545 32.000 + 82 2.69033 30.600 + 83 2.70585 29.200 + 84 2.72207 27.800 + 85 2.73786 26.500 + 86 2.75437 25.200 + 87 2.77037 24.000 + 88 2.78713 22.800 + 89 2.80479 21.600 + 90 2.82185 20.500 + 91 2.83488 19.700 + 92 2.84583 19.050 + 93 2.85717 18.400 + 94 2.86893 17.750 + 95 2.88115 17.100 + 96 2.89289 16.500 + 97 2.90508 15.900 + 98 2.91779 15.300 + 99 2.92994 14.750 +100 2.94259 14.200 +101 2.95580 13.650 +102 2.96835 13.150 +103 2.98146 12.650 +104 2.99520 12.150 +105 3.00962 11.650 +106 3.02480 11.150 +107 3.03920 10.700 +108 3.05433 10.250 +109 3.07032 9.800 +110 3.08534 9.400 +111 3.10117 9.000 +112 3.11792 8.600 +113 3.13572 8.200 +114 3.15470 7.800 +115 3.17242 7.450 +116 3.19125 7.100 +117 3.21140 6.750 +118 3.23303 6.400 +119 3.25636 6.050 +120 3.27869 5.740 +121 3.30196 5.440 +122 3.32712 5.140 +123 3.35263 4.860 +124 3.38031 4.580 +125 3.40838 4.320 +126 3.43900 4.060 +127 3.46475 3.860 +128 3.48815 3.690 +129 3.51322 3.520 +130 3.53859 3.360 +131 3.56582 3.200 +132 3.59525 3.040 +133 3.62513 2.890 +134 3.65750 2.740 +135 3.69041 2.600 +136 3.72620 2.460 +137 3.76256 2.330 +138 3.80225 2.200 +139 3.84594 2.070 +140 3.89041 1.950 +141 3.93935 1.830 +142 3.99376 1.710 +143 4.04944 1.600 +144 4.10586 1.500 +145 4.16326 1.410 +146 4.17064 1.400 diff --git a/secop_psi/calcurves/X71738.340 b/secop_psi/calcurves/X71738.340 new file mode 100644 index 0000000..ab6306f --- /dev/null +++ b/secop_psi/calcurves/X71738.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X71738 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.81191 325.000 + 2 1.81862 319.000 + 3 1.82490 313.500 + 4 1.83132 308.000 + 5 1.83787 302.500 + 6 1.84457 297.000 + 7 1.85141 291.500 + 8 1.85841 286.000 + 9 1.86555 280.500 + 10 1.87286 275.000 + 11 1.88034 269.500 + 12 1.88799 264.000 + 13 1.89581 258.500 + 14 1.90382 253.000 + 15 1.91202 247.500 + 16 1.92042 242.000 + 17 1.92824 237.000 + 18 1.93623 232.000 + 19 1.94440 227.000 + 20 1.95275 222.000 + 21 1.96131 217.000 + 22 1.97007 212.000 + 23 1.97903 207.000 + 24 1.98822 202.000 + 25 1.99763 197.000 + 26 2.00728 192.000 + 27 2.01718 187.000 + 28 2.02733 182.000 + 29 2.03775 177.000 + 30 2.04738 172.500 + 31 2.05723 168.000 + 32 2.06734 163.500 + 33 2.07770 159.000 + 34 2.08833 154.500 + 35 2.09925 150.000 + 36 2.11047 145.500 + 37 2.12199 141.000 + 38 2.13385 136.500 + 39 2.14606 132.000 + 40 2.15724 128.000 + 41 2.16871 124.000 + 42 2.18052 120.000 + 43 2.19268 116.000 + 44 2.20522 112.000 + 45 2.21816 108.000 + 46 2.23152 104.000 + 47 2.24361 100.500 + 48 2.25248 98.000 + 49 2.26154 95.500 + 50 2.27082 93.000 + 51 2.28032 90.500 + 52 2.29006 88.000 + 53 2.30005 85.500 + 54 2.31030 83.000 + 55 2.32084 80.500 + 56 2.33167 78.000 + 57 2.34283 75.500 + 58 2.35202 73.500 + 59 2.36142 71.500 + 60 2.37106 69.500 + 61 2.38097 67.500 + 62 2.39115 65.500 + 63 2.40161 63.500 + 64 2.41239 61.500 + 65 2.42406 59.400 + 66 2.43554 57.400 + 67 2.44739 55.400 + 68 2.45841 53.600 + 69 2.46977 51.800 + 70 2.48151 50.000 + 71 2.49364 48.200 + 72 2.50620 46.400 + 73 2.51923 44.600 + 74 2.53123 43.000 + 75 2.54363 41.400 + 76 2.55732 39.700 + 77 2.57069 38.100 + 78 2.58460 36.500 + 79 2.59816 35.000 + 80 2.61226 33.500 + 81 2.62696 32.000 + 82 2.64127 30.600 + 83 2.65618 29.200 + 84 2.67178 27.800 + 85 2.68694 26.500 + 86 2.70280 25.200 + 87 2.71817 24.000 + 88 2.73427 22.800 + 89 2.75121 21.600 + 90 2.76759 20.500 + 91 2.78009 19.700 + 92 2.79059 19.050 + 93 2.80147 18.400 + 94 2.81275 17.750 + 95 2.82447 17.100 + 96 2.83571 16.500 + 97 2.84739 15.900 + 98 2.85956 15.300 + 99 2.87118 14.750 +100 2.88328 14.200 +101 2.89592 13.650 +102 2.90915 13.100 +103 2.92177 12.600 +104 2.93496 12.100 +105 2.94881 11.600 +106 2.96339 11.100 +107 2.97723 10.650 +108 2.99176 10.200 +109 3.00712 9.750 +110 3.02155 9.350 +111 3.03675 8.950 +112 3.05285 8.550 +113 3.06994 8.150 +114 3.08816 7.750 +115 3.10519 7.400 +116 3.12328 7.050 +117 3.14263 6.700 +118 3.16341 6.350 +119 3.18715 5.980 +120 3.20941 5.660 +121 3.23196 5.360 +122 3.25633 5.060 +123 3.28106 4.780 +124 3.30792 4.500 +125 3.33519 4.240 +126 3.36028 4.020 +127 3.38235 3.840 +128 3.40461 3.670 +129 3.42846 3.500 +130 3.45259 3.340 +131 3.47849 3.180 +132 3.50647 3.020 +133 3.53489 2.870 +134 3.56566 2.720 +135 3.59693 2.580 +136 3.63094 2.440 +137 3.66548 2.310 +138 3.70318 2.180 +139 3.74467 2.050 +140 3.78691 1.930 +141 3.83342 1.810 +142 3.88073 1.700 +143 3.93308 1.590 +144 3.98636 1.490 +145 4.04041 1.400 +146 5.0 0.3 diff --git a/secop_psi/calcurves/X71741.340 b/secop_psi/calcurves/X71741.340 new file mode 100644 index 0000000..90c0b64 --- /dev/null +++ b/secop_psi/calcurves/X71741.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X71741 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.82721 325.000 + 2 1.83416 319.000 + 3 1.84067 313.500 + 4 1.84732 308.000 + 5 1.85411 302.500 + 6 1.86104 297.000 + 7 1.86812 291.500 + 8 1.87536 286.000 + 9 1.88276 280.500 + 10 1.89032 275.000 + 11 1.89806 269.500 + 12 1.90597 264.000 + 13 1.91406 258.500 + 14 1.92234 253.000 + 15 1.93082 247.500 + 16 1.93950 242.000 + 17 1.94758 237.000 + 18 1.95583 232.000 + 19 1.96427 227.000 + 20 1.97291 222.000 + 21 1.98174 217.000 + 22 1.99079 212.000 + 23 2.00004 207.000 + 24 2.00953 202.000 + 25 2.01924 197.000 + 26 2.02920 192.000 + 27 2.03941 187.000 + 28 2.04989 182.000 + 29 2.06064 177.000 + 30 2.07056 172.500 + 31 2.08073 168.000 + 32 2.09115 163.500 + 33 2.10183 159.000 + 34 2.11280 154.500 + 35 2.12406 150.000 + 36 2.13562 145.500 + 37 2.14751 141.000 + 38 2.15974 136.500 + 39 2.17233 132.000 + 40 2.18386 128.000 + 41 2.19569 124.000 + 42 2.20788 120.000 + 43 2.22042 116.000 + 44 2.23335 112.000 + 45 2.24669 108.000 + 46 2.26048 104.000 + 47 2.27294 100.500 + 48 2.28209 98.000 + 49 2.29143 95.500 + 50 2.30100 93.000 + 51 2.31079 90.500 + 52 2.32084 88.000 + 53 2.33114 85.500 + 54 2.34171 83.000 + 55 2.35258 80.500 + 56 2.36375 78.000 + 57 2.37526 75.500 + 58 2.38473 73.500 + 59 2.39443 71.500 + 60 2.40438 69.500 + 61 2.41460 67.500 + 62 2.42510 65.500 + 63 2.43590 63.500 + 64 2.44702 61.500 + 65 2.45906 59.400 + 66 2.47090 57.400 + 67 2.48313 55.400 + 68 2.49450 53.600 + 69 2.50623 51.800 + 70 2.51834 50.000 + 71 2.53086 48.200 + 72 2.54383 46.400 + 73 2.55727 44.600 + 74 2.56966 43.000 + 75 2.58246 41.400 + 76 2.59659 39.700 + 77 2.61040 38.100 + 78 2.62476 36.500 + 79 2.63877 35.000 + 80 2.65333 33.500 + 81 2.66852 32.000 + 82 2.68331 30.600 + 83 2.69872 29.200 + 84 2.71485 27.800 + 85 2.73053 26.500 + 86 2.74694 25.200 + 87 2.76283 24.000 + 88 2.77949 22.800 + 89 2.79703 21.600 + 90 2.81398 20.500 + 91 2.82693 19.700 + 92 2.83781 19.050 + 93 2.84907 18.400 + 94 2.86075 17.750 + 95 2.87289 17.100 + 96 2.88455 16.500 + 97 2.89665 15.900 + 98 2.90926 15.300 + 99 2.92132 14.750 +100 2.93387 14.200 +101 2.94698 13.650 +102 2.95945 13.150 +103 2.97246 12.650 +104 2.98610 12.150 +105 3.00042 11.650 +106 3.01549 11.150 +107 3.02978 10.700 +108 3.04481 10.250 +109 3.06068 9.800 +110 3.07559 9.400 +111 3.09129 9.000 +112 3.10793 8.600 +113 3.12559 8.200 +114 3.14441 7.800 +115 3.16199 7.450 +116 3.18068 7.100 +117 3.20066 6.750 +118 3.22210 6.400 +119 3.24523 6.050 +120 3.26736 5.740 +121 3.29042 5.440 +122 3.31536 5.140 +123 3.34063 4.860 +124 3.36806 4.580 +125 3.39586 4.320 +126 3.42619 4.060 +127 3.45169 3.860 +128 3.47487 3.690 +129 3.49970 3.520 +130 3.52482 3.360 +131 3.55178 3.200 +132 3.58092 3.040 +133 3.61051 2.890 +134 3.64255 2.740 +135 3.67511 2.600 +136 3.71051 2.460 +137 3.74648 2.330 +138 3.78572 2.200 +139 3.82891 2.070 +140 3.87287 1.950 +141 3.92126 1.830 +142 3.97505 1.710 +143 4.03012 1.600 +144 4.08591 1.500 +145 4.14254 1.410 +146 4.14980 1.400 diff --git a/secop_psi/calcurves/X71777.340 b/secop_psi/calcurves/X71777.340 new file mode 100644 index 0000000..d51c2fb --- /dev/null +++ b/secop_psi/calcurves/X71777.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X71777 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.84179 325.000 + 2 1.84887 319.000 + 3 1.85549 313.500 + 4 1.86225 308.000 + 5 1.86915 302.500 + 6 1.87620 297.000 + 7 1.88341 291.500 + 8 1.89077 286.000 + 9 1.89829 280.500 + 10 1.90598 275.000 + 11 1.91385 269.500 + 12 1.92189 264.000 + 13 1.93012 258.500 + 14 1.93855 253.000 + 15 1.94717 247.500 + 16 1.95600 242.000 + 17 1.96422 237.000 + 18 1.97262 232.000 + 19 1.98120 227.000 + 20 1.98999 222.000 + 21 1.99898 217.000 + 22 2.00818 212.000 + 23 2.01760 207.000 + 24 2.02725 202.000 + 25 2.03714 197.000 + 26 2.04727 192.000 + 27 2.05766 187.000 + 28 2.06832 182.000 + 29 2.07927 177.000 + 30 2.08937 172.500 + 31 2.09972 168.000 + 32 2.11033 163.500 + 33 2.12121 159.000 + 34 2.13238 154.500 + 35 2.14384 150.000 + 36 2.15562 145.500 + 37 2.16774 141.000 + 38 2.18020 136.500 + 39 2.19304 132.000 + 40 2.20478 128.000 + 41 2.21685 124.000 + 42 2.22927 120.000 + 43 2.24206 116.000 + 44 2.25524 112.000 + 45 2.26885 108.000 + 46 2.28291 104.000 + 47 2.29562 100.500 + 48 2.30495 98.000 + 49 2.31448 95.500 + 50 2.32424 93.000 + 51 2.33423 90.500 + 52 2.34448 88.000 + 53 2.35499 85.500 + 54 2.36579 83.000 + 55 2.37688 80.500 + 56 2.38829 78.000 + 57 2.40004 75.500 + 58 2.40971 73.500 + 59 2.41961 71.500 + 60 2.42977 69.500 + 61 2.44020 67.500 + 62 2.45093 65.500 + 63 2.46196 63.500 + 64 2.47332 61.500 + 65 2.48562 59.400 + 66 2.49772 57.400 + 67 2.51022 55.400 + 68 2.52185 53.600 + 69 2.53383 51.800 + 70 2.54621 50.000 + 71 2.55902 48.200 + 72 2.57227 46.400 + 73 2.58602 44.600 + 74 2.59869 43.000 + 75 2.61179 41.400 + 76 2.62624 39.700 + 77 2.64038 38.100 + 78 2.65508 36.500 + 79 2.66942 35.000 + 80 2.68433 33.500 + 81 2.69989 32.000 + 82 2.71504 30.600 + 83 2.73083 29.200 + 84 2.74737 27.800 + 85 2.76344 26.500 + 86 2.78027 25.200 + 87 2.79658 24.000 + 88 2.81367 22.800 + 89 2.83166 21.600 + 90 2.84907 20.500 + 91 2.86235 19.700 + 92 2.87352 19.050 + 93 2.88509 18.400 + 94 2.89709 17.750 + 95 2.90956 17.100 + 96 2.92153 16.500 + 97 2.93398 15.900 + 98 2.94695 15.300 + 99 2.95936 14.750 +100 2.97228 14.200 +101 2.98577 13.650 +102 2.99860 13.150 +103 3.01200 12.650 +104 3.02604 12.150 +105 3.04078 11.650 +106 3.05630 11.150 +107 3.07102 10.700 +108 3.08650 10.250 +109 3.10285 9.800 +110 3.11822 9.400 +111 3.13441 9.000 +112 3.15157 8.600 +113 3.16979 8.200 +114 3.18922 7.800 +115 3.20737 7.450 +116 3.22667 7.100 +117 3.24732 6.750 +118 3.26950 6.400 +119 3.29342 6.050 +120 3.31633 5.740 +121 3.34021 5.440 +122 3.36604 5.140 +123 3.39223 4.860 +124 3.42067 4.580 +125 3.44952 4.320 +126 3.48098 4.060 +127 3.50747 3.860 +128 3.53154 3.690 +129 3.55734 3.520 +130 3.58344 3.360 +131 3.61148 3.200 +132 3.64178 3.040 +133 3.67258 2.890 +134 3.70367 2.750 +135 3.73735 2.610 +136 3.77407 2.470 +137 3.81135 2.340 +138 3.85207 2.210 +139 3.89688 2.080 +140 3.94249 1.960 +141 3.99266 1.840 +142 4.04840 1.720 +143 4.10539 1.610 +144 4.16302 1.510 +145 4.22158 1.420 +146 4.23632 1.400 diff --git a/secop_psi/calcurves/X71811.340 b/secop_psi/calcurves/X71811.340 new file mode 100644 index 0000000..15e4287 --- /dev/null +++ b/secop_psi/calcurves/X71811.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X71811 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.87940 325.000 + 2 1.88697 319.000 + 3 1.89406 313.500 + 4 1.90130 308.000 + 5 1.90869 302.500 + 6 1.91625 297.000 + 7 1.92397 291.500 + 8 1.93186 286.000 + 9 1.93993 280.500 + 10 1.94819 275.000 + 11 1.95663 269.500 + 12 1.96527 264.000 + 13 1.97411 258.500 + 14 1.98317 253.000 + 15 1.99244 247.500 + 16 2.00107 242.500 + 17 2.00989 237.500 + 18 2.01891 232.500 + 19 2.02814 227.500 + 20 2.03758 222.500 + 21 2.04724 217.500 + 22 2.05714 212.500 + 23 2.06728 207.500 + 24 2.07767 202.500 + 25 2.08831 197.500 + 26 2.09923 192.500 + 27 2.11044 187.500 + 28 2.12194 182.500 + 29 2.13256 178.000 + 30 2.14343 173.500 + 31 2.15458 169.000 + 32 2.16601 164.500 + 33 2.17774 160.000 + 34 2.18979 155.500 + 35 2.20216 151.000 + 36 2.21488 146.500 + 37 2.22797 142.000 + 38 2.24144 137.500 + 39 2.25377 133.500 + 40 2.26643 129.500 + 41 2.27945 125.500 + 42 2.29285 121.500 + 43 2.30666 117.500 + 44 2.32090 113.500 + 45 2.33560 109.500 + 46 2.35080 105.500 + 47 2.36454 102.000 + 48 2.37464 99.500 + 49 2.38494 97.000 + 50 2.39549 94.500 + 51 2.40630 92.000 + 52 2.41739 89.500 + 53 2.42876 87.000 + 54 2.44044 84.500 + 55 2.45244 82.000 + 56 2.46479 79.500 + 57 2.47750 77.000 + 58 2.48796 75.000 + 59 2.49867 73.000 + 60 2.50966 71.000 + 61 2.52095 69.000 + 62 2.53254 67.000 + 63 2.54447 65.000 + 64 2.55674 63.000 + 65 2.56939 61.000 + 66 2.58243 59.000 + 67 2.59590 57.000 + 68 2.60842 55.200 + 69 2.62131 53.400 + 70 2.63463 51.600 + 71 2.64839 49.800 + 72 2.66263 48.000 + 73 2.67738 46.200 + 74 2.69269 44.400 + 75 2.70680 42.800 + 76 2.72140 41.200 + 77 2.73751 39.500 + 78 2.75328 37.900 + 79 2.76865 36.400 + 80 2.78461 34.900 + 81 2.80124 33.400 + 82 2.81741 32.000 + 83 2.83425 30.600 + 84 2.85183 29.200 + 85 2.86891 27.900 + 86 2.88674 26.600 + 87 2.90543 25.300 + 88 2.92354 24.100 + 89 2.94253 22.900 + 90 2.96254 21.700 + 91 2.98190 20.600 + 92 2.99762 19.750 + 93 3.01010 19.100 + 94 3.02301 18.450 + 95 3.03641 17.800 + 96 3.04926 17.200 + 97 3.06259 16.600 + 98 3.07646 16.000 + 99 3.09092 15.400 +100 3.10474 14.850 +101 3.11914 14.300 +102 3.13420 13.750 +103 3.14853 13.250 +104 3.16350 12.750 +105 3.17918 12.250 +106 3.19566 11.750 +107 3.21125 11.300 +108 3.22760 10.850 +109 3.24483 10.400 +110 3.26302 9.950 +111 3.28229 9.500 +112 3.30047 9.100 +113 3.31968 8.700 +114 3.34011 8.300 +115 3.36190 7.900 +116 3.38226 7.550 +117 3.40391 7.200 +118 3.42708 6.850 +119 3.45197 6.500 +120 3.47883 6.150 +121 3.50624 5.820 +122 3.53322 5.520 +123 3.56237 5.220 +124 3.59194 4.940 +125 3.62404 4.660 +126 3.65918 4.380 +127 3.69501 4.120 +128 3.72509 3.920 +129 3.75243 3.750 +130 3.78174 3.580 +131 3.81137 3.420 +132 3.84318 3.260 +133 3.87754 3.100 +134 3.91242 2.950 +135 3.95018 2.800 +136 3.98854 2.660 +137 4.03022 2.520 +138 4.07256 2.390 +139 4.11873 2.260 +140 4.16952 2.130 +141 4.22118 2.010 +142 4.27791 1.890 +143 4.34079 1.770 +144 4.40486 1.660 +145 4.47597 1.550 +146 4.54914 1.450 +147 4.59066 1.400 diff --git a/secop_psi/calcurves/X74254.340 b/secop_psi/calcurves/X74254.340 new file mode 100644 index 0000000..191c2be --- /dev/null +++ b/secop_psi/calcurves/X74254.340 @@ -0,0 +1,141 @@ +Sensor Model: CX-1070-SD-4L +Serial Number: X74254 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 129 + +No. Units Temperature (K) + + 1 1.92324 325.000 + 2 1.93156 319.000 + 3 1.93934 313.500 + 4 1.94729 308.000 + 5 1.95541 302.500 + 6 1.96371 297.000 + 7 1.97219 291.500 + 8 1.98086 286.000 + 9 1.98972 280.500 + 10 1.99879 275.000 + 11 2.00806 269.500 + 12 2.01754 264.000 + 13 2.02725 258.500 + 14 2.03719 253.000 + 15 2.04737 247.500 + 16 2.05685 242.500 + 17 2.06652 237.500 + 18 2.07643 232.500 + 19 2.08656 227.500 + 20 2.09692 222.500 + 21 2.10754 217.500 + 22 2.11840 212.500 + 23 2.12954 207.500 + 24 2.14095 202.500 + 25 2.15265 197.500 + 26 2.16465 192.500 + 27 2.17697 187.500 + 28 2.18962 182.500 + 29 2.20130 178.000 + 30 2.21326 173.500 + 31 2.22553 169.000 + 32 2.23812 164.500 + 33 2.25104 160.000 + 34 2.26431 155.500 + 35 2.27795 151.000 + 36 2.29198 146.500 + 37 2.30641 142.000 + 38 2.32127 137.500 + 39 2.33488 133.500 + 40 2.34885 129.500 + 41 2.36323 125.500 + 42 2.37804 121.500 + 43 2.39331 117.500 + 44 2.40907 113.500 + 45 2.42535 109.500 + 46 2.44007 106.000 + 47 2.45522 102.500 + 48 2.46861 99.500 + 49 2.48005 97.000 + 50 2.49176 94.500 + 51 2.50377 92.000 + 52 2.51607 89.500 + 53 2.52871 87.000 + 54 2.54168 84.500 + 55 2.55503 82.000 + 56 2.56875 79.500 + 57 2.58005 77.500 + 58 2.59160 75.500 + 59 2.60345 73.500 + 60 2.61561 71.500 + 61 2.62810 69.500 + 62 2.64093 67.500 + 63 2.65413 65.500 + 64 2.66772 63.500 + 65 2.68172 61.500 + 66 2.69690 59.400 + 67 2.71033 57.600 + 68 2.72416 55.800 + 69 2.73843 54.000 + 70 2.75316 52.200 + 71 2.76838 50.400 + 72 2.78414 48.600 + 73 2.80046 46.800 + 74 2.81550 45.200 + 75 2.83104 43.600 + 76 2.84714 42.000 + 77 2.86383 40.400 + 78 2.88117 38.800 + 79 2.89807 37.300 + 80 2.91563 35.800 + 81 2.93390 34.300 + 82 2.95168 32.900 + 83 2.97018 31.500 + 84 2.98951 30.100 + 85 3.00825 28.800 + 86 3.02782 27.500 + 87 3.04832 26.200 + 88 3.06817 25.000 + 89 3.08895 23.800 + 90 3.11083 22.600 + 91 3.13196 21.500 + 92 3.15421 20.400 + 93 3.17126 19.600 + 94 3.18562 18.950 + 95 3.20051 18.300 + 96 3.21599 17.650 + 97 3.23085 17.050 + 98 3.24628 16.450 + 99 3.26237 15.850 +100 3.27773 15.300 +101 3.29373 14.750 +102 3.31043 14.200 +103 3.32791 13.650 +104 3.34455 13.150 +105 3.36195 12.650 +106 3.38020 12.150 +107 3.39940 11.650 +108 3.41760 11.200 +109 3.43671 10.750 +110 3.45688 10.300 +111 3.47822 9.850 +112 3.49831 9.450 +113 3.51952 9.050 +114 3.54204 8.650 +115 3.56601 8.250 +116 3.59162 7.850 +117 3.61560 7.500 +118 3.64115 7.150 +119 3.66855 6.800 +120 3.69803 6.450 +121 3.72990 6.100 +122 3.76148 5.780 +123 3.79351 5.480 +124 3.82819 5.180 +125 3.86344 4.900 +126 3.90177 4.620 +127 3.94077 4.360 +128 3.98344 4.100 +129 4.00142 4.000 +130 4.35 2.5 +131 4.75 1.6 +132 5.3 1 diff --git a/secop_psi/calcurves/X75237.340 b/secop_psi/calcurves/X75237.340 new file mode 100644 index 0000000..c765cbb --- /dev/null +++ b/secop_psi/calcurves/X75237.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X75237 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 146 + +No. Units Temperature (K) + + 1 1.85143 325.000 + 2 1.85859 319.000 + 3 1.86529 313.500 + 4 1.87214 308.000 + 5 1.87914 302.500 + 6 1.88630 297.000 + 7 1.89361 291.500 + 8 1.90109 286.000 + 9 1.90874 280.500 + 10 1.91657 275.000 + 11 1.92458 269.500 + 12 1.93278 264.000 + 13 1.94117 258.500 + 14 1.94977 253.000 + 15 1.95777 248.000 + 16 1.96594 243.000 + 17 1.97430 238.000 + 18 1.98285 233.000 + 19 1.99160 228.000 + 20 2.00055 223.000 + 21 2.00971 218.000 + 22 2.01909 213.000 + 23 2.02870 208.000 + 24 2.03855 203.000 + 25 2.04864 198.000 + 26 2.05898 193.000 + 27 2.06959 188.000 + 28 2.08048 183.000 + 29 2.09165 178.000 + 30 2.10197 173.500 + 31 2.11254 169.000 + 32 2.12337 164.500 + 33 2.13448 160.000 + 34 2.14589 155.500 + 35 2.15759 151.000 + 36 2.16961 146.500 + 37 2.18197 142.000 + 38 2.19469 137.500 + 39 2.20777 133.000 + 40 2.21975 129.000 + 41 2.23204 125.000 + 42 2.24469 121.000 + 43 2.25770 117.000 + 44 2.27111 113.000 + 45 2.28494 109.000 + 46 2.29922 105.000 + 47 2.31398 101.000 + 48 2.32542 98.000 + 49 2.33516 95.500 + 50 2.34514 93.000 + 51 2.35535 90.500 + 52 2.36581 88.000 + 53 2.37654 85.500 + 54 2.38755 83.000 + 55 2.39886 80.500 + 56 2.41048 78.000 + 57 2.42245 75.500 + 58 2.43229 73.500 + 59 2.44235 71.500 + 60 2.45268 69.500 + 61 2.46327 67.500 + 62 2.47416 65.500 + 63 2.48534 63.500 + 64 2.49685 61.500 + 65 2.50930 59.400 + 66 2.52154 57.400 + 67 2.53417 55.400 + 68 2.54590 53.600 + 69 2.55798 51.800 + 70 2.57046 50.000 + 71 2.58335 48.200 + 72 2.59668 46.400 + 73 2.61049 44.600 + 74 2.62481 42.800 + 75 2.63802 41.200 + 76 2.65255 39.500 + 77 2.66676 37.900 + 78 2.68152 36.300 + 79 2.69590 34.800 + 80 2.71085 33.300 + 81 2.72641 31.800 + 82 2.74157 30.400 + 83 2.75735 29.000 + 84 2.77385 27.600 + 85 2.78989 26.300 + 86 2.80667 25.000 + 87 2.82292 23.800 + 88 2.83994 22.600 + 89 2.85787 21.400 + 90 2.87520 20.300 + 91 2.88844 19.500 + 92 2.89957 18.850 + 93 2.91110 18.200 + 94 2.92307 17.550 + 95 2.93454 16.950 + 96 2.94643 16.350 + 97 2.95882 15.750 + 98 2.97172 15.150 + 99 2.98406 14.600 +100 2.99692 14.050 +101 3.01036 13.500 +102 3.02315 13.000 +103 3.03653 12.500 +104 3.05055 12.000 +105 3.06529 11.500 +106 3.07925 11.050 +107 3.09390 10.600 +108 3.10935 10.150 +109 3.12568 9.700 +110 3.14104 9.300 +111 3.15724 8.900 +112 3.17443 8.500 +113 3.19270 8.100 +114 3.21221 7.700 +115 3.23047 7.350 +116 3.24991 7.000 +117 3.27073 6.650 +118 3.29313 6.300 +119 3.31808 5.940 +120 3.34057 5.640 +121 3.36480 5.340 +122 3.39108 5.040 +123 3.41777 4.760 +124 3.44679 4.480 +125 3.47630 4.220 +126 3.50097 4.020 +127 3.52332 3.850 +128 3.54720 3.680 +129 3.57280 3.510 +130 3.59869 3.350 +131 3.62651 3.190 +132 3.65658 3.030 +133 3.68713 2.880 +134 3.71799 2.740 +135 3.75142 2.600 +136 3.78788 2.460 +137 3.82491 2.330 +138 3.86536 2.200 +139 3.90988 2.070 +140 3.95517 1.950 +141 4.00495 1.830 +142 4.06018 1.710 +143 4.11654 1.600 +144 4.17348 1.500 +145 4.23148 1.410 +146 4.23898 1.400 diff --git a/secop_psi/calcurves/X75239.340 b/secop_psi/calcurves/X75239.340 new file mode 100644 index 0000000..40261e0 --- /dev/null +++ b/secop_psi/calcurves/X75239.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X75239 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 2.01896 325.000 + 2 2.02647 319.000 + 3 2.03349 313.500 + 4 2.04065 308.000 + 5 2.04796 302.500 + 6 2.05543 297.000 + 7 2.06305 291.500 + 8 2.07083 286.000 + 9 2.07879 280.500 + 10 2.08691 275.000 + 11 2.09522 269.500 + 12 2.10372 264.000 + 13 2.11240 258.500 + 14 2.12129 253.000 + 15 2.13039 247.500 + 16 2.13971 242.000 + 17 2.14925 236.500 + 18 2.15813 231.500 + 19 2.16720 226.500 + 20 2.17648 221.500 + 21 2.18598 216.500 + 22 2.19570 211.500 + 23 2.20565 206.500 + 24 2.21584 201.500 + 25 2.22629 196.500 + 26 2.23699 191.500 + 27 2.24797 186.500 + 28 2.25924 181.500 + 29 2.27080 176.500 + 30 2.28148 172.000 + 31 2.29242 167.500 + 32 2.30363 163.000 + 33 2.31514 158.500 + 34 2.32695 154.000 + 35 2.33908 149.500 + 36 2.35154 145.000 + 37 2.36437 140.500 + 38 2.37757 136.000 + 39 2.38964 132.000 + 40 2.40204 128.000 + 41 2.41480 124.000 + 42 2.42792 120.000 + 43 2.44145 116.000 + 44 2.45541 112.000 + 45 2.46981 108.000 + 46 2.48283 104.500 + 47 2.49624 101.000 + 48 2.50808 98.000 + 49 2.51820 95.500 + 50 2.52856 93.000 + 51 2.53917 90.500 + 52 2.55005 88.000 + 53 2.56123 85.500 + 54 2.57270 83.000 + 55 2.58451 80.500 + 56 2.59665 78.000 + 57 2.60664 76.000 + 58 2.61687 74.000 + 59 2.62736 72.000 + 60 2.63814 70.000 + 61 2.64920 68.000 + 62 2.66058 66.000 + 63 2.67228 64.000 + 64 2.68434 62.000 + 65 2.69676 60.000 + 66 2.70829 58.200 + 67 2.72016 56.400 + 68 2.73239 54.600 + 69 2.74501 52.800 + 70 2.75804 51.000 + 71 2.77153 49.200 + 72 2.78549 47.400 + 73 2.79996 45.600 + 74 2.81330 44.000 + 75 2.82710 42.400 + 76 2.84141 40.800 + 77 2.85626 39.200 + 78 2.87073 37.700 + 79 2.88574 36.200 + 80 2.90137 34.700 + 81 2.91765 33.200 + 82 2.93351 31.800 + 83 2.95003 30.400 + 84 2.96732 29.000 + 85 2.98411 27.700 + 86 3.00167 26.400 + 87 3.02011 25.100 + 88 3.03800 23.900 + 89 3.05680 22.700 + 90 3.07495 21.600 + 91 3.09405 20.500 + 92 3.10870 19.700 + 93 3.12101 19.050 + 94 3.13379 18.400 + 95 3.14705 17.750 + 96 3.15979 17.150 + 97 3.17301 16.550 + 98 3.18679 15.950 + 99 3.19994 15.400 +100 3.21363 14.850 +101 3.22792 14.300 +102 3.24286 13.750 +103 3.25708 13.250 +104 3.27194 12.750 +105 3.28753 12.250 +106 3.30393 11.750 +107 3.31946 11.300 +108 3.33576 10.850 +109 3.35295 10.400 +110 3.37112 9.950 +111 3.38822 9.550 +112 3.40625 9.150 +113 3.42537 8.750 +114 3.44570 8.350 +115 3.46740 7.950 +116 3.48768 7.600 +117 3.50926 7.250 +118 3.53237 6.900 +119 3.55719 6.550 +120 3.58398 6.200 +121 3.61220 5.860 +122 3.63918 5.560 +123 3.66833 5.260 +124 3.69792 4.980 +125 3.73004 4.700 +126 3.76263 4.440 +127 3.79818 4.180 +128 3.82965 3.970 +129 3.85694 3.800 +130 3.88620 3.630 +131 3.91581 3.470 +132 3.94760 3.310 +133 3.98197 3.150 +134 4.01686 3.000 +135 4.05464 2.850 +136 4.09302 2.710 +137 4.13469 2.570 +138 4.18030 2.430 +139 4.22674 2.300 +140 4.27759 2.170 +141 4.32929 2.050 +142 4.38607 1.930 +143 4.44904 1.810 +144 4.51334 1.700 +145 4.57846 1.600 +146 4.65120 1.500 +147 4.73292 1.400 diff --git a/secop_psi/calcurves/X75608.340 b/secop_psi/calcurves/X75608.340 new file mode 100644 index 0000000..ff64736 --- /dev/null +++ b/secop_psi/calcurves/X75608.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X75608 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.83398 325.000 + 2 1.84238 319.000 + 3 1.85025 313.500 + 4 1.85829 308.000 + 5 1.86651 302.500 + 6 1.87491 297.000 + 7 1.88349 291.500 + 8 1.89228 286.000 + 9 1.90126 280.500 + 10 1.91045 275.000 + 11 1.91986 269.500 + 12 1.92949 264.000 + 13 1.93935 258.500 + 14 1.94852 253.500 + 15 1.95789 248.500 + 16 1.96748 243.500 + 17 1.97728 238.500 + 18 1.98731 233.500 + 19 1.99758 228.500 + 20 2.00808 223.500 + 21 2.01884 218.500 + 22 2.02986 213.500 + 23 2.04115 208.500 + 24 2.05272 203.500 + 25 2.06459 198.500 + 26 2.07676 193.500 + 27 2.08926 188.500 + 28 2.10080 184.000 + 29 2.11261 179.500 + 30 2.12472 175.000 + 31 2.13713 170.500 + 32 2.14987 166.000 + 33 2.16295 161.500 + 34 2.17638 157.000 + 35 2.19019 152.500 + 36 2.20438 148.000 + 37 2.21899 143.500 + 38 2.23403 139.000 + 39 2.24781 135.000 + 40 2.26195 131.000 + 41 2.27650 127.000 + 42 2.29148 123.000 + 43 2.30693 119.000 + 44 2.32285 115.000 + 45 2.33930 111.000 + 46 2.35631 107.000 + 47 2.37169 103.500 + 48 2.38526 100.500 + 49 2.39686 98.000 + 50 2.40873 95.500 + 51 2.42089 93.000 + 52 2.43336 90.500 + 53 2.44616 88.000 + 54 2.45930 85.500 + 55 2.47282 83.000 + 56 2.48671 80.500 + 57 2.50102 78.000 + 58 2.51279 76.000 + 59 2.52483 74.000 + 60 2.53720 72.000 + 61 2.54990 70.000 + 62 2.56295 68.000 + 63 2.57636 66.000 + 64 2.59017 64.000 + 65 2.60440 62.000 + 66 2.61907 60.000 + 67 2.63268 58.200 + 68 2.64669 56.400 + 69 2.66114 54.600 + 70 2.67605 52.800 + 71 2.69145 51.000 + 72 2.70738 49.200 + 73 2.72388 47.400 + 74 2.74098 45.600 + 75 2.75675 44.000 + 76 2.77306 42.400 + 77 2.78997 40.800 + 78 2.80752 39.200 + 79 2.82461 37.700 + 80 2.84235 36.200 + 81 2.86082 34.700 + 82 2.88006 33.200 + 83 2.89879 31.800 + 84 2.91832 30.400 + 85 2.93873 29.000 + 86 2.95857 27.700 + 87 2.97932 26.400 + 88 3.00108 25.100 + 89 3.02220 23.900 + 90 3.04437 22.700 + 91 3.06577 21.600 + 92 3.08828 20.500 + 93 3.10551 19.700 + 94 3.12000 19.050 + 95 3.13502 18.400 + 96 3.15061 17.750 + 97 3.16557 17.150 + 98 3.18109 16.550 + 99 3.19725 15.950 +100 3.21268 15.400 +101 3.22873 14.850 +102 3.24548 14.300 +103 3.26299 13.750 +104 3.27964 13.250 +105 3.29704 12.750 +106 3.31528 12.250 +107 3.33445 11.750 +108 3.35260 11.300 +109 3.37163 10.850 +110 3.39169 10.400 +111 3.41288 9.950 +112 3.43280 9.550 +113 3.45379 9.150 +114 3.47604 8.750 +115 3.49967 8.350 +116 3.52487 7.950 +117 3.54842 7.600 +118 3.57345 7.250 +119 3.60025 6.900 +120 3.62901 6.550 +121 3.66005 6.200 +122 3.69270 5.860 +123 3.72392 5.560 +124 3.75764 5.260 +125 3.79184 4.980 +126 3.82894 4.700 +127 3.86952 4.420 +128 3.91088 4.160 +129 3.94735 3.950 +130 3.97900 3.780 +131 4.01288 3.610 +132 4.04931 3.440 +133 4.08628 3.280 +134 4.12611 3.120 +135 4.16655 2.970 +136 4.21029 2.820 +137 4.25471 2.680 +138 4.30294 2.540 +139 4.35576 2.400 +140 4.40960 2.270 +141 4.46861 2.140 +142 4.53379 2.010 +143 4.60031 1.890 +144 4.67371 1.770 +145 4.74842 1.660 +146 4.83107 1.550 +147 4.91592 1.450 +148 4.96399 1.400 diff --git a/secop_psi/calcurves/X75609.340 b/secop_psi/calcurves/X75609.340 new file mode 100644 index 0000000..431bf2b --- /dev/null +++ b/secop_psi/calcurves/X75609.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X75609 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.83550 325.000 + 2 1.84399 319.000 + 3 1.85194 313.500 + 4 1.86006 308.000 + 5 1.86836 302.500 + 6 1.87684 297.000 + 7 1.88551 291.500 + 8 1.89437 286.000 + 9 1.90343 280.500 + 10 1.91270 275.000 + 11 1.92219 269.500 + 12 1.93189 264.000 + 13 1.94183 258.500 + 14 1.95201 253.000 + 15 1.96148 248.000 + 16 1.97116 243.000 + 17 1.98106 238.000 + 18 1.99119 233.000 + 19 2.00155 228.000 + 20 2.01215 223.000 + 21 2.02301 218.000 + 22 2.03413 213.000 + 23 2.04553 208.000 + 24 2.05721 203.000 + 25 2.06918 198.000 + 26 2.08147 193.000 + 27 2.09408 188.000 + 28 2.10572 183.500 + 29 2.11764 179.000 + 30 2.12986 174.500 + 31 2.14238 170.000 + 32 2.15524 165.500 + 33 2.16843 161.000 + 34 2.18198 156.500 + 35 2.19591 152.000 + 36 2.21023 147.500 + 37 2.22497 143.000 + 38 2.24015 138.500 + 39 2.25405 134.500 + 40 2.26832 130.500 + 41 2.28301 126.500 + 42 2.29813 122.500 + 43 2.31371 118.500 + 44 2.32979 114.500 + 45 2.34639 110.500 + 46 2.36356 106.500 + 47 2.37909 103.000 + 48 2.39050 100.500 + 49 2.40215 98.000 + 50 2.41408 95.500 + 51 2.42631 93.000 + 52 2.43885 90.500 + 53 2.45172 88.000 + 54 2.46493 85.500 + 55 2.47852 83.000 + 56 2.49249 80.500 + 57 2.50689 78.000 + 58 2.51873 76.000 + 59 2.53086 74.000 + 60 2.54330 72.000 + 61 2.55607 70.000 + 62 2.56919 68.000 + 63 2.58268 66.000 + 64 2.59657 64.000 + 65 2.61088 62.000 + 66 2.62564 60.000 + 67 2.63933 58.200 + 68 2.65343 56.400 + 69 2.66796 54.600 + 70 2.68296 52.800 + 71 2.69846 51.000 + 72 2.71449 49.200 + 73 2.73109 47.400 + 74 2.74830 45.600 + 75 2.76417 44.000 + 76 2.78058 42.400 + 77 2.79760 40.800 + 78 2.81526 39.200 + 79 2.83246 37.700 + 80 2.85032 36.200 + 81 2.86890 34.700 + 82 2.88827 33.200 + 83 2.90713 31.800 + 84 2.92678 30.400 + 85 2.94733 29.000 + 86 2.96731 27.700 + 87 2.98819 26.400 + 88 3.01011 25.100 + 89 3.03138 23.900 + 90 3.05371 22.700 + 91 3.07527 21.600 + 92 3.09795 20.500 + 93 3.11532 19.700 + 94 3.12992 19.050 + 95 3.14506 18.400 + 96 3.16077 17.750 + 97 3.17585 17.150 + 98 3.19150 16.550 + 99 3.20779 15.950 +100 3.22335 15.400 +101 3.23953 14.850 +102 3.25642 14.300 +103 3.27407 13.750 +104 3.29086 13.250 +105 3.30840 12.750 +106 3.32680 12.250 +107 3.34612 11.750 +108 3.36442 11.300 +109 3.38362 10.850 +110 3.40385 10.400 +111 3.42522 9.950 +112 3.44531 9.550 +113 3.46649 9.150 +114 3.48893 8.750 +115 3.51277 8.350 +116 3.53820 7.950 +117 3.56196 7.600 +118 3.58723 7.250 +119 3.61427 6.900 +120 3.64330 6.550 +121 3.67463 6.200 +122 3.70761 5.860 +123 3.73913 5.560 +124 3.77318 5.260 +125 3.80773 4.980 +126 3.84520 4.700 +127 3.88620 4.420 +128 3.92799 4.160 +129 3.96485 3.950 +130 3.99684 3.780 +131 4.03108 3.610 +132 4.06791 3.440 +133 4.10527 3.280 +134 4.14554 3.120 +135 4.18642 2.970 +136 4.23065 2.820 +137 4.27556 2.680 +138 4.32434 2.540 +139 4.37775 2.400 +140 4.43220 2.270 +141 4.49190 2.140 +142 4.55785 2.010 +143 4.62517 1.890 +144 4.69946 1.770 +145 4.77508 1.660 +146 4.85873 1.550 +147 4.94457 1.450 +148 4.99316 1.400 diff --git a/secop_psi/calcurves/X75610.340 b/secop_psi/calcurves/X75610.340 new file mode 100644 index 0000000..7c39a4b --- /dev/null +++ b/secop_psi/calcurves/X75610.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-CU-1.4L +Serial Number: X75610 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.75662 325.000 + 2 1.76452 319.000 + 3 1.77192 313.500 + 4 1.77949 308.000 + 5 1.78721 302.500 + 6 1.79511 297.000 + 7 1.80319 291.500 + 8 1.81145 286.000 + 9 1.81990 280.500 + 10 1.82854 275.000 + 11 1.83738 269.500 + 12 1.84643 264.000 + 13 1.85570 258.500 + 14 1.86518 253.000 + 15 1.87401 248.000 + 16 1.88304 243.000 + 17 1.89226 238.000 + 18 1.90170 233.000 + 19 1.91136 228.000 + 20 1.92124 223.000 + 21 1.93136 218.000 + 22 1.94172 213.000 + 23 1.95234 208.000 + 24 1.96322 203.000 + 25 1.97437 198.000 + 26 1.98581 193.000 + 27 1.99755 188.000 + 28 2.00959 183.000 + 29 2.02072 178.500 + 30 2.03211 174.000 + 31 2.04378 169.500 + 32 2.05576 165.000 + 33 2.06804 160.500 + 34 2.08066 156.000 + 35 2.09361 151.500 + 36 2.10693 147.000 + 37 2.12062 142.500 + 38 2.13472 138.000 + 39 2.14761 134.000 + 40 2.16085 130.000 + 41 2.17447 126.000 + 42 2.18848 122.000 + 43 2.20292 118.000 + 44 2.21781 114.000 + 45 2.23317 110.000 + 46 2.24905 106.000 + 47 2.26341 102.500 + 48 2.27395 100.000 + 49 2.28471 97.500 + 50 2.29573 95.000 + 51 2.30701 92.500 + 52 2.31857 90.000 + 53 2.33043 87.500 + 54 2.34261 85.000 + 55 2.35512 82.500 + 56 2.36798 80.000 + 57 2.38121 77.500 + 58 2.39209 75.500 + 59 2.40323 73.500 + 60 2.41465 71.500 + 61 2.42638 69.500 + 62 2.43842 67.500 + 63 2.45080 65.500 + 64 2.46354 63.500 + 65 2.47666 61.500 + 66 2.49087 59.400 + 67 2.50484 57.400 + 68 2.51929 55.400 + 69 2.53272 53.600 + 70 2.54657 51.800 + 71 2.56088 50.000 + 72 2.57567 48.200 + 73 2.59100 46.400 + 74 2.60689 44.600 + 75 2.62153 43.000 + 76 2.63668 41.400 + 77 2.65338 39.700 + 78 2.66972 38.100 + 79 2.68672 36.500 + 80 2.70330 35.000 + 81 2.72054 33.500 + 82 2.73852 32.000 + 83 2.75604 30.600 + 84 2.77431 29.200 + 85 2.79342 27.800 + 86 2.81201 26.500 + 87 2.83147 25.200 + 88 2.85033 24.000 + 89 2.87010 22.800 + 90 2.89091 21.600 + 91 2.91104 20.500 + 92 2.92641 19.700 + 93 2.93933 19.050 + 94 2.95270 18.400 + 95 2.96658 17.750 + 96 2.98100 17.100 + 97 2.99484 16.500 + 98 3.00923 15.900 + 99 3.02422 15.300 +100 3.03855 14.750 +101 3.05348 14.200 +102 3.06909 13.650 +103 3.08543 13.100 +104 3.10101 12.600 +105 3.11731 12.100 +106 3.13443 11.600 +107 3.15064 11.150 +108 3.16764 10.700 +109 3.18555 10.250 +110 3.20447 9.800 +111 3.22225 9.400 +112 3.24099 9.000 +113 3.26084 8.600 +114 3.28193 8.200 +115 3.30443 7.800 +116 3.32546 7.450 +117 3.34781 7.100 +118 3.37174 6.750 +119 3.39744 6.400 +120 3.42517 6.050 +121 3.45172 5.740 +122 3.47941 5.440 +123 3.50937 5.140 +124 3.53974 4.860 +125 3.57270 4.580 +126 3.60613 4.320 +127 3.64259 4.060 +128 3.67327 3.860 +129 3.70114 3.690 +130 3.73100 3.520 +131 3.76119 3.360 +132 3.79362 3.200 +133 3.82866 3.040 +134 3.86425 2.890 +135 3.90279 2.740 +136 3.94199 2.600 +137 3.98462 2.460 +138 4.02796 2.330 +139 4.07525 2.200 +140 4.12730 2.070 +141 4.18023 1.950 +142 4.23838 1.830 +143 4.30286 1.710 +144 4.36861 1.600 +145 4.43497 1.500 +146 4.50244 1.410 +147 4.51114 1.400 diff --git a/secop_psi/calcurves/X77456.340 b/secop_psi/calcurves/X77456.340 new file mode 100644 index 0000000..41d26dd --- /dev/null +++ b/secop_psi/calcurves/X77456.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X77456 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 2.02987 325.000 + 2 2.03741 319.000 + 3 2.04448 313.500 + 4 2.05169 308.000 + 5 2.05906 302.500 + 6 2.06658 297.000 + 7 2.07426 291.500 + 8 2.08211 286.000 + 9 2.09014 280.500 + 10 2.09834 275.000 + 11 2.10672 269.500 + 12 2.11529 264.000 + 13 2.12406 258.500 + 14 2.13304 253.000 + 15 2.14222 247.500 + 16 2.15163 242.000 + 17 2.16126 236.500 + 18 2.17022 231.500 + 19 2.17939 226.500 + 20 2.18876 221.500 + 21 2.19835 216.500 + 22 2.20817 211.500 + 23 2.21822 206.500 + 24 2.22852 201.500 + 25 2.23908 196.500 + 26 2.24990 191.500 + 27 2.26100 186.500 + 28 2.27239 181.500 + 29 2.28409 176.500 + 30 2.29489 172.000 + 31 2.30596 167.500 + 32 2.31732 163.000 + 33 2.32896 158.500 + 34 2.34092 154.000 + 35 2.35321 149.500 + 36 2.36584 145.000 + 37 2.37884 140.500 + 38 2.39222 136.000 + 39 2.40446 132.000 + 40 2.41703 128.000 + 41 2.42996 124.000 + 42 2.44328 120.000 + 43 2.45700 116.000 + 44 2.47116 112.000 + 45 2.48578 108.000 + 46 2.49900 104.500 + 47 2.51261 101.000 + 48 2.52464 98.000 + 49 2.53492 95.500 + 50 2.54545 93.000 + 51 2.55624 90.500 + 52 2.56730 88.000 + 53 2.57866 85.500 + 54 2.59033 83.000 + 55 2.60233 80.500 + 56 2.61468 78.000 + 57 2.62485 76.000 + 58 2.63525 74.000 + 59 2.64593 72.000 + 60 2.65689 70.000 + 61 2.66815 68.000 + 62 2.67973 66.000 + 63 2.69164 64.000 + 64 2.70392 62.000 + 65 2.71658 60.000 + 66 2.72832 58.200 + 67 2.74042 56.400 + 68 2.75289 54.600 + 69 2.76576 52.800 + 70 2.77905 51.000 + 71 2.79281 49.200 + 72 2.80705 47.400 + 73 2.82182 45.600 + 74 2.83545 44.000 + 75 2.84953 42.400 + 76 2.86415 40.800 + 77 2.87932 39.200 + 78 2.89410 37.700 + 79 2.90945 36.200 + 80 2.92543 34.700 + 81 2.94097 33.300 + 82 2.95713 31.900 + 83 2.97401 30.500 + 84 2.99037 29.200 + 85 3.00745 27.900 + 86 3.02533 26.600 + 87 3.04264 25.400 + 88 3.06075 24.200 + 89 3.07980 23.000 + 90 3.09818 21.900 + 91 3.11752 20.800 + 92 3.13326 19.950 + 93 3.14575 19.300 + 94 3.15869 18.650 + 95 3.17213 18.000 + 96 3.18502 17.400 + 97 3.19840 16.800 + 98 3.21234 16.200 + 99 3.22686 15.600 +100 3.24077 15.050 +101 3.25527 14.500 +102 3.27042 13.950 +103 3.28482 13.450 +104 3.29986 12.950 +105 3.31563 12.450 +106 3.33221 11.950 +107 3.34790 11.500 +108 3.36435 11.050 +109 3.38168 10.600 +110 3.39998 10.150 +111 3.41937 9.700 +112 3.43766 9.300 +113 3.45697 8.900 +114 3.47751 8.500 +115 3.49940 8.100 +116 3.51984 7.750 +117 3.54156 7.400 +118 3.56480 7.050 +119 3.58971 6.700 +120 3.61656 6.350 +121 3.64140 6.050 +122 3.66708 5.760 +123 3.69577 5.460 +124 3.72689 5.160 +125 3.75852 4.880 +126 3.79295 4.600 +127 3.82797 4.340 +128 3.86629 4.080 +129 3.89863 3.880 +130 3.92809 3.710 +131 3.95973 3.540 +132 3.99183 3.380 +133 4.02639 3.220 +134 4.06145 3.070 +135 4.09932 2.920 +136 4.14052 2.770 +137 4.18245 2.630 +138 4.22812 2.490 +139 4.27458 2.360 +140 4.32531 2.230 +141 4.38118 2.100 +142 4.43814 1.980 +143 4.50100 1.860 +144 4.56509 1.750 +145 4.62965 1.650 +146 4.70162 1.550 +147 4.78227 1.450 +148 4.82680 1.400 diff --git a/secop_psi/calcurves/X77457.340 b/secop_psi/calcurves/X77457.340 new file mode 100644 index 0000000..6bc214d --- /dev/null +++ b/secop_psi/calcurves/X77457.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X77457 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 2.02691 325.000 + 2 2.03442 319.000 + 3 2.04144 313.500 + 4 2.04861 308.000 + 5 2.05593 302.500 + 6 2.06340 297.000 + 7 2.07103 291.500 + 8 2.07883 286.000 + 9 2.08679 280.500 + 10 2.09493 275.000 + 11 2.10325 269.500 + 12 2.11176 264.000 + 13 2.12047 258.500 + 14 2.12938 253.000 + 15 2.13850 247.500 + 16 2.14783 242.000 + 17 2.15652 237.000 + 18 2.16540 232.000 + 19 2.17448 227.000 + 20 2.18376 222.000 + 21 2.19326 217.000 + 22 2.20299 212.000 + 23 2.21295 207.000 + 24 2.22316 202.000 + 25 2.23362 197.000 + 26 2.24434 192.000 + 27 2.25534 187.000 + 28 2.26662 182.000 + 29 2.27821 177.000 + 30 2.28891 172.500 + 31 2.29987 168.000 + 32 2.31112 163.500 + 33 2.32265 159.000 + 34 2.33449 154.500 + 35 2.34666 150.000 + 36 2.35916 145.500 + 37 2.37202 141.000 + 38 2.38526 136.500 + 39 2.39738 132.500 + 40 2.40981 128.500 + 41 2.42261 124.500 + 42 2.43578 120.500 + 43 2.44936 116.500 + 44 2.46336 112.500 + 45 2.47783 108.500 + 46 2.49089 105.000 + 47 2.50435 101.500 + 48 2.51624 98.500 + 49 2.52640 96.000 + 50 2.53680 93.500 + 51 2.54746 91.000 + 52 2.55838 88.500 + 53 2.56960 86.000 + 54 2.58112 83.500 + 55 2.59297 81.000 + 56 2.60516 78.500 + 57 2.61518 76.500 + 58 2.62544 74.500 + 59 2.63597 72.500 + 60 2.64678 70.500 + 61 2.65787 68.500 + 62 2.66928 66.500 + 63 2.68102 64.500 + 64 2.69311 62.500 + 65 2.70558 60.500 + 66 2.71778 58.600 + 67 2.72971 56.800 + 68 2.74199 55.000 + 69 2.75467 53.200 + 70 2.76777 51.400 + 71 2.78131 49.600 + 72 2.79533 47.800 + 73 2.80987 46.000 + 74 2.82327 44.400 + 75 2.83712 42.800 + 76 2.85149 41.200 + 77 2.86734 39.500 + 78 2.88288 37.900 + 79 2.89804 36.400 + 80 2.91380 34.900 + 81 2.93022 33.400 + 82 2.94622 32.000 + 83 2.96288 30.600 + 84 2.98031 29.200 + 85 2.99725 27.900 + 86 3.01497 26.600 + 87 3.03356 25.300 + 88 3.05160 24.100 + 89 3.07055 22.900 + 90 3.08885 21.800 + 91 3.10810 20.700 + 92 3.12379 19.850 + 93 3.13623 19.200 + 94 3.14912 18.550 + 95 3.16252 17.900 + 96 3.17537 17.300 + 97 3.18872 16.700 + 98 3.20261 16.100 + 99 3.21710 15.500 +100 3.23096 14.950 +101 3.24541 14.400 +102 3.26052 13.850 +103 3.27490 13.350 +104 3.28992 12.850 +105 3.30569 12.350 +106 3.32226 11.850 +107 3.33796 11.400 +108 3.35442 10.950 +109 3.37178 10.500 +110 3.39013 10.050 +111 3.40738 9.650 +112 3.42556 9.250 +113 3.44483 8.850 +114 3.46530 8.450 +115 3.48714 8.050 +116 3.50754 7.700 +117 3.52922 7.350 +118 3.55243 7.000 +119 3.57732 6.650 +120 3.60417 6.300 +121 3.63414 5.940 +122 3.66123 5.640 +123 3.69049 5.340 +124 3.72014 5.060 +125 3.75230 4.780 +126 3.78744 4.500 +127 3.82325 4.240 +128 3.85634 4.020 +129 3.88555 3.840 +130 3.91512 3.670 +131 3.94501 3.510 +132 3.97709 3.350 +133 4.01173 3.190 +134 4.04688 3.040 +135 4.08488 2.890 +136 4.12343 2.750 +137 4.16524 2.610 +138 4.21093 2.470 +139 4.25739 2.340 +140 4.30818 2.210 +141 4.36414 2.080 +142 4.42126 1.960 +143 4.48433 1.840 +144 4.54871 1.730 +145 4.61368 1.630 +146 4.68618 1.530 +147 4.76742 1.430 +148 4.79448 1.400 diff --git a/secop_psi/calcurves/X85569.340 b/secop_psi/calcurves/X85569.340 new file mode 100644 index 0000000..b03009b --- /dev/null +++ b/secop_psi/calcurves/X85569.340 @@ -0,0 +1,158 @@ +Sensor Model: CX-1050-CU-HT-1.4L +Serial Number: X85569 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + + 1 1.87225 325.000 + 2 1.88038 319.000 + 3 1.88799 313.500 + 4 1.89577 308.000 + 5 1.90371 302.500 + 6 1.91183 297.000 + 7 1.92013 291.500 + 8 1.92862 286.000 + 9 1.93729 280.500 + 10 1.94617 275.000 + 11 1.95525 269.500 + 12 1.96455 264.000 + 13 1.97407 258.500 + 14 1.98382 253.000 + 15 1.99290 248.000 + 16 2.00217 243.000 + 17 2.01165 238.000 + 18 2.02136 233.000 + 19 2.03129 228.000 + 20 2.04145 223.000 + 21 2.05186 218.000 + 22 2.06252 213.000 + 23 2.07345 208.000 + 24 2.08465 203.000 + 25 2.09613 198.000 + 26 2.10791 193.000 + 27 2.12000 188.000 + 28 2.13117 183.500 + 29 2.14260 179.000 + 30 2.15432 174.500 + 31 2.16633 170.000 + 32 2.17866 165.500 + 33 2.19131 161.000 + 34 2.20430 156.500 + 35 2.21766 152.000 + 36 2.23139 147.500 + 37 2.24552 143.000 + 38 2.26007 138.500 + 39 2.27339 134.500 + 40 2.28706 130.500 + 41 2.30114 126.500 + 42 2.31563 122.500 + 43 2.33056 118.500 + 44 2.34597 114.500 + 45 2.36187 110.500 + 46 2.37832 106.500 + 47 2.39320 103.000 + 48 2.40412 100.500 + 49 2.41527 98.000 + 50 2.42669 95.500 + 51 2.43839 93.000 + 52 2.45039 90.500 + 53 2.46270 88.000 + 54 2.47534 85.500 + 55 2.48832 83.000 + 56 2.50168 80.500 + 57 2.51542 78.000 + 58 2.52673 76.000 + 59 2.53831 74.000 + 60 2.55018 72.000 + 61 2.56237 70.000 + 62 2.57489 68.000 + 63 2.58777 66.000 + 64 2.60102 64.000 + 65 2.61467 62.000 + 66 2.62874 60.000 + 67 2.64179 58.200 + 68 2.65522 56.400 + 69 2.66908 54.600 + 70 2.68336 52.800 + 71 2.69813 51.000 + 72 2.71339 49.200 + 73 2.72919 47.400 + 74 2.74557 45.600 + 75 2.76066 44.000 + 76 2.77627 42.400 + 77 2.79244 40.800 + 78 2.80923 39.200 + 79 2.82557 37.700 + 80 2.84253 36.200 + 81 2.86017 34.700 + 82 2.87855 33.200 + 83 2.89644 31.800 + 84 2.91507 30.400 + 85 2.93456 29.000 + 86 2.95349 27.700 + 87 2.97327 26.400 + 88 2.99404 25.100 + 89 3.01419 23.900 + 90 3.03533 22.700 + 91 3.05576 21.600 + 92 3.07723 20.500 + 93 3.09369 19.700 + 94 3.10752 19.050 + 95 3.12187 18.400 + 96 3.13677 17.750 + 97 3.15106 17.150 + 98 3.16590 16.550 + 99 3.18135 15.950 +100 3.19610 15.400 +101 3.21145 14.850 +102 3.22747 14.300 +103 3.24421 13.750 +104 3.26014 13.250 +105 3.27678 12.750 +106 3.29424 12.250 +107 3.31259 11.750 +108 3.32997 11.300 +109 3.34821 10.850 +110 3.36743 10.400 +111 3.38775 9.950 +112 3.40687 9.550 +113 3.42702 9.150 +114 3.44839 8.750 +115 3.47110 8.350 +116 3.49534 7.950 +117 3.51799 7.600 +118 3.54209 7.250 +119 3.56789 6.900 +120 3.59559 6.550 +121 3.62549 6.200 +122 3.65696 5.860 +123 3.68705 5.560 +124 3.71955 5.260 +125 3.75253 4.980 +126 3.78830 4.700 +127 3.82745 4.420 +128 3.86738 4.160 +129 3.90262 3.950 +130 3.93323 3.780 +131 3.96602 3.610 +132 3.99920 3.450 +133 4.03484 3.290 +134 4.07334 3.130 +135 4.11243 2.980 +136 4.15474 2.830 +137 4.19769 2.690 +138 4.24429 2.550 +139 4.29525 2.410 +140 4.34708 2.280 +141 4.40377 2.150 +142 4.46137 2.030 +143 4.52462 1.910 +144 4.59483 1.790 +145 4.66663 1.680 +146 4.73961 1.580 +147 4.82116 1.480 +148 4.89355 1.400 +149 5.4 1.000 diff --git a/secop_psi/calcurves/X85571.340 b/secop_psi/calcurves/X85571.340 new file mode 100644 index 0000000..1b74345 --- /dev/null +++ b/secop_psi/calcurves/X85571.340 @@ -0,0 +1,153 @@ +Sensor Model: CX-1050-CU-HT-1.4L +Serial Number: X85571 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 144 + +No. Units Temperature (K) + + 1 1.83800 325.000 + 2 1.84470 319.000 + 3 1.85098 313.500 + 4 1.85739 308.000 + 5 1.86393 302.500 + 6 1.87061 297.000 + 7 1.87744 291.500 + 8 1.88443 286.000 + 9 1.89156 280.500 + 10 1.89885 275.000 + 11 1.90631 269.500 + 12 1.91395 264.000 + 13 1.92175 258.500 + 14 1.92974 253.000 + 15 1.93792 247.500 + 16 1.94629 242.000 + 17 1.95486 236.500 + 18 1.96285 231.500 + 19 1.97100 226.500 + 20 1.97934 221.500 + 21 1.98787 216.500 + 22 1.99660 211.500 + 23 2.00554 206.500 + 24 2.01469 201.500 + 25 2.02406 196.500 + 26 2.03366 191.500 + 27 2.04350 186.500 + 28 2.05359 181.500 + 29 2.06394 176.500 + 30 2.07457 171.500 + 31 2.08438 167.000 + 32 2.09442 162.500 + 33 2.10472 158.000 + 34 2.11528 153.500 + 35 2.12612 149.000 + 36 2.13724 144.500 + 37 2.14867 140.000 + 38 2.16043 135.500 + 39 2.17252 131.000 + 40 2.18497 126.500 + 41 2.19636 122.500 + 42 2.20807 118.500 + 43 2.22011 114.500 + 44 2.23252 110.500 + 45 2.24531 106.500 + 46 2.25851 102.500 + 47 2.26873 99.500 + 48 2.27742 97.000 + 49 2.28631 94.500 + 50 2.29540 92.000 + 51 2.30471 89.500 + 52 2.31424 87.000 + 53 2.32401 84.500 + 54 2.33403 82.000 + 55 2.34432 79.500 + 56 2.35489 77.000 + 57 2.36577 74.500 + 58 2.37698 72.000 + 59 2.38620 70.000 + 60 2.39564 68.000 + 61 2.40534 66.000 + 62 2.41529 64.000 + 63 2.42553 62.000 + 64 2.43713 59.800 + 65 2.44800 57.800 + 66 2.45922 55.800 + 67 2.47080 53.800 + 68 2.48155 52.000 + 69 2.49263 50.200 + 70 2.50407 48.400 + 71 2.51589 46.600 + 72 2.52812 44.800 + 73 2.54079 43.000 + 74 2.55247 41.400 + 75 2.56529 39.700 + 76 2.57782 38.100 + 77 2.59081 36.500 + 78 2.60432 34.900 + 79 2.61749 33.400 + 80 2.63119 31.900 + 81 2.64547 30.400 + 82 2.65938 29.000 + 83 2.67390 27.600 + 84 2.68800 26.300 + 85 2.70274 25.000 + 86 2.71821 23.700 + 87 2.73322 22.500 + 88 2.74767 21.400 + 89 2.76284 20.300 + 90 2.77443 19.500 + 91 2.78418 18.850 + 92 2.79427 18.200 + 93 2.80475 17.550 + 94 2.81479 16.950 + 95 2.82521 16.350 + 96 2.83605 15.750 + 97 2.84641 15.200 + 98 2.85719 14.650 + 99 2.86842 14.100 +100 2.88014 13.550 +101 2.89130 13.050 +102 2.90297 12.550 +103 2.91522 12.050 +104 2.92808 11.550 +105 2.94027 11.100 +106 2.95306 10.650 +107 2.96654 10.200 +108 2.98079 9.750 +109 2.99420 9.350 +110 3.00834 8.950 +111 3.02334 8.550 +112 3.03928 8.150 +113 3.05629 7.750 +114 3.07221 7.400 +115 3.08915 7.050 +116 3.10730 6.700 +117 3.12680 6.350 +118 3.14787 6.000 +119 3.16873 5.680 +120 3.18987 5.380 +121 3.21273 5.080 +122 3.23596 4.800 +123 3.26118 4.520 +124 3.28680 4.260 +125 3.31255 4.020 +126 3.33468 3.830 +127 3.35583 3.660 +128 3.37850 3.490 +129 3.40144 3.330 +130 3.42607 3.170 +131 3.45268 3.010 +132 3.47972 2.860 +133 3.50702 2.720 +134 3.53658 2.580 +135 3.56879 2.440 +136 3.60150 2.310 +137 3.63720 2.180 +138 3.67648 2.050 +139 3.71643 1.930 +140 3.76035 1.810 +141 3.80913 1.690 +142 3.85901 1.580 +143 3.90963 1.480 +144 3.95541 1.400 diff --git a/secop_psi/calcurves/X86021.340 b/secop_psi/calcurves/X86021.340 new file mode 100644 index 0000000..cd428a7 --- /dev/null +++ b/secop_psi/calcurves/X86021.340 @@ -0,0 +1,152 @@ +Sensor Model: CX-1050-CU-HT-1.4L +Serial Number: X86021 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 143 + +No. Units Temperature (K) + + 1 1.83326 325.000 + 2 1.84021 319.000 + 3 1.84671 313.500 + 4 1.85334 308.000 + 5 1.86011 302.500 + 6 1.86702 297.000 + 7 1.87408 291.500 + 8 1.88128 286.000 + 9 1.88864 280.500 + 10 1.89616 275.000 + 11 1.90385 269.500 + 12 1.91170 264.000 + 13 1.91972 258.500 + 14 1.92793 253.000 + 15 1.93633 247.500 + 16 1.94491 242.000 + 17 1.95370 236.500 + 18 1.96269 231.000 + 19 1.97190 225.500 + 20 1.98133 220.000 + 21 1.99010 215.000 + 22 1.99907 210.000 + 23 2.00824 205.000 + 24 2.01763 200.000 + 25 2.02723 195.000 + 26 2.03706 190.000 + 27 2.04713 185.000 + 28 2.05745 180.000 + 29 2.06802 175.000 + 30 2.07886 170.000 + 31 2.08998 165.000 + 32 2.10139 160.000 + 33 2.11194 155.500 + 34 2.12273 151.000 + 35 2.13380 146.500 + 36 2.14516 142.000 + 37 2.15682 137.500 + 38 2.16880 133.000 + 39 2.18112 128.500 + 40 2.19380 124.000 + 41 2.20539 120.000 + 42 2.21729 116.000 + 43 2.22954 112.000 + 44 2.24214 108.000 + 45 2.25513 104.000 + 46 2.26685 100.500 + 47 2.27716 97.500 + 48 2.28595 95.000 + 49 2.29493 92.500 + 50 2.30411 90.000 + 51 2.31350 87.500 + 52 2.32312 85.000 + 53 2.33298 82.500 + 54 2.34309 80.000 + 55 2.35347 77.500 + 56 2.36413 75.000 + 57 2.37510 72.500 + 58 2.38639 70.000 + 59 2.39568 68.000 + 60 2.40520 66.000 + 61 2.41496 64.000 + 62 2.42499 62.000 + 63 2.43635 59.800 + 64 2.44698 57.800 + 65 2.45794 55.800 + 66 2.46925 53.800 + 67 2.48092 51.800 + 68 2.49176 50.000 + 69 2.50294 48.200 + 70 2.51448 46.400 + 71 2.52642 44.600 + 72 2.53877 42.800 + 73 2.55157 41.000 + 74 2.56412 39.300 + 75 2.57635 37.700 + 76 2.58903 36.100 + 77 2.60220 34.500 + 78 2.61503 33.000 + 79 2.62836 31.500 + 80 2.64225 30.000 + 81 2.65578 28.600 + 82 2.66988 27.200 + 83 2.68357 25.900 + 84 2.69788 24.600 + 85 2.71289 23.300 + 86 2.72745 22.100 + 87 2.74147 21.000 + 88 2.75349 20.100 + 89 2.76319 19.400 + 90 2.77251 18.750 + 91 2.78216 18.100 + 92 2.79217 17.450 + 93 2.80256 16.800 + 94 2.81255 16.200 + 95 2.82293 15.600 + 96 2.83375 15.000 + 97 2.84409 14.450 + 98 2.85488 13.900 + 99 2.86615 13.350 +100 2.87688 12.850 +101 2.88809 12.350 +102 2.89986 11.850 +103 2.91222 11.350 +104 2.92394 10.900 +105 2.93624 10.450 +106 2.94923 10.000 +107 2.96296 9.550 +108 2.97589 9.150 +109 2.98954 8.750 +110 3.00403 8.350 +111 3.01946 7.950 +112 3.03385 7.600 +113 3.04912 7.250 +114 3.06543 6.900 +115 3.08289 6.550 +116 3.10169 6.200 +117 3.12141 5.860 +118 3.14148 5.540 +119 3.16185 5.240 +120 3.18391 4.940 +121 3.20634 4.660 +122 3.23075 4.380 +123 3.25559 4.120 +124 3.27638 3.920 +125 3.29525 3.750 +126 3.31543 3.580 +127 3.33711 3.410 +128 3.35908 3.250 +129 3.38272 3.090 +130 3.40670 2.940 +131 3.43259 2.790 +132 3.46073 2.640 +133 3.48936 2.500 +134 3.52052 2.360 +135 3.55219 2.230 +136 3.58678 2.100 +137 3.62491 1.970 +138 3.66388 1.850 +139 3.70337 1.740 +140 3.74720 1.630 +141 3.79656 1.520 +142 3.85205 1.410 +143 3.85790 1.400 diff --git a/secop_psi/calcurves/X86022.340 b/secop_psi/calcurves/X86022.340 new file mode 100644 index 0000000..8dbdeec --- /dev/null +++ b/secop_psi/calcurves/X86022.340 @@ -0,0 +1,152 @@ +Sensor Model: CX-1050-CU-HT-1.4L +Serial Number: X86022 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 143 + +No. Units Temperature (K) + + 1 1.82837 325.000 + 2 1.83539 319.000 + 3 1.84197 313.500 + 4 1.84867 308.000 + 5 1.85551 302.500 + 6 1.86250 297.000 + 7 1.86963 291.500 + 8 1.87691 286.000 + 9 1.88435 280.500 + 10 1.89195 275.000 + 11 1.89972 269.500 + 12 1.90766 264.000 + 13 1.91577 258.500 + 14 1.92407 253.000 + 15 1.93256 247.500 + 16 1.94125 242.000 + 17 1.95013 236.500 + 18 1.95923 231.000 + 19 1.96855 225.500 + 20 1.97722 220.500 + 21 1.98607 215.500 + 22 1.99513 210.500 + 23 2.00440 205.500 + 24 2.01388 200.500 + 25 2.02358 195.500 + 26 2.03351 190.500 + 27 2.04369 185.500 + 28 2.05411 180.500 + 29 2.06480 175.500 + 30 2.07576 170.500 + 31 2.08700 165.500 + 32 2.09855 160.500 + 33 2.10921 156.000 + 34 2.12013 151.500 + 35 2.13132 147.000 + 36 2.14281 142.500 + 37 2.15461 138.000 + 38 2.16672 133.500 + 39 2.17918 129.000 + 40 2.19200 124.500 + 41 2.20373 120.500 + 42 2.21577 116.500 + 43 2.22816 112.500 + 44 2.24091 108.500 + 45 2.25405 104.500 + 46 2.26762 100.500 + 47 2.27811 97.500 + 48 2.28704 95.000 + 49 2.29617 92.500 + 50 2.30551 90.000 + 51 2.31507 87.500 + 52 2.32486 85.000 + 53 2.33490 82.500 + 54 2.34520 80.000 + 55 2.35576 77.500 + 56 2.36661 75.000 + 57 2.37778 72.500 + 58 2.38928 70.000 + 59 2.39875 68.000 + 60 2.40844 66.000 + 61 2.41839 64.000 + 62 2.42862 62.000 + 63 2.44019 59.800 + 64 2.45104 57.800 + 65 2.46222 55.800 + 66 2.47375 53.800 + 67 2.48566 51.800 + 68 2.49673 50.000 + 69 2.50814 48.200 + 70 2.51992 46.400 + 71 2.53210 44.600 + 72 2.54472 42.800 + 73 2.55780 41.000 + 74 2.57062 39.300 + 75 2.58312 37.700 + 76 2.59608 36.100 + 77 2.60955 34.500 + 78 2.62269 33.000 + 79 2.63634 31.500 + 80 2.65056 30.000 + 81 2.66442 28.600 + 82 2.67888 27.200 + 83 2.69292 25.900 + 84 2.70759 24.600 + 85 2.72299 23.300 + 86 2.73794 22.100 + 87 2.75233 21.000 + 88 2.76466 20.100 + 89 2.77463 19.400 + 90 2.78420 18.750 + 91 2.79411 18.100 + 92 2.80439 17.450 + 93 2.81424 16.850 + 94 2.82446 16.250 + 95 2.83510 15.650 + 96 2.84526 15.100 + 97 2.85583 14.550 + 98 2.86684 14.000 + 99 2.87833 13.450 +100 2.88927 12.950 +101 2.90071 12.450 +102 2.91270 11.950 +103 2.92530 11.450 +104 2.93724 11.000 +105 2.94977 10.550 +106 2.96299 10.100 +107 2.97695 9.650 +108 2.99010 9.250 +109 3.00397 8.850 +110 3.01869 8.450 +111 3.03435 8.050 +112 3.05107 7.650 +113 3.06672 7.300 +114 3.08338 6.950 +115 3.10124 6.600 +116 3.12044 6.250 +117 3.14121 5.900 +118 3.16175 5.580 +119 3.18261 5.280 +120 3.20518 4.980 +121 3.22813 4.700 +122 3.25308 4.420 +123 3.27847 4.160 +124 3.30080 3.950 +125 3.32129 3.770 +126 3.34207 3.600 +127 3.36434 3.430 +128 3.38691 3.270 +129 3.41120 3.110 +130 3.43582 2.960 +131 3.46239 2.810 +132 3.49128 2.660 +133 3.52066 2.520 +134 3.55264 2.380 +135 3.58516 2.250 +136 3.62067 2.120 +137 3.65981 1.990 +138 3.69978 1.870 +139 3.74021 1.760 +140 3.78496 1.650 +141 3.83519 1.540 +142 3.89180 1.430 +143 3.90913 1.400 diff --git a/secop_psi/calcurves/X86023.340 b/secop_psi/calcurves/X86023.340 new file mode 100644 index 0000000..0939b00 --- /dev/null +++ b/secop_psi/calcurves/X86023.340 @@ -0,0 +1,152 @@ +Sensor Model: CX-1050-CU-HT-1.4L +Serial Number: X86023 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 143 + +No. Units Temperature (K) + + 1 1.83242 325.000 + 2 1.83944 319.000 + 3 1.84600 313.500 + 4 1.85270 308.000 + 5 1.85954 302.500 + 6 1.86651 297.000 + 7 1.87363 291.500 + 8 1.88091 286.000 + 9 1.88833 280.500 + 10 1.89592 275.000 + 11 1.90368 269.500 + 12 1.91160 264.000 + 13 1.91970 258.500 + 14 1.92799 253.000 + 15 1.93646 247.500 + 16 1.94513 242.000 + 17 1.95400 236.500 + 18 1.96308 231.000 + 19 1.97238 225.500 + 20 1.98190 220.000 + 21 1.99077 215.000 + 22 1.99982 210.000 + 23 2.00909 205.000 + 24 2.01857 200.000 + 25 2.02827 195.000 + 26 2.03821 190.000 + 27 2.04838 185.000 + 28 2.05881 180.000 + 29 2.06949 175.000 + 30 2.08044 170.000 + 31 2.09168 165.000 + 32 2.10322 160.000 + 33 2.11388 155.500 + 34 2.12479 151.000 + 35 2.13599 146.500 + 36 2.14747 142.000 + 37 2.15927 137.500 + 38 2.17138 133.000 + 39 2.18384 128.500 + 40 2.19666 124.000 + 41 2.20840 120.000 + 42 2.22044 116.000 + 43 2.23283 112.000 + 44 2.24559 108.000 + 45 2.25874 104.000 + 46 2.27060 100.500 + 47 2.28104 97.500 + 48 2.28994 95.000 + 49 2.29903 92.500 + 50 2.30832 90.000 + 51 2.31783 87.500 + 52 2.32757 85.000 + 53 2.33756 82.500 + 54 2.34780 80.000 + 55 2.35832 77.500 + 56 2.36914 75.000 + 57 2.38025 72.500 + 58 2.39170 70.000 + 59 2.40113 68.000 + 60 2.41077 66.000 + 61 2.42067 64.000 + 62 2.43084 62.000 + 63 2.44236 59.800 + 64 2.45314 57.800 + 65 2.46426 55.800 + 66 2.47573 53.800 + 67 2.48757 51.800 + 68 2.49858 50.000 + 69 2.50992 48.200 + 70 2.52164 46.400 + 71 2.53376 44.600 + 72 2.54631 42.800 + 73 2.55932 41.000 + 74 2.57207 39.300 + 75 2.58450 37.700 + 76 2.59739 36.100 + 77 2.61079 34.500 + 78 2.62384 33.000 + 79 2.63740 31.500 + 80 2.65154 30.000 + 81 2.66530 28.600 + 82 2.67965 27.200 + 83 2.69359 25.900 + 84 2.70816 24.600 + 85 2.72345 23.300 + 86 2.73829 22.100 + 87 2.75258 21.000 + 88 2.76483 20.100 + 89 2.77473 19.400 + 90 2.78424 18.750 + 91 2.79408 18.100 + 92 2.80429 17.450 + 93 2.81490 16.800 + 94 2.82509 16.200 + 95 2.83568 15.600 + 96 2.84671 15.000 + 97 2.85726 14.450 + 98 2.86826 13.900 + 99 2.87977 13.350 +100 2.89073 12.850 +101 2.90217 12.350 +102 2.91418 11.850 +103 2.92681 11.350 +104 2.93878 10.900 +105 2.95135 10.450 +106 2.96462 10.000 +107 2.97866 9.550 +108 2.99188 9.150 +109 3.00584 8.750 +110 3.02066 8.350 +111 3.03644 7.950 +112 3.05116 7.600 +113 3.06679 7.250 +114 3.08348 6.900 +115 3.10136 6.550 +116 3.12061 6.200 +117 3.14081 5.860 +118 3.16138 5.540 +119 3.18226 5.240 +120 3.20334 4.960 +121 3.22616 4.680 +122 3.25106 4.400 +123 3.27637 4.140 +124 3.29864 3.930 +125 3.31911 3.750 +126 3.33986 3.580 +127 3.36078 3.420 +128 3.38323 3.260 +129 3.40743 3.100 +130 3.43195 2.950 +131 3.45843 2.800 +132 3.48723 2.650 +133 3.51653 2.510 +134 3.54842 2.370 +135 3.58084 2.240 +136 3.61623 2.110 +137 3.65526 1.980 +138 3.69512 1.860 +139 3.73549 1.750 +140 3.78025 1.640 +141 3.83062 1.530 +142 3.88734 1.420 +143 3.89898 1.400 diff --git a/secop_psi/calcurves/X86028.340 b/secop_psi/calcurves/X86028.340 new file mode 100644 index 0000000..8eeb29e --- /dev/null +++ b/secop_psi/calcurves/X86028.340 @@ -0,0 +1,152 @@ +Sensor Model: CX-1050-CU-HT-1.4L +Serial Number: X86028 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 143 + +No. Units Temperature (K) + + 1 1.81622 325.000 + 2 1.82322 319.000 + 3 1.82977 313.500 + 4 1.83644 308.000 + 5 1.84326 302.500 + 6 1.85021 297.000 + 7 1.85731 291.500 + 8 1.86455 286.000 + 9 1.87195 280.500 + 10 1.87951 275.000 + 11 1.88724 269.500 + 12 1.89513 264.000 + 13 1.90320 258.500 + 14 1.91145 253.000 + 15 1.91989 247.500 + 16 1.92853 242.000 + 17 1.93736 236.500 + 18 1.94640 231.000 + 19 1.95566 225.500 + 20 1.96514 220.000 + 21 1.97396 215.000 + 22 1.98298 210.000 + 23 1.99220 205.000 + 24 2.00164 200.000 + 25 2.01130 195.000 + 26 2.02118 190.000 + 27 2.03130 185.000 + 28 2.04168 180.000 + 29 2.05231 175.000 + 30 2.06320 170.000 + 31 2.07439 165.000 + 32 2.08586 160.000 + 33 2.09646 155.500 + 34 2.10732 151.000 + 35 2.11845 146.500 + 36 2.12987 142.000 + 37 2.14160 137.500 + 38 2.15364 133.000 + 39 2.16603 128.500 + 40 2.17878 124.000 + 41 2.19045 120.000 + 42 2.20242 116.000 + 43 2.21474 112.000 + 44 2.22742 108.000 + 45 2.24049 104.000 + 46 2.25228 100.500 + 47 2.26266 97.500 + 48 2.27151 95.000 + 49 2.28054 92.500 + 50 2.28979 90.000 + 51 2.29924 87.500 + 52 2.30893 85.000 + 53 2.31885 82.500 + 54 2.32903 80.000 + 55 2.33949 77.500 + 56 2.35024 75.000 + 57 2.36129 72.500 + 58 2.37037 70.500 + 59 2.37967 68.500 + 60 2.38920 66.500 + 61 2.39898 64.500 + 62 2.40903 62.500 + 63 2.41935 60.500 + 64 2.42944 58.600 + 65 2.44036 56.600 + 66 2.45162 54.600 + 67 2.46324 52.600 + 68 2.47404 50.800 + 69 2.48517 49.000 + 70 2.49665 47.200 + 71 2.50851 45.400 + 72 2.52079 43.600 + 73 2.53351 41.800 + 74 2.54523 40.200 + 75 2.55733 38.600 + 76 2.56988 37.000 + 77 2.58291 35.400 + 78 2.59644 33.800 + 79 2.60965 32.300 + 80 2.62339 30.800 + 81 2.63676 29.400 + 82 2.65069 28.000 + 83 2.66524 26.600 + 84 2.67939 25.300 + 85 2.69419 24.000 + 86 2.70854 22.800 + 87 2.72358 21.600 + 88 2.73811 20.500 + 89 2.74917 19.700 + 90 2.75846 19.050 + 91 2.76807 18.400 + 92 2.77804 17.750 + 93 2.78838 17.100 + 94 2.79831 16.500 + 95 2.80861 15.900 + 96 2.81935 15.300 + 97 2.82962 14.750 + 98 2.84030 14.200 + 99 2.85145 13.650 +100 2.86204 13.150 +101 2.87310 12.650 +102 2.88469 12.150 +103 2.89685 11.650 +104 2.90966 11.150 +105 2.92181 10.700 +106 2.93458 10.250 +107 2.94808 9.800 +108 2.96077 9.400 +109 2.97414 9.000 +110 2.98830 8.600 +111 3.00334 8.200 +112 3.01938 7.800 +113 3.03436 7.450 +114 3.05028 7.100 +115 3.06731 6.750 +116 3.08559 6.400 +117 3.10529 6.050 +118 3.12413 5.740 +119 3.14377 5.440 +120 3.16497 5.140 +121 3.18802 4.840 +122 3.21150 4.560 +123 3.23523 4.300 +124 3.26113 4.040 +125 3.28290 3.840 +126 3.30269 3.670 +127 3.32388 3.500 +128 3.34532 3.340 +129 3.36834 3.180 +130 3.39322 3.020 +131 3.41847 2.870 +132 3.44579 2.720 +133 3.47354 2.580 +134 3.50366 2.440 +135 3.53661 2.300 +136 3.57017 2.170 +137 3.60694 2.040 +138 3.64442 1.920 +139 3.68573 1.800 +140 3.72787 1.690 +141 3.77481 1.580 +142 3.82770 1.470 +143 3.86516 1.400 diff --git a/secop_psi/calcurves/X88932.340 b/secop_psi/calcurves/X88932.340 new file mode 100644 index 0000000..d8726be --- /dev/null +++ b/secop_psi/calcurves/X88932.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X88932 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-22 + +No. Units Temperature (K) + + 1 1.82442 2.51858 + 2 1.83065 2.51188 + 3 1.83824 2.50379 + 4 1.84537 2.49624 + 5 1.85266 2.48855 + 6 1.86011 2.48073 + 7 1.86774 2.47276 + 8 1.87554 2.46464 + 9 1.88352 2.45637 + 10 1.89168 2.44793 + 11 1.90003 2.43933 + 12 1.90856 2.43056 + 13 1.91730 2.42160 + 14 1.92626 2.41246 + 15 1.93541 2.40312 + 16 1.94393 2.39445 + 17 1.95265 2.38561 + 18 1.96155 2.37658 + 19 1.97066 2.36736 + 20 1.97999 2.35793 + 21 1.98952 2.34830 + 22 1.99929 2.33846 + 23 2.00930 2.32838 + 24 2.01955 2.31806 + 25 2.03006 2.30750 + 26 2.04083 2.29667 + 27 2.05188 2.28556 + 28 2.06322 2.27416 + 29 2.07486 2.26245 + 30 2.08562 2.25164 + 31 2.09663 2.24055 + 32 2.10792 2.22917 + 33 2.11950 2.21748 + 34 2.13138 2.20548 + 35 2.14358 2.19312 + 36 2.15611 2.18041 + 37 2.16899 2.16732 + 38 2.18223 2.15381 + 39 2.19586 2.13988 + 40 2.20832 2.12710 + 41 2.22112 2.11394 + 42 2.23429 2.10037 + 43 2.24783 2.08636 + 44 2.26178 2.07188 + 45 2.27616 2.05690 + 46 2.29100 2.04139 + 47 2.30633 2.02531 + 48 2.32020 2.01072 + 49 2.33037 2.00000 + 50 2.34076 1.98900 + 51 2.35140 1.97772 + 52 2.36228 1.96614 + 53 2.37344 1.95424 + 54 2.38488 1.94201 + 55 2.39663 1.92942 + 56 2.40870 1.91645 + 57 2.42111 1.90309 + 58 2.43387 1.88930 + 59 2.44436 1.87795 + 60 2.45510 1.86629 + 61 2.46612 1.85431 + 62 2.47743 1.84198 + 63 2.48904 1.82930 + 64 2.50097 1.81624 + 65 2.51325 1.80277 + 66 2.52590 1.78888 + 67 2.53959 1.77379 + 68 2.55305 1.75891 + 69 2.56697 1.74351 + 70 2.57990 1.72916 + 71 2.59323 1.71433 + 72 2.60700 1.69897 + 73 2.62123 1.68305 + 74 2.63597 1.66652 + 75 2.65125 1.64933 + 76 2.66531 1.63347 + 77 2.67986 1.61700 + 78 2.69589 1.59879 + 79 2.71157 1.58092 + 80 2.72787 1.56229 + 81 2.74376 1.54407 + 82 2.76027 1.52504 + 83 2.77748 1.50515 + 84 2.79424 1.48572 + 85 2.81171 1.46538 + 86 2.82998 1.44404 + 87 2.84773 1.42325 + 88 2.86632 1.40140 + 89 2.88432 1.38021 + 90 2.90318 1.35793 + 91 2.92303 1.33445 + 92 2.94222 1.31175 + 93 2.95687 1.29447 + 94 2.96919 1.27989 + 95 2.98194 1.26482 + 96 2.99517 1.24920 + 97 3.00891 1.23300 + 98 3.02211 1.21748 + 99 3.03582 1.20140 + 100 3.05012 1.18469 + 101 3.06378 1.16879 + 102 3.07801 1.15229 + 103 3.09290 1.13513 + 104 3.10849 1.11727 + 105 3.12335 1.10037 + 106 3.13890 1.08279 + 107 3.15524 1.06446 + 108 3.17071 1.04727 + 109 3.18694 1.02938 + 110 3.20405 1.01072 + 111 3.22212 0.99123 + 112 3.23911 0.97313 + 113 3.25702 0.95424 + 114 3.27599 0.93450 + 115 3.29616 0.91381 + 116 3.31768 0.89209 + 117 3.33780 0.87216 + 118 3.35919 0.85126 + 119 3.38211 0.82930 + 120 3.40672 0.80618 + 121 3.43330 0.78176 + 122 3.45875 0.75891 + 123 3.48532 0.73560 + 124 3.51407 0.71096 + 125 3.54324 0.68664 + 126 3.57492 0.66087 + 127 3.60708 0.63548 + 128 3.64217 0.60853 + 129 3.67172 0.58659 + 130 3.69858 0.56703 + 131 3.72738 0.54654 + 132 3.75650 0.52634 + 133 3.78780 0.50515 + 134 3.82164 0.48287 + 135 3.85602 0.46090 + 136 3.89327 0.43775 + 137 3.93118 0.41497 + 138 3.97243 0.39094 + 139 4.01440 0.36736 + 140 4.06023 0.34242 + 141 4.11072 0.31597 + 142 4.16210 0.29003 + 143 4.21858 0.26245 + 144 4.28127 0.23300 + 145 4.34532 0.20412 + 146 4.41017 0.17609 + 147 4.47618 0.14922 + 148 4.48469 0.14613 + 149 4.66160 0.07968 diff --git a/secop_psi/calcurves/X88935.340 b/secop_psi/calcurves/X88935.340 new file mode 100644 index 0000000..6655d49 --- /dev/null +++ b/secop_psi/calcurves/X88935.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X88935 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-16 + +No. Units Temperature (K) + + 1 1.82634 2.51858 + 2 1.83178 2.51188 + 3 1.83842 2.50379 + 4 1.84464 2.49624 + 5 1.85100 2.48855 + 6 1.85749 2.48073 + 7 1.86412 2.47276 + 8 1.87091 2.46464 + 9 1.87785 2.45637 + 10 1.88494 2.44793 + 11 1.89218 2.43933 + 12 1.89958 2.43056 + 13 1.90716 2.42160 + 14 1.91491 2.41246 + 15 1.92283 2.40312 + 16 1.93021 2.39445 + 17 1.93774 2.38561 + 18 1.94543 2.37658 + 19 1.95330 2.36736 + 20 1.96134 2.35793 + 21 1.96956 2.34830 + 22 1.97798 2.33846 + 23 1.98659 2.32838 + 24 1.99540 2.31806 + 25 2.00443 2.30750 + 26 2.01367 2.29667 + 27 2.02315 2.28556 + 28 2.03286 2.27416 + 29 2.04281 2.26245 + 30 2.05200 2.25164 + 31 2.06140 2.24055 + 32 2.07101 2.22917 + 33 2.08086 2.21748 + 34 2.09095 2.20548 + 35 2.10129 2.19312 + 36 2.11189 2.18041 + 37 2.12278 2.16732 + 38 2.13394 2.15381 + 39 2.14542 2.13988 + 40 2.15590 2.12710 + 41 2.16663 2.11394 + 42 2.17766 2.10037 + 43 2.18898 2.08636 + 44 2.20062 2.07188 + 45 2.21260 2.05690 + 46 2.22493 2.04139 + 47 2.23766 2.02531 + 48 2.24914 2.01072 + 49 2.25756 2.00000 + 50 2.26613 1.98900 + 51 2.27491 1.97772 + 52 2.28388 1.96614 + 53 2.29306 1.95424 + 54 2.30246 1.94201 + 55 2.31211 1.92942 + 56 2.32200 1.91645 + 57 2.33215 1.90309 + 58 2.34257 1.88930 + 59 2.35114 1.87795 + 60 2.35989 1.86629 + 61 2.36885 1.85431 + 62 2.37804 1.84198 + 63 2.38746 1.82930 + 64 2.39714 1.81624 + 65 2.40707 1.80277 + 66 2.41729 1.78888 + 67 2.42833 1.77379 + 68 2.43916 1.75891 + 69 2.45035 1.74351 + 70 2.46072 1.72916 + 71 2.47140 1.71433 + 72 2.48241 1.69897 + 73 2.49377 1.68305 + 74 2.50551 1.66652 + 75 2.51765 1.64933 + 76 2.52882 1.63347 + 77 2.54034 1.61700 + 78 2.55302 1.59879 + 79 2.56540 1.58092 + 80 2.57824 1.56229 + 81 2.59074 1.54407 + 82 2.60371 1.52504 + 83 2.61720 1.50515 + 84 2.63033 1.48572 + 85 2.64398 1.46538 + 86 2.65824 1.44404 + 87 2.67209 1.42325 + 88 2.68655 1.40140 + 89 2.70056 1.38021 + 90 2.71521 1.35793 + 91 2.73062 1.33445 + 92 2.74551 1.31175 + 93 2.75687 1.29447 + 94 2.76641 1.27989 + 95 2.77628 1.26482 + 96 2.78652 1.24920 + 97 2.79715 1.23300 + 98 2.80736 1.21748 + 99 2.81796 1.20140 + 100 2.82901 1.18469 + 101 2.83957 1.16879 + 102 2.85057 1.15229 + 103 2.86207 1.13513 + 104 2.87410 1.11727 + 105 2.88557 1.10037 + 106 2.89758 1.08279 + 107 2.91019 1.06446 + 108 2.92213 1.04727 + 109 2.93465 1.02938 + 110 2.94784 1.01072 + 111 2.96178 0.99123 + 112 2.97489 0.97313 + 113 2.98870 0.95424 + 114 3.00333 0.93450 + 115 3.01889 0.91381 + 116 3.03549 0.89209 + 117 3.05100 0.87216 + 118 3.06750 0.85126 + 119 3.08517 0.82930 + 120 3.10416 0.80618 + 121 3.12465 0.78176 + 122 3.14428 0.75891 + 123 3.16475 0.73560 + 124 3.18691 0.71096 + 125 3.20936 0.68664 + 126 3.23372 0.66087 + 127 3.25841 0.63548 + 128 3.28532 0.60853 + 129 3.30793 0.58659 + 130 3.32846 0.56703 + 131 3.35042 0.54654 + 132 3.37260 0.52634 + 133 3.39640 0.50515 + 134 3.42209 0.48287 + 135 3.44815 0.46090 + 136 3.47636 0.43775 + 137 3.50504 0.41497 + 138 3.53623 0.39094 + 139 3.56792 0.36736 + 140 3.60248 0.34242 + 141 3.64047 0.31597 + 142 3.67905 0.29003 + 143 3.72131 0.26245 + 144 3.76774 0.23300 + 145 3.81487 0.20412 + 146 3.86245 0.17609 + 147 3.91082 0.14922 + 148 3.91706 0.14613 + 149 4.04669 0.07968 diff --git a/secop_psi/calcurves/X88944.340 b/secop_psi/calcurves/X88944.340 new file mode 100644 index 0000000..ff575cf --- /dev/null +++ b/secop_psi/calcurves/X88944.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X88944 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-22 + +No. Units Temperature (K) + + 1 1.85641 2.51858 + 2 1.86289 2.51188 + 3 1.87080 2.50379 + 4 1.87822 2.49624 + 5 1.88582 2.48855 + 6 1.89359 2.48073 + 7 1.90154 2.47276 + 8 1.90968 2.46464 + 9 1.91800 2.45637 + 10 1.92652 2.44793 + 11 1.93524 2.43933 + 12 1.94415 2.43056 + 13 1.95328 2.42160 + 14 1.96263 2.41246 + 15 1.97219 2.40312 + 16 1.98109 2.39445 + 17 1.99020 2.38561 + 18 1.99950 2.37658 + 19 2.00903 2.36736 + 20 2.01877 2.35793 + 21 2.02875 2.34830 + 22 2.03897 2.33846 + 23 2.04943 2.32838 + 24 2.06016 2.31806 + 25 2.07116 2.30750 + 26 2.08244 2.29667 + 27 2.09401 2.28556 + 28 2.10590 2.27416 + 29 2.11809 2.26245 + 30 2.12937 2.25164 + 31 2.14091 2.24055 + 32 2.15274 2.22917 + 33 2.16489 2.21748 + 34 2.17735 2.20548 + 35 2.19015 2.19312 + 36 2.20329 2.18041 + 37 2.21681 2.16732 + 38 2.23071 2.15381 + 39 2.24502 2.13988 + 40 2.25811 2.12710 + 41 2.27155 2.11394 + 42 2.28538 2.10037 + 43 2.29961 2.08636 + 44 2.31428 2.07188 + 45 2.32940 2.05690 + 46 2.34500 2.04139 + 47 2.36114 2.02531 + 48 2.37573 2.01072 + 49 2.38645 2.00000 + 50 2.39739 1.98900 + 51 2.40859 1.97772 + 52 2.42007 1.96614 + 53 2.43183 1.95424 + 54 2.44390 1.94201 + 55 2.45630 1.92942 + 56 2.46904 1.91645 + 57 2.48214 1.90309 + 58 2.49562 1.88930 + 59 2.50671 1.87795 + 60 2.51806 1.86629 + 61 2.52971 1.85431 + 62 2.54167 1.84198 + 63 2.55396 1.82930 + 64 2.56659 1.81624 + 65 2.57959 1.80277 + 66 2.59298 1.78888 + 67 2.60749 1.77379 + 68 2.62176 1.75891 + 69 2.63651 1.74351 + 70 2.65023 1.72916 + 71 2.66437 1.71433 + 72 2.67898 1.69897 + 73 2.69408 1.68305 + 74 2.70973 1.66652 + 75 2.72595 1.64933 + 76 2.74090 1.63347 + 77 2.75636 1.61700 + 78 2.77340 1.59879 + 79 2.79007 1.58092 + 80 2.80741 1.56229 + 81 2.82433 1.54407 + 82 2.84191 1.52504 + 83 2.86025 1.50515 + 84 2.87812 1.48572 + 85 2.89675 1.46538 + 86 2.91625 1.44404 + 87 2.93522 1.42325 + 88 2.95508 1.40140 + 89 2.97434 1.38021 + 90 2.99454 1.35793 + 91 3.01581 1.33445 + 92 3.03640 1.31175 + 93 3.05214 1.29447 + 94 3.06537 1.27989 + 95 3.07907 1.26482 + 96 3.09330 1.24920 + 97 3.10809 1.23300 + 98 3.12230 1.21748 + 99 3.13708 1.20140 + 100 3.15248 1.18469 + 101 3.16722 1.16879 + 102 3.18258 1.15229 + 103 3.19866 1.13513 + 104 3.21549 1.11727 + 105 3.23156 1.10037 + 106 3.24838 1.08279 + 107 3.26605 1.06446 + 108 3.28280 1.04727 + 109 3.30037 1.02938 + 110 3.31890 1.01072 + 111 3.33849 0.99123 + 112 3.35690 0.97313 + 113 3.37633 0.95424 + 114 3.39692 0.93450 + 115 3.41881 0.91381 + 116 3.44219 0.89209 + 117 3.46406 0.87216 + 118 3.48732 0.85126 + 119 3.51226 0.82930 + 120 3.53907 0.80618 + 121 3.56805 0.78176 + 122 3.59583 0.75891 + 123 3.62485 0.73560 + 124 3.65631 0.71096 + 125 3.68825 0.68664 + 126 3.72299 0.66087 + 127 3.75830 0.63548 + 128 3.79688 0.60853 + 129 3.82940 0.58659 + 130 3.85898 0.56703 + 131 3.89071 0.54654 + 132 3.92283 0.52634 + 133 3.95736 0.50515 + 134 3.99470 0.48287 + 135 4.03267 0.46090 + 136 4.07384 0.43775 + 137 4.11577 0.41497 + 138 4.16145 0.39094 + 139 4.20799 0.36736 + 140 4.25890 0.34242 + 141 4.31507 0.31597 + 142 4.37230 0.29003 + 143 4.43522 0.26245 + 144 4.50500 0.23300 + 145 4.57629 0.20412 + 146 4.64844 0.17609 + 147 4.72174 0.14922 + 148 4.73119 0.14613 + 149 4.92762 0.07968 diff --git a/secop_psi/calcurves/X88950.340 b/secop_psi/calcurves/X88950.340 new file mode 100644 index 0000000..620e1eb --- /dev/null +++ b/secop_psi/calcurves/X88950.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X88950 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-22 + +No. Units Temperature (K) + + 1 1.87470 2.51858 + 2 1.88130 2.51188 + 3 1.88936 2.50379 + 4 1.89693 2.49624 + 5 1.90469 2.48855 + 6 1.91262 2.48073 + 7 1.92074 2.47276 + 8 1.92905 2.46464 + 9 1.93755 2.45637 + 10 1.94625 2.44793 + 11 1.95514 2.43933 + 12 1.96424 2.43056 + 13 1.97355 2.42160 + 14 1.98309 2.41246 + 15 1.99284 2.40312 + 16 2.00192 2.39445 + 17 2.01120 2.38561 + 18 2.02068 2.37658 + 19 2.03038 2.36736 + 20 2.04031 2.35793 + 21 2.05047 2.34830 + 22 2.06087 2.33846 + 23 2.07153 2.32838 + 24 2.08245 2.31806 + 25 2.09365 2.30750 + 26 2.10513 2.29667 + 27 2.11691 2.28556 + 28 2.12901 2.27416 + 29 2.14142 2.26245 + 30 2.15290 2.25164 + 31 2.16465 2.24055 + 32 2.17670 2.22917 + 33 2.18907 2.21748 + 34 2.20175 2.20548 + 35 2.21478 2.19312 + 36 2.22816 2.18041 + 37 2.24192 2.16732 + 38 2.25607 2.15381 + 39 2.27064 2.13988 + 40 2.28396 2.12710 + 41 2.29765 2.11394 + 42 2.31172 2.10037 + 43 2.32620 2.08636 + 44 2.34113 2.07188 + 45 2.35652 2.05690 + 46 2.37240 2.04139 + 47 2.38882 2.02531 + 48 2.40367 2.01072 + 49 2.41457 2.00000 + 50 2.42570 1.98900 + 51 2.43711 1.97772 + 52 2.44878 1.96614 + 53 2.46075 1.95424 + 54 2.47303 1.94201 + 55 2.48564 1.92942 + 56 2.49861 1.91645 + 57 2.51194 1.90309 + 58 2.52565 1.88930 + 59 2.53694 1.87795 + 60 2.54849 1.86629 + 61 2.56035 1.85431 + 62 2.57252 1.84198 + 63 2.58502 1.82930 + 64 2.59788 1.81624 + 65 2.61112 1.80277 + 66 2.62475 1.78888 + 67 2.63952 1.77379 + 68 2.65404 1.75891 + 69 2.66906 1.74351 + 70 2.68303 1.72916 + 71 2.69743 1.71433 + 72 2.71231 1.69897 + 73 2.72769 1.68305 + 74 2.74363 1.66652 + 75 2.76015 1.64933 + 76 2.77538 1.63347 + 77 2.79113 1.61700 + 78 2.80849 1.59879 + 79 2.82548 1.58092 + 80 2.84316 1.56229 + 81 2.86039 1.54407 + 82 2.87832 1.52504 + 83 2.89701 1.50515 + 84 2.91523 1.48572 + 85 2.93423 1.46538 + 86 2.95411 1.44404 + 87 2.97346 1.42325 + 88 2.99372 1.40140 + 89 3.01336 1.38021 + 90 3.03397 1.35793 + 91 3.05567 1.33445 + 92 3.07669 1.31175 + 93 3.09275 1.29447 + 94 3.10625 1.27989 + 95 3.12024 1.26482 + 96 3.13477 1.24920 + 97 3.14987 1.23300 + 98 3.16438 1.21748 + 99 3.17948 1.20140 + 100 3.19521 1.18469 + 101 3.21027 1.16879 + 102 3.22597 1.15229 + 103 3.24240 1.13513 + 104 3.25961 1.11727 + 105 3.27603 1.10037 + 106 3.29323 1.08279 + 107 3.31131 1.06446 + 108 3.32844 1.04727 + 109 3.34642 1.02938 + 110 3.36538 1.01072 + 111 3.38543 0.99123 + 112 3.40429 0.97313 + 113 3.42419 0.95424 + 114 3.44529 0.93450 + 115 3.46773 0.91381 + 116 3.49170 0.89209 + 117 3.51413 0.87216 + 118 3.53800 0.85126 + 119 3.56360 0.82930 + 120 3.59113 0.80618 + 121 3.62090 0.78176 + 122 3.64945 0.75891 + 123 3.67929 0.73560 + 124 3.71165 0.71096 + 125 3.74452 0.68664 + 126 3.78028 0.66087 + 127 3.81664 0.63548 + 128 3.85638 0.60853 + 129 3.88989 0.58659 + 130 3.92037 0.56703 + 131 3.95308 0.54654 + 132 3.98620 0.52634 + 133 4.02182 0.50515 + 134 4.06036 0.48287 + 135 4.09956 0.46090 + 136 4.14209 0.43775 + 137 4.18543 0.41497 + 138 4.23269 0.39094 + 139 4.28085 0.36736 + 140 4.33356 0.34242 + 141 4.39171 0.31597 + 142 4.45093 0.29003 + 143 4.51603 0.26245 + 144 4.58830 0.23300 + 145 4.66228 0.20412 + 146 4.73697 0.17609 + 147 4.81235 0.14922 + 148 4.82207 0.14613 + 149 5.02411 0.07968 diff --git a/secop_psi/calcurves/X88951.340 b/secop_psi/calcurves/X88951.340 new file mode 100644 index 0000000..ab2dcfa --- /dev/null +++ b/secop_psi/calcurves/X88951.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X88951 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-22 + +No. Units Temperature (K) + + 1 1.81776 2.51858 + 2 1.82399 2.51188 + 3 1.83159 2.50379 + 4 1.83872 2.49624 + 5 1.84601 2.48855 + 6 1.85344 2.48073 + 7 1.86105 2.47276 + 8 1.86883 2.46464 + 9 1.87678 2.45637 + 10 1.88492 2.44793 + 11 1.89324 2.43933 + 12 1.90174 2.43056 + 13 1.91045 2.42160 + 14 1.91937 2.41246 + 15 1.92850 2.40312 + 16 1.93699 2.39445 + 17 1.94568 2.38561 + 18 1.95455 2.37658 + 19 1.96363 2.36736 + 20 1.97293 2.35793 + 21 1.98243 2.34830 + 22 1.99217 2.33846 + 23 2.00215 2.32838 + 24 2.01237 2.31806 + 25 2.02284 2.30750 + 26 2.03358 2.29667 + 27 2.04460 2.28556 + 28 2.05591 2.27416 + 29 2.06751 2.26245 + 30 2.07823 2.25164 + 31 2.08921 2.24055 + 32 2.10045 2.22917 + 33 2.11200 2.21748 + 34 2.12383 2.20548 + 35 2.13600 2.19312 + 36 2.14848 2.18041 + 37 2.16131 2.16732 + 38 2.17450 2.15381 + 39 2.18808 2.13988 + 40 2.20050 2.12710 + 41 2.21325 2.11394 + 42 2.22636 2.10037 + 43 2.23985 2.08636 + 44 2.25374 2.07188 + 45 2.26807 2.05690 + 46 2.28285 2.04139 + 47 2.29812 2.02531 + 48 2.31193 2.01072 + 49 2.32206 2.00000 + 50 2.33240 1.98900 + 51 2.34299 1.97772 + 52 2.35383 1.96614 + 53 2.36494 1.95424 + 54 2.37634 1.94201 + 55 2.38804 1.92942 + 56 2.40006 1.91645 + 57 2.41241 1.90309 + 58 2.42512 1.88930 + 59 2.43556 1.87795 + 60 2.44626 1.86629 + 61 2.45722 1.85431 + 62 2.46848 1.84198 + 63 2.48004 1.82930 + 64 2.49192 1.81624 + 65 2.50414 1.80277 + 66 2.51673 1.78888 + 67 2.53036 1.77379 + 68 2.54375 1.75891 + 69 2.55761 1.74351 + 70 2.57048 1.72916 + 71 2.58375 1.71433 + 72 2.59745 1.69897 + 73 2.61161 1.68305 + 74 2.62628 1.66652 + 75 2.64148 1.64933 + 76 2.65547 1.63347 + 77 2.66995 1.61700 + 78 2.68590 1.59879 + 79 2.70150 1.58092 + 80 2.71772 1.56229 + 81 2.73353 1.54407 + 82 2.74996 1.52504 + 83 2.76708 1.50515 + 84 2.78376 1.48572 + 85 2.80114 1.46538 + 86 2.81931 1.44404 + 87 2.83697 1.42325 + 88 2.85546 1.40140 + 89 2.87336 1.38021 + 90 2.89213 1.35793 + 91 2.91187 1.33445 + 92 2.93096 1.31175 + 93 2.94554 1.29447 + 94 2.95779 1.27989 + 95 2.97046 1.26482 + 96 2.98362 1.24920 + 97 2.99729 1.23300 + 98 3.01041 1.21748 + 99 3.02405 1.20140 + 100 3.03826 1.18469 + 101 3.05184 1.16879 + 102 3.06600 1.15229 + 103 3.08080 1.13513 + 104 3.09630 1.11727 + 105 3.11107 1.10037 + 106 3.12653 1.08279 + 107 3.14277 1.06446 + 108 3.15816 1.04727 + 109 3.17429 1.02938 + 110 3.19129 1.01072 + 111 3.20925 0.99123 + 112 3.22614 0.97313 + 113 3.24394 0.95424 + 114 3.26280 0.93450 + 115 3.28284 0.91381 + 116 3.30423 0.89209 + 117 3.32423 0.87216 + 118 3.34548 0.85126 + 119 3.36825 0.82930 + 120 3.39270 0.80618 + 121 3.41910 0.78176 + 122 3.44439 0.75891 + 123 3.47076 0.73560 + 124 3.49932 0.71096 + 125 3.52827 0.68664 + 126 3.55972 0.66087 + 127 3.59162 0.63548 + 128 3.62644 0.60853 + 129 3.65575 0.58659 + 130 3.68239 0.56703 + 131 3.71095 0.54654 + 132 3.73983 0.52634 + 133 3.77088 0.50515 + 134 3.80443 0.48287 + 135 3.83853 0.46090 + 136 3.87547 0.43775 + 137 3.91307 0.41497 + 138 3.95399 0.39094 + 139 3.99561 0.36736 + 140 4.04107 0.34242 + 141 4.09115 0.31597 + 142 4.14212 0.29003 + 143 4.19814 0.26245 + 144 4.26029 0.23300 + 145 4.32369 0.20412 + 146 4.38774 0.17609 + 147 4.45286 0.14922 + 148 4.46126 0.14613 + 149 4.63578 0.07968 diff --git a/secop_psi/calcurves/X89009.340 b/secop_psi/calcurves/X89009.340 new file mode 100644 index 0000000..02dc3bc --- /dev/null +++ b/secop_psi/calcurves/X89009.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X89009 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-16 + +No. Units Temperature (K) + + 1 1.80589 2.51858 + 2 1.81118 2.51188 + 3 1.81763 2.50379 + 4 1.82368 2.49624 + 5 1.82988 2.48855 + 6 1.83621 2.48073 + 7 1.84269 2.47276 + 8 1.84933 2.46464 + 9 1.85611 2.45637 + 10 1.86305 2.44793 + 11 1.87015 2.43933 + 12 1.87740 2.43056 + 13 1.88483 2.42160 + 14 1.89242 2.41246 + 15 1.90018 2.40312 + 16 1.90741 2.39445 + 17 1.91479 2.38561 + 18 1.92232 2.37658 + 19 1.93002 2.36736 + 20 1.93790 2.35793 + 21 1.94595 2.34830 + 22 1.95419 2.33846 + 23 1.96261 2.32838 + 24 1.97124 2.31806 + 25 1.98008 2.30750 + 26 1.98912 2.29667 + 27 1.99839 2.28556 + 28 2.00789 2.27416 + 29 2.01762 2.26245 + 30 2.02660 2.25164 + 31 2.03579 2.24055 + 32 2.04518 2.22917 + 33 2.05482 2.21748 + 34 2.06468 2.20548 + 35 2.07479 2.19312 + 36 2.08515 2.18041 + 37 2.09579 2.16732 + 38 2.10670 2.15381 + 39 2.11791 2.13988 + 40 2.12814 2.12710 + 41 2.13863 2.11394 + 42 2.14940 2.10037 + 43 2.16045 2.08636 + 44 2.17181 2.07188 + 45 2.18351 2.05690 + 46 2.19554 2.04139 + 47 2.20795 2.02531 + 48 2.21916 2.01072 + 49 2.22736 2.00000 + 50 2.23573 1.98900 + 51 2.24429 1.97772 + 52 2.25303 1.96614 + 53 2.26198 1.95424 + 54 2.27115 1.94201 + 55 2.28055 1.92942 + 56 2.29019 1.91645 + 57 2.30008 1.90309 + 58 2.31024 1.88930 + 59 2.31858 1.87795 + 60 2.32711 1.86629 + 61 2.33585 1.85431 + 62 2.34480 1.84198 + 63 2.35398 1.82930 + 64 2.36340 1.81624 + 65 2.37308 1.80277 + 66 2.38303 1.78888 + 67 2.39379 1.77379 + 68 2.40435 1.75891 + 69 2.41524 1.74351 + 70 2.42534 1.72916 + 71 2.43574 1.71433 + 72 2.44646 1.69897 + 73 2.45751 1.68305 + 74 2.46894 1.66652 + 75 2.48076 1.64933 + 76 2.49162 1.63347 + 77 2.50283 1.61700 + 78 2.51515 1.59879 + 79 2.52718 1.58092 + 80 2.53966 1.56229 + 81 2.55179 1.54407 + 82 2.56438 1.52504 + 83 2.57747 1.50515 + 84 2.59020 1.48572 + 85 2.60343 1.46538 + 86 2.61724 1.44404 + 87 2.63065 1.42325 + 88 2.64465 1.40140 + 89 2.65819 1.38021 + 90 2.67236 1.35793 + 91 2.68725 1.33445 + 92 2.70164 1.31175 + 93 2.71261 1.29447 + 94 2.72182 1.27989 + 95 2.73135 1.26482 + 96 2.74123 1.24920 + 97 2.75150 1.23300 + 98 2.76135 1.21748 + 99 2.77158 1.20140 + 100 2.78224 1.18469 + 101 2.79243 1.16879 + 102 2.80304 1.15229 + 103 2.81413 1.13513 + 104 2.82574 1.11727 + 105 2.83680 1.10037 + 106 2.84838 1.08279 + 107 2.86054 1.06446 + 108 2.87205 1.04727 + 109 2.88412 1.02938 + 110 2.89683 1.01072 + 111 2.91026 0.99123 + 112 2.92288 0.97313 + 113 2.93618 0.95424 + 114 2.95027 0.93450 + 115 2.96523 0.91381 + 116 2.98119 0.89209 + 117 2.99610 0.87216 + 118 3.01195 0.85126 + 119 3.02890 0.82930 + 120 3.04711 0.80618 + 121 3.06675 0.78176 + 122 3.08554 0.75891 + 123 3.10512 0.73560 + 124 3.12630 0.71096 + 125 3.14775 0.68664 + 126 3.17102 0.66087 + 127 3.19458 0.63548 + 128 3.22026 0.60853 + 129 3.24183 0.58659 + 130 3.26140 0.56703 + 131 3.28235 0.54654 + 132 3.30349 0.52634 + 133 3.32616 0.50515 + 134 3.35062 0.48287 + 135 3.37542 0.46090 + 136 3.40223 0.43775 + 137 3.42946 0.41497 + 138 3.45902 0.39094 + 139 3.48902 0.36736 + 140 3.52169 0.34242 + 141 3.55757 0.31597 + 142 3.59396 0.29003 + 143 3.63386 0.26245 + 144 3.67812 0.23300 + 145 3.72327 0.20412 + 146 3.76885 0.17609 + 147 3.81518 0.14922 + 148 3.82115 0.14613 + 149 3.94533 0.07968 diff --git a/secop_psi/calcurves/X89063.340 b/secop_psi/calcurves/X89063.340 new file mode 100644 index 0000000..4814369 --- /dev/null +++ b/secop_psi/calcurves/X89063.340 @@ -0,0 +1,141 @@ +Sensor Model: CX-1010-quickcal0913 +Serial Number: X89063 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 100.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 132 + +No. Units Temperature (K) + +1 1.5 324 +2 1.760566506982 100 +3 1.764863641067 97.5 +4 1.769357418016 95 +5 1.77405304798 92.5 +6 1.778955982562 90 +7 1.784071934209 87.5 +8 1.789406898212 85 +9 1.794967177816 82.5 +10 1.800759413094 80 +11 1.806790614389 77.5 +12 1.813068201366 75 +13 1.819600049007 72.5 +14 1.825014210735 70.5 +15 1.830601009443 68.5 +16 1.836365260774 66.5 +17 1.84231207106 64.5 +18 1.848446872594 62.5 +19 1.854775465631 60.5 +20 1.860972787076 58.6 +21 1.867697595441 56.6 +22 1.874635985908 54.6 +23 1.881795819594 52.6 +24 1.888436104397 50.8 +25 1.895269612801 49 +26 1.902303921318 47.2 +27 1.909547420783 45.4 +28 1.917009476424 43.6 +29 1.924700630322 41.8 +30 1.931739185923 40.2 +31 1.938977767058 38.6 +32 1.94642728264 37 +33 1.954100282271 35.4 +34 1.962011345509 33.8 +35 1.969659356453 32.3 +36 1.977548258277 30.8 +37 1.985145936138 29.4 +38 1.99298975355 28 +39 2.001102622167 26.6 +40 2.008901065875 25.3 +41 2.016982330419 24 +42 2.024721327307 22.8 +43 2.032760922972 21.6 +44 2.041139955174 20.4 +45 2.047306346425 19.55 +46 2.052544923087 18.85 +47 2.057551522321 18.2 +48 2.062707712804 17.55 +49 2.068027678557 16.9 +50 2.073097873284 16.3 +51 2.078336311971 15.7 +52 2.083760011787 15.1 +53 2.088911225218 14.55 +54 2.094252072325 14 +55 2.09980268852 13.45 +56 2.10558639026 12.9 +57 2.111069319697 12.4 +58 2.116790940299 11.9 +59 2.122778717519 11.4 +60 2.129064676795 10.9 +61 2.135007896646 10.45 +62 2.141255002376 10 +63 2.147843371071 9.55 +64 2.154816896379 9.1 +65 2.161380660965 8.7 +66 2.168332521657 8.3 +67 2.175722897907 7.9 +68 2.183611427797 7.5 +69 2.190978068376 7.15 +70 2.198836764653 6.8 +71 2.207254258766 6.45 +72 2.216310048082 6.1 +73 2.225229023546 5.78 +74 2.23484878929 5.46 +75 2.245274753251 5.14 +76 2.255894741288 4.84 +77 2.266660282554 4.56 +78 2.278379566869 4.28 +79 2.290250804563 4.02 +80 2.300127279936 3.82 +81 2.309644302697 3.64 +82 2.319244912163 3.47 +83 2.329511109468 3.3 +84 2.339854047264 3.14 +85 2.351657222553 2.97 +86 2.363630755848 2.81 +87 2.375718367652 2.66 +88 2.38875220935 2.51 +89 2.401885848404 2.37 +90 2.416084913892 2.23 +91 2.430357492422 2.1 +92 2.445829516471 1.97 +93 2.461331765771 1.85 +94 2.478183546984 1.73 +95 2.496598660638 1.61 +96 2.515079503427 1.5 +97 2.53535649814 1.39 +98 2.555623824028 1.29 +99 2.573311117472 1.21 +100 2.585126500376 1.16 +101 2.595047155522 1.12 +102 2.605421221081 1.08 +103 2.616287653085 1.04 +104 2.627690691938 1 +105 2.639680876997 0.96 +106 2.652316317237 0.92 +107 2.663954271637 0.885 +108 2.676189632384 0.85 +109 2.689082343036 0.815 +110 2.702701950853 0.78 +111 2.717129774307 0.745 +112 2.732461709155 0.71 +113 2.746408905581 0.68 +114 2.761189007214 0.65 +115 2.776902605878 0.62 +116 2.793669606587 0.59 +117 2.811634382453 0.56 +118 2.830972710375 0.53 +119 2.848292024704 0.505 +120 2.862285826902 0.486 +121 2.876284137168 0.468 +122 2.89108353277 0.45 +123 2.906775862083 0.432 +124 2.923468934006 0.414 +125 2.941290229525 0.396 +126 2.960391702347 0.378 +127 2.978592380943 0.362 +128 2.998102235836 0.346 +129 3.019105517416 0.33 +130 3.03888234088 0.316 +131 3.057014093828 0.304 +132 3.063324002502 0.3 diff --git a/secop_psi/calcurves/X89129.340 b/secop_psi/calcurves/X89129.340 new file mode 100644 index 0000000..7967150 --- /dev/null +++ b/secop_psi/calcurves/X89129.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X89129 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-16 + +No. Units Temperature (K) + + 1 1.85337 2.51858 + 2 1.85868 2.51188 + 3 1.86516 2.50379 + 4 1.87123 2.49624 + 5 1.87744 2.48855 + 6 1.88377 2.48073 + 7 1.89025 2.47276 + 8 1.89687 2.46464 + 9 1.90363 2.45637 + 10 1.91054 2.44793 + 11 1.91760 2.43933 + 12 1.92481 2.43056 + 13 1.93219 2.42160 + 14 1.93974 2.41246 + 15 1.94745 2.40312 + 16 1.95463 2.39445 + 17 1.96196 2.38561 + 18 1.96944 2.37658 + 19 1.97709 2.36736 + 20 1.98491 2.35793 + 21 1.99290 2.34830 + 22 2.00107 2.33846 + 23 2.00944 2.32838 + 24 2.01800 2.31806 + 25 2.02677 2.30750 + 26 2.03574 2.29667 + 27 2.04494 2.28556 + 28 2.05437 2.27416 + 29 2.06402 2.26245 + 30 2.07294 2.25164 + 31 2.08205 2.24055 + 32 2.09137 2.22917 + 33 2.10092 2.21748 + 34 2.11070 2.20548 + 35 2.12073 2.19312 + 36 2.13100 2.18041 + 37 2.14154 2.16732 + 38 2.15236 2.15381 + 39 2.16347 2.13988 + 40 2.17361 2.12710 + 41 2.18400 2.11394 + 42 2.19466 2.10037 + 43 2.20561 2.08636 + 44 2.21687 2.07188 + 45 2.22845 2.05690 + 46 2.24037 2.04139 + 47 2.25266 2.02531 + 48 2.26375 2.01072 + 49 2.27187 2.00000 + 50 2.28015 1.98900 + 51 2.28862 1.97772 + 52 2.29727 1.96614 + 53 2.30612 1.95424 + 54 2.31519 1.94201 + 55 2.32449 1.92942 + 56 2.33402 1.91645 + 57 2.34381 1.90309 + 58 2.35385 1.88930 + 59 2.36210 1.87795 + 60 2.37053 1.86629 + 61 2.37917 1.85431 + 62 2.38802 1.84198 + 63 2.39709 1.82930 + 64 2.40639 1.81624 + 65 2.41596 1.80277 + 66 2.42579 1.78888 + 67 2.43641 1.77379 + 68 2.44683 1.75891 + 69 2.45758 1.74351 + 70 2.46756 1.72916 + 71 2.47782 1.71433 + 72 2.48840 1.69897 + 73 2.49931 1.68305 + 74 2.51058 1.66652 + 75 2.52224 1.64933 + 76 2.53295 1.63347 + 77 2.54401 1.61700 + 78 2.55616 1.59879 + 79 2.56802 1.58092 + 80 2.58033 1.56229 + 81 2.59229 1.54407 + 82 2.60470 1.52504 + 83 2.61760 1.50515 + 84 2.63015 1.48572 + 85 2.64319 1.46538 + 86 2.65680 1.44404 + 87 2.67000 1.42325 + 88 2.68379 1.40140 + 89 2.69713 1.38021 + 90 2.71108 1.35793 + 91 2.72574 1.33445 + 92 2.73989 1.31175 + 93 2.75069 1.29447 + 94 2.75975 1.27989 + 95 2.76912 1.26482 + 96 2.77884 1.24920 + 97 2.78893 1.23300 + 98 2.79861 1.21748 + 99 2.80867 1.20140 + 100 2.81914 1.18469 + 101 2.82914 1.16879 + 102 2.83956 1.15229 + 103 2.85044 1.13513 + 104 2.86183 1.11727 + 105 2.87269 1.10037 + 106 2.88404 1.08279 + 107 2.89596 1.06446 + 108 2.90724 1.04727 + 109 2.91907 1.02938 + 110 2.93152 1.01072 + 111 2.94467 0.99123 + 112 2.95703 0.97313 + 113 2.97004 0.95424 + 114 2.98382 0.93450 + 115 2.99846 0.91381 + 116 3.01406 0.89209 + 117 3.02863 0.87216 + 118 3.04412 0.85126 + 119 3.06068 0.82930 + 120 3.07846 0.80618 + 121 3.09762 0.78176 + 122 3.11595 0.75891 + 123 3.13506 0.73560 + 124 3.15570 0.71096 + 125 3.17661 0.68664 + 126 3.19926 0.66087 + 127 3.22221 0.63548 + 128 3.24719 0.60853 + 129 3.26817 0.58659 + 130 3.28719 0.56703 + 131 3.30754 0.54654 + 132 3.32807 0.52634 + 133 3.35007 0.50515 + 134 3.37380 0.48287 + 135 3.39784 0.46090 + 136 3.42381 0.43775 + 137 3.45016 0.41497 + 138 3.47874 0.39094 + 139 3.50773 0.36736 + 140 3.53929 0.34242 + 141 3.57392 0.31597 + 142 3.60907 0.29003 + 143 3.64762 0.26245 + 144 3.69035 0.23300 + 145 3.73391 0.20412 + 146 3.77788 0.17609 + 147 3.82258 0.14922 + 148 3.82835 0.14613 + 149 3.94815 0.07968 diff --git a/secop_psi/calcurves/X89135.340 b/secop_psi/calcurves/X89135.340 new file mode 100644 index 0000000..4151eb4 --- /dev/null +++ b/secop_psi/calcurves/X89135.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X89135 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-22 + +No. Units Temperature (K) + + 1 1.83018 2.51858 + 2 1.83644 2.51188 + 3 1.84407 2.50379 + 4 1.85124 2.49624 + 5 1.85859 2.48855 + 6 1.86609 2.48073 + 7 1.87377 2.47276 + 8 1.88164 2.46464 + 9 1.88968 2.45637 + 10 1.89792 2.44793 + 11 1.90634 2.43933 + 12 1.91496 2.43056 + 13 1.92378 2.42160 + 14 1.93282 2.41246 + 15 1.94206 2.40312 + 16 1.95067 2.39445 + 17 1.95947 2.38561 + 18 1.96846 2.37658 + 19 1.97766 2.36736 + 20 1.98708 2.35793 + 21 1.99671 2.34830 + 22 2.00658 2.33846 + 23 2.01668 2.32838 + 24 2.02704 2.31806 + 25 2.03766 2.30750 + 26 2.04854 2.29667 + 27 2.05970 2.28556 + 28 2.07117 2.27416 + 29 2.08293 2.26245 + 30 2.09380 2.25164 + 31 2.10493 2.24055 + 32 2.11633 2.22917 + 33 2.12805 2.21748 + 34 2.14005 2.20548 + 35 2.15239 2.19312 + 36 2.16506 2.18041 + 37 2.17809 2.16732 + 38 2.19148 2.15381 + 39 2.20527 2.13988 + 40 2.21788 2.12710 + 41 2.23083 2.11394 + 42 2.24415 2.10037 + 43 2.25786 2.08636 + 44 2.27198 2.07188 + 45 2.28654 2.05690 + 46 2.30157 2.04139 + 47 2.31709 2.02531 + 48 2.33114 2.01072 + 49 2.34144 2.00000 + 50 2.35196 1.98900 + 51 2.36274 1.97772 + 52 2.37376 1.96614 + 53 2.38506 1.95424 + 54 2.39666 1.94201 + 55 2.40857 1.92942 + 56 2.42080 1.91645 + 57 2.43337 1.90309 + 58 2.44630 1.88930 + 59 2.45694 1.87795 + 60 2.46783 1.86629 + 61 2.47900 1.85431 + 62 2.49046 1.84198 + 63 2.50223 1.82930 + 64 2.51434 1.81624 + 65 2.52679 1.80277 + 66 2.53961 1.78888 + 67 2.55350 1.77379 + 68 2.56715 1.75891 + 69 2.58127 1.74351 + 70 2.59439 1.72916 + 71 2.60792 1.71433 + 72 2.62190 1.69897 + 73 2.63634 1.68305 + 74 2.65130 1.66652 + 75 2.66681 1.64933 + 76 2.68109 1.63347 + 77 2.69586 1.61700 + 78 2.71214 1.59879 + 79 2.72807 1.58092 + 80 2.74463 1.56229 + 81 2.76077 1.54407 + 82 2.77755 1.52504 + 83 2.79505 1.50515 + 84 2.81209 1.48572 + 85 2.82985 1.46538 + 86 2.84843 1.44404 + 87 2.86649 1.42325 + 88 2.88540 1.40140 + 89 2.90372 1.38021 + 90 2.92291 1.35793 + 91 2.94312 1.33445 + 92 2.96267 1.31175 + 93 2.97759 1.29447 + 94 2.99013 1.27989 + 95 3.00312 1.26482 + 96 3.01660 1.24920 + 97 3.03060 1.23300 + 98 3.04405 1.21748 + 99 3.05803 1.20140 + 100 3.07259 1.18469 + 101 3.08652 1.16879 + 102 3.10104 1.15229 + 103 3.11621 1.13513 + 104 3.13211 1.11727 + 105 3.14727 1.10037 + 106 3.16313 1.08279 + 107 3.17980 1.06446 + 108 3.19559 1.04727 + 109 3.21215 1.02938 + 110 3.22961 1.01072 + 111 3.24805 0.99123 + 112 3.26540 0.97313 + 113 3.28369 0.95424 + 114 3.30307 0.93450 + 115 3.32367 0.91381 + 116 3.34566 0.89209 + 117 3.36623 0.87216 + 118 3.38810 0.85126 + 119 3.41153 0.82930 + 120 3.43671 0.80618 + 121 3.46390 0.78176 + 122 3.48996 0.75891 + 123 3.51715 0.73560 + 124 3.54660 0.71096 + 125 3.57648 0.68664 + 126 3.60894 0.66087 + 127 3.64190 0.63548 + 128 3.67787 0.60853 + 129 3.70817 0.58659 + 130 3.73572 0.56703 + 131 3.76525 0.54654 + 132 3.79512 0.52634 + 133 3.82724 0.50515 + 134 3.86196 0.48287 + 135 3.89725 0.46090 + 136 3.93550 0.43775 + 137 3.97444 0.41497 + 138 4.01682 0.39094 + 139 4.05996 0.36736 + 140 4.10709 0.34242 + 141 4.15901 0.31597 + 142 4.21185 0.29003 + 143 4.26994 0.26245 + 144 4.33444 0.23300 + 145 4.40040 0.20412 + 146 4.46710 0.17609 + 147 4.53481 0.14922 + 148 4.54354 0.14613 + 149 4.72500 0.07968 diff --git a/secop_psi/calcurves/X89136.340 b/secop_psi/calcurves/X89136.340 new file mode 100644 index 0000000..76fef82 --- /dev/null +++ b/secop_psi/calcurves/X89136.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X89136 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-16 + +No. Units Temperature (K) + + 1 1.81660 2.51858 + 2 1.82268 2.51188 + 3 1.83009 2.50379 + 4 1.83704 2.49624 + 5 1.84416 2.48855 + 6 1.85144 2.48073 + 7 1.85890 2.47276 + 8 1.86653 2.46464 + 9 1.87435 2.45637 + 10 1.88234 2.44793 + 11 1.89053 2.43933 + 12 1.89890 2.43056 + 13 1.90748 2.42160 + 14 1.91627 2.41246 + 15 1.92525 2.40312 + 16 1.93362 2.39445 + 17 1.94218 2.38561 + 18 1.95092 2.37658 + 19 1.95987 2.36736 + 20 1.96903 2.35793 + 21 1.97840 2.34830 + 22 1.98799 2.33846 + 23 1.99782 2.32838 + 24 2.00789 2.31806 + 25 2.01821 2.30750 + 26 2.02879 2.29667 + 27 2.03965 2.28556 + 28 2.05079 2.27416 + 29 2.06222 2.26245 + 30 2.07279 2.25164 + 31 2.08361 2.24055 + 32 2.09470 2.22917 + 33 2.10608 2.21748 + 34 2.11775 2.20548 + 35 2.12975 2.19312 + 36 2.14206 2.18041 + 37 2.15472 2.16732 + 38 2.16774 2.15381 + 39 2.18115 2.13988 + 40 2.19340 2.12710 + 41 2.20598 2.11394 + 42 2.21893 2.10037 + 43 2.23224 2.08636 + 44 2.24596 2.07188 + 45 2.26011 2.05690 + 46 2.27469 2.04139 + 47 2.28977 2.02531 + 48 2.30340 2.01072 + 49 2.31340 2.00000 + 50 2.32361 1.98900 + 51 2.33406 1.97772 + 52 2.34476 1.96614 + 53 2.35572 1.95424 + 54 2.36696 1.94201 + 55 2.37851 1.92942 + 56 2.39036 1.91645 + 57 2.40254 1.90309 + 58 2.41508 1.88930 + 59 2.42538 1.87795 + 60 2.43593 1.86629 + 61 2.44674 1.85431 + 62 2.45784 1.84198 + 63 2.46924 1.82930 + 64 2.48095 1.81624 + 65 2.49301 1.80277 + 66 2.50542 1.78888 + 67 2.51886 1.77379 + 68 2.53206 1.75891 + 69 2.54572 1.74351 + 70 2.55841 1.72916 + 71 2.57150 1.71433 + 72 2.58501 1.69897 + 73 2.59898 1.68305 + 74 2.61344 1.66652 + 75 2.62843 1.64933 + 76 2.64223 1.63347 + 77 2.65651 1.61700 + 78 2.67224 1.59879 + 79 2.68762 1.58092 + 80 2.70362 1.56229 + 81 2.71921 1.54407 + 82 2.73540 1.52504 + 83 2.75228 1.50515 + 84 2.76872 1.48572 + 85 2.78585 1.46538 + 86 2.80376 1.44404 + 87 2.82116 1.42325 + 88 2.83937 1.40140 + 89 2.85700 1.38021 + 90 2.87547 1.35793 + 91 2.89490 1.33445 + 92 2.91368 1.31175 + 93 2.92802 1.29447 + 94 2.94007 1.27989 + 95 2.95253 1.26482 + 96 2.96547 1.24920 + 97 2.97891 1.23300 + 98 2.99180 1.21748 + 99 3.00521 1.20140 + 100 3.01917 1.18469 + 101 3.03252 1.16879 + 102 3.04643 1.15229 + 103 3.06097 1.13513 + 104 3.07618 1.11727 + 105 3.09070 1.10037 + 106 3.10588 1.08279 + 107 3.12183 1.06446 + 108 3.13693 1.04727 + 109 3.15277 1.02938 + 110 3.16947 1.01072 + 111 3.18710 0.99123 + 112 3.20368 0.97313 + 113 3.22115 0.95424 + 114 3.23966 0.93450 + 115 3.25933 0.91381 + 116 3.28032 0.89209 + 117 3.29994 0.87216 + 118 3.32080 0.85126 + 119 3.34313 0.82930 + 120 3.36711 0.80618 + 121 3.39300 0.78176 + 122 3.41778 0.75891 + 123 3.44363 0.73560 + 124 3.47160 0.71096 + 125 3.49996 0.68664 + 126 3.53074 0.66087 + 127 3.56197 0.63548 + 128 3.59604 0.60853 + 129 3.62472 0.58659 + 130 3.65079 0.56703 + 131 3.67872 0.54654 + 132 3.70697 0.52634 + 133 3.73733 0.50515 + 134 3.77014 0.48287 + 135 3.80348 0.46090 + 136 3.83960 0.43775 + 137 3.87634 0.41497 + 138 3.91632 0.39094 + 139 3.95697 0.36736 + 140 4.00135 0.34242 + 141 4.05022 0.31597 + 142 4.09993 0.29003 + 143 4.15458 0.26245 + 144 4.21540 0.23300 + 145 4.27751 0.20412 + 146 4.34019 0.17609 + 147 4.40392 0.14922 + 148 4.41214 0.14613 + 149 4.58294 0.07968 diff --git a/secop_psi/calcurves/X89143.340 b/secop_psi/calcurves/X89143.340 new file mode 100644 index 0000000..eb7037b --- /dev/null +++ b/secop_psi/calcurves/X89143.340 @@ -0,0 +1,159 @@ +Sensor Model: CX-unknown +Serial Number: X89143 +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 330.1 +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 149 +Calibration date: 2014-04-16 + +No. Units Temperature (K) + + 1 1.81775 2.51858 + 2 1.82382 2.51188 + 3 1.83124 2.50379 + 4 1.83818 2.49624 + 5 1.84531 2.48855 + 6 1.85258 2.48073 + 7 1.86003 2.47276 + 8 1.86766 2.46464 + 9 1.87546 2.45637 + 10 1.88345 2.44793 + 11 1.89161 2.43933 + 12 1.89997 2.43056 + 13 1.90852 2.42160 + 14 1.91728 2.41246 + 15 1.92624 2.40312 + 16 1.93458 2.39445 + 17 1.94311 2.38561 + 18 1.95182 2.37658 + 19 1.96074 2.36736 + 20 1.96987 2.35793 + 21 1.97921 2.34830 + 22 1.98878 2.33846 + 23 1.99858 2.32838 + 24 2.00862 2.31806 + 25 2.01892 2.30750 + 26 2.02948 2.29667 + 27 2.04031 2.28556 + 28 2.05144 2.27416 + 29 2.06285 2.26245 + 30 2.07340 2.25164 + 31 2.08421 2.24055 + 32 2.09528 2.22917 + 33 2.10665 2.21748 + 34 2.11831 2.20548 + 35 2.13030 2.19312 + 36 2.14259 2.18041 + 37 2.15524 2.16732 + 38 2.16825 2.15381 + 39 2.18163 2.13988 + 40 2.19387 2.12710 + 41 2.20644 2.11394 + 42 2.21937 2.10037 + 43 2.23267 2.08636 + 44 2.24637 2.07188 + 45 2.26049 2.05690 + 46 2.27506 2.04139 + 47 2.29012 2.02531 + 48 2.30373 2.01072 + 49 2.31372 2.00000 + 50 2.32391 1.98900 + 51 2.33435 1.97772 + 52 2.34504 1.96614 + 53 2.35599 1.95424 + 54 2.36723 1.94201 + 55 2.37876 1.92942 + 56 2.39061 1.91645 + 57 2.40278 1.90309 + 58 2.41531 1.88930 + 59 2.42561 1.87795 + 60 2.43616 1.86629 + 61 2.44697 1.85431 + 62 2.45807 1.84198 + 63 2.46946 1.82930 + 64 2.48117 1.81624 + 65 2.49323 1.80277 + 66 2.50564 1.78888 + 67 2.51908 1.77379 + 68 2.53228 1.75891 + 69 2.54594 1.74351 + 70 2.55863 1.72916 + 71 2.57171 1.71433 + 72 2.58522 1.69897 + 73 2.59918 1.68305 + 74 2.61365 1.66652 + 75 2.62863 1.64933 + 76 2.64242 1.63347 + 77 2.65669 1.61700 + 78 2.67241 1.59879 + 79 2.68778 1.58092 + 80 2.70377 1.56229 + 81 2.71934 1.54407 + 82 2.73553 1.52504 + 83 2.75240 1.50515 + 84 2.76882 1.48572 + 85 2.78594 1.46538 + 86 2.80383 1.44404 + 87 2.82123 1.42325 + 88 2.83943 1.40140 + 89 2.85705 1.38021 + 90 2.87552 1.35793 + 91 2.89495 1.33445 + 92 2.91373 1.31175 + 93 2.92807 1.29447 + 94 2.94012 1.27989 + 95 2.95259 1.26482 + 96 2.96553 1.24920 + 97 2.97897 1.23300 + 98 2.99186 1.21748 + 99 3.00527 1.20140 + 100 3.01924 1.18469 + 101 3.03259 1.16879 + 102 3.04649 1.15229 + 103 3.06103 1.13513 + 104 3.07625 1.11727 + 105 3.09076 1.10037 + 106 3.10594 1.08279 + 107 3.12188 1.06446 + 108 3.13698 1.04727 + 109 3.15281 1.02938 + 110 3.16949 1.01072 + 111 3.18710 0.99123 + 112 3.20366 0.97313 + 113 3.22112 0.95424 + 114 3.23961 0.93450 + 115 3.25926 0.91381 + 116 3.28022 0.89209 + 117 3.29982 0.87216 + 118 3.32065 0.85126 + 119 3.34296 0.82930 + 120 3.36692 0.80618 + 121 3.39279 0.78176 + 122 3.41756 0.75891 + 123 3.44340 0.73560 + 124 3.47136 0.71096 + 125 3.49972 0.68664 + 126 3.53050 0.66087 + 127 3.56172 0.63548 + 128 3.59578 0.60853 + 129 3.62444 0.58659 + 130 3.65049 0.56703 + 131 3.67839 0.54654 + 132 3.70662 0.52634 + 133 3.73694 0.50515 + 134 3.76972 0.48287 + 135 3.80304 0.46090 + 136 3.83914 0.43775 + 137 3.87589 0.41497 + 138 3.91587 0.39094 + 139 3.95653 0.36736 + 140 4.00090 0.34242 + 141 4.04973 0.31597 + 142 4.09942 0.29003 + 143 4.15408 0.26245 + 144 4.21460 0.23300 + 145 4.27623 0.20412 + 146 4.33843 0.17609 + 147 4.40167 0.14922 + 148 4.40982 0.14613 + 149 4.57930 0.07968 diff --git a/secop_psi/calcurves/X92364.340 b/secop_psi/calcurves/X92364.340 new file mode 100644 index 0000000..11ee4a9 --- /dev/null +++ b/secop_psi/calcurves/X92364.340 @@ -0,0 +1,165 @@ +Sensor Model: CX-1050-SD-HT-1.4M +Serial Number: X92364 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 420.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 156 + +No. Units Temperature (K) + + 1 1.79616 420.000 + 2 1.80449 411.000 + 3 1.81258 402.500 + 4 1.82089 394.000 + 5 1.82943 385.500 + 6 1.83823 377.000 + 7 1.84727 368.500 + 8 1.85659 360.000 + 9 1.86619 351.500 + 10 1.87549 343.500 + 11 1.88506 335.500 + 12 1.89491 327.500 + 13 1.90314 321.000 + 14 1.91025 315.500 + 15 1.91750 310.000 + 16 1.92490 304.500 + 17 1.93246 299.000 + 18 1.94017 293.500 + 19 1.94805 288.000 + 20 1.95609 282.500 + 21 1.96431 277.000 + 22 1.97271 271.500 + 23 1.98129 266.000 + 24 1.99007 260.500 + 25 1.99904 255.000 + 26 2.00821 249.500 + 27 2.01760 244.000 + 28 2.02722 238.500 + 29 2.03706 233.000 + 30 2.04621 228.000 + 31 2.05557 223.000 + 32 2.06514 218.000 + 33 2.07492 213.000 + 34 2.08494 208.000 + 35 2.09519 203.000 + 36 2.10568 198.000 + 37 2.11642 193.000 + 38 2.12742 188.000 + 39 2.13870 183.000 + 40 2.15026 178.000 + 41 2.16212 173.000 + 42 2.17429 168.000 + 43 2.18553 163.500 + 44 2.19703 159.000 + 45 2.20883 154.500 + 46 2.22093 150.000 + 47 2.23335 145.500 + 48 2.24610 141.000 + 49 2.25920 136.500 + 50 2.27268 132.000 + 51 2.28656 127.500 + 52 2.29925 123.500 + 53 2.31229 119.500 + 54 2.32570 115.500 + 55 2.33951 111.500 + 56 2.35374 107.500 + 57 2.36843 103.500 + 58 2.37979 100.500 + 59 2.38945 98.000 + 60 2.39933 95.500 + 61 2.40943 93.000 + 62 2.41976 90.500 + 63 2.43034 88.000 + 64 2.44118 85.500 + 65 2.45229 83.000 + 66 2.46369 80.500 + 67 2.47541 78.000 + 68 2.48745 75.500 + 69 2.49984 73.000 + 70 2.51004 71.000 + 71 2.52048 69.000 + 72 2.53119 67.000 + 73 2.54218 65.000 + 74 2.55348 63.000 + 75 2.56510 61.000 + 76 2.57706 59.000 + 77 2.58938 57.000 + 78 2.60210 55.000 + 79 2.61523 53.000 + 80 2.62745 51.200 + 81 2.64003 49.400 + 82 2.65304 47.600 + 83 2.66648 45.800 + 84 2.68039 44.000 + 85 2.69482 42.200 + 86 2.70811 40.600 + 87 2.72186 39.000 + 88 2.73613 37.400 + 89 2.75095 35.800 + 90 2.76540 34.300 + 91 2.78042 32.800 + 92 2.79606 31.300 + 93 2.81129 29.900 + 94 2.82716 28.500 + 95 2.84376 27.100 + 96 2.85989 25.800 + 97 2.87677 24.500 + 98 2.89313 23.300 + 99 2.91028 22.100 +100 2.92835 20.900 +101 2.94103 20.100 +102 2.95165 19.450 +103 2.96264 18.800 +104 2.97402 18.150 +105 2.98583 17.500 +106 2.99714 16.900 +107 3.00889 16.300 +108 3.02111 15.700 +109 3.03384 15.100 +110 3.04603 14.550 +111 3.05873 14.000 +112 3.07201 13.450 +113 3.08465 12.950 +114 3.09785 12.450 +115 3.11170 11.950 +116 3.12626 11.450 +117 3.14005 11.000 +118 3.15453 10.550 +119 3.16981 10.100 +120 3.18596 9.650 +121 3.20117 9.250 +122 3.21724 8.850 +123 3.23430 8.450 +124 3.25246 8.050 +125 3.27186 7.650 +126 3.29002 7.300 +127 3.30937 6.950 +128 3.33012 6.600 +129 3.35245 6.250 +130 3.37662 5.900 +131 3.39902 5.600 +132 3.42317 5.300 +133 3.44939 5.000 +134 3.47604 4.720 +135 3.50505 4.440 +136 3.53460 4.180 +137 3.56061 3.970 +138 3.58315 3.800 +139 3.60726 3.630 +140 3.63316 3.460 +141 3.65942 3.300 +142 3.68769 3.140 +143 3.71635 2.990 +144 3.74730 2.840 +145 3.78096 2.690 +146 3.81521 2.550 +147 3.85250 2.410 +148 3.89043 2.280 +149 3.93185 2.150 +150 3.97751 2.020 +151 4.02413 1.900 +152 4.07128 1.790 +153 4.12340 1.680 +154 4.18186 1.570 +155 4.24171 1.470 +156 4.28808 1.400 diff --git a/secop_psi/calcurves/X94977.340 b/secop_psi/calcurves/X94977.340 new file mode 100644 index 0000000..9fd65af --- /dev/null +++ b/secop_psi/calcurves/X94977.340 @@ -0,0 +1,155 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X94977 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 145 + +No. Units Temperature (K) + + 1 1.77898 325.000 + 2 1.78533 319.000 + 3 1.79127 313.500 + 4 1.79734 308.000 + 5 1.80353 302.500 + 6 1.80984 297.000 + 7 1.81629 291.500 + 8 1.82288 286.000 + 9 1.82961 280.500 + 10 1.83648 275.000 + 11 1.84351 269.500 + 12 1.85069 264.000 + 13 1.85803 258.500 + 14 1.86553 253.000 + 15 1.87321 247.500 + 16 1.88106 242.000 + 17 1.88910 236.500 + 18 1.89733 231.000 + 19 1.90576 225.500 + 20 1.91360 220.500 + 21 1.92161 215.500 + 22 1.92981 210.500 + 23 1.93819 205.500 + 24 1.94678 200.500 + 25 1.95556 195.500 + 26 1.96456 190.500 + 27 1.97379 185.500 + 28 1.98324 180.500 + 29 1.99294 175.500 + 30 2.00289 170.500 + 31 2.01208 166.000 + 32 2.02148 161.500 + 33 2.03113 157.000 + 34 2.04102 152.500 + 35 2.05117 148.000 + 36 2.06159 143.500 + 37 2.07231 139.000 + 38 2.08332 134.500 + 39 2.09466 130.000 + 40 2.10503 126.000 + 41 2.11568 122.000 + 42 2.12664 118.000 + 43 2.13792 114.000 + 44 2.14954 110.000 + 45 2.16153 106.000 + 46 2.17393 102.000 + 47 2.18352 99.000 + 48 2.19169 96.500 + 49 2.20006 94.000 + 50 2.20862 91.500 + 51 2.21739 89.000 + 52 2.22638 86.500 + 53 2.23560 84.000 + 54 2.24508 81.500 + 55 2.25482 79.000 + 56 2.26483 76.500 + 57 2.27307 74.500 + 58 2.28150 72.500 + 59 2.29015 70.500 + 60 2.29902 68.500 + 61 2.30814 66.500 + 62 2.31751 64.500 + 63 2.32714 62.500 + 64 2.33707 60.500 + 65 2.34678 58.600 + 66 2.35732 56.600 + 67 2.36821 54.600 + 68 2.37833 52.800 + 69 2.38877 51.000 + 70 2.39955 49.200 + 71 2.41070 47.400 + 72 2.42225 45.600 + 73 2.43422 43.800 + 74 2.44526 42.200 + 75 2.45667 40.600 + 76 2.46850 39.000 + 77 2.48078 37.400 + 78 2.49355 35.800 + 79 2.50601 34.300 + 80 2.51897 32.800 + 81 2.53249 31.300 + 82 2.54565 29.900 + 83 2.55939 28.500 + 84 2.57272 27.200 + 85 2.58665 25.900 + 86 2.60125 24.600 + 87 2.61540 23.400 + 88 2.63024 22.200 + 89 2.64589 21.000 + 90 2.65825 20.100 + 91 2.66823 19.400 + 92 2.67783 18.750 + 93 2.68777 18.100 + 94 2.69809 17.450 + 95 2.70799 16.850 + 96 2.71826 16.250 + 97 2.72896 15.650 + 98 2.73918 15.100 + 99 2.74981 14.550 +100 2.76089 14.000 +101 2.77247 13.450 +102 2.78350 12.950 +103 2.79503 12.450 +104 2.80713 11.950 +105 2.81984 11.450 +106 2.83189 11.000 +107 2.84453 10.550 +108 2.85787 10.100 +109 2.87197 9.650 +110 2.88523 9.250 +111 2.89922 8.850 +112 2.91406 8.450 +113 2.92984 8.050 +114 2.94668 7.650 +115 2.96245 7.300 +116 2.97922 6.950 +117 2.99720 6.600 +118 3.01653 6.250 +119 3.03742 5.900 +120 3.05809 5.580 +121 3.07907 5.280 +122 3.10177 4.980 +123 3.12484 4.700 +124 3.14992 4.420 +125 3.17542 4.160 +126 3.19783 3.950 +127 3.21839 3.770 +128 3.23922 3.600 +129 3.26152 3.430 +130 3.28411 3.270 +131 3.30838 3.110 +132 3.33464 2.950 +133 3.36135 2.800 +134 3.38834 2.660 +135 3.41761 2.520 +136 3.44957 2.380 +137 3.48206 2.250 +138 3.51760 2.120 +139 3.55678 1.990 +140 3.59673 1.870 +141 3.64083 1.750 +142 3.68576 1.640 +143 3.73560 1.530 +144 3.78680 1.430 +145 3.80409 1.400 + diff --git a/secop_psi/calcurves/X94978.340 b/secop_psi/calcurves/X94978.340 new file mode 100644 index 0000000..02d8bb5 --- /dev/null +++ b/secop_psi/calcurves/X94978.340 @@ -0,0 +1,156 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: X94978 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 325.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 147 + +No. Units Temperature (K) + + 1 1.87838 325.000 + 2 1.88525 319.000 + 3 1.89167 313.500 + 4 1.89823 308.000 + 5 1.90492 302.500 + 6 1.91175 297.000 + 7 1.91873 291.500 + 8 1.92586 286.000 + 9 1.93313 280.500 + 10 1.94057 275.000 + 11 1.94817 269.500 + 12 1.95593 264.000 + 13 1.96386 258.500 + 14 1.97198 253.000 + 15 1.98028 247.500 + 16 1.98876 242.000 + 17 1.99745 236.500 + 18 2.00634 231.000 + 19 2.01545 225.500 + 20 2.02392 220.500 + 21 2.03258 215.500 + 22 2.04144 210.500 + 23 2.05051 205.500 + 24 2.05979 200.500 + 25 2.06929 195.500 + 26 2.07902 190.500 + 27 2.08900 185.500 + 28 2.09923 180.500 + 29 2.10973 175.500 + 30 2.12050 170.500 + 31 2.13045 166.000 + 32 2.14064 161.500 + 33 2.15108 157.000 + 34 2.16180 152.500 + 35 2.17280 148.000 + 36 2.18411 143.500 + 37 2.19573 139.000 + 38 2.20768 134.500 + 39 2.21999 130.000 + 40 2.23125 126.000 + 41 2.24282 122.000 + 42 2.25474 118.000 + 43 2.26701 114.000 + 44 2.27967 110.000 + 45 2.29274 106.000 + 46 2.30456 102.500 + 47 2.31322 100.000 + 48 2.32207 97.500 + 49 2.33112 95.000 + 50 2.34039 92.500 + 51 2.34989 90.000 + 52 2.35962 87.500 + 53 2.36961 85.000 + 54 2.37987 82.500 + 55 2.39042 80.000 + 56 2.40127 77.500 + 57 2.41020 75.500 + 58 2.41934 73.500 + 59 2.42871 71.500 + 60 2.43833 69.500 + 61 2.44822 67.500 + 62 2.45838 65.500 + 63 2.46883 63.500 + 64 2.47960 61.500 + 65 2.49126 59.400 + 66 2.50158 57.600 + 67 2.51219 55.800 + 68 2.52314 54.000 + 69 2.53444 52.200 + 70 2.54611 50.400 + 71 2.55819 48.600 + 72 2.57069 46.800 + 73 2.58365 45.000 + 74 2.59560 43.400 + 75 2.60796 41.800 + 76 2.62078 40.200 + 77 2.63408 38.600 + 78 2.64791 37.000 + 79 2.66141 35.500 + 80 2.67544 34.000 + 81 2.69008 32.500 + 82 2.70434 31.100 + 83 2.71920 29.700 + 84 2.73475 28.300 + 85 2.74988 27.000 + 86 2.76571 25.700 + 87 2.78106 24.500 + 88 2.79714 23.300 + 89 2.81408 22.100 + 90 2.83046 21.000 + 91 2.84455 20.100 + 92 2.85597 19.400 + 93 2.86695 18.750 + 94 2.87834 18.100 + 95 2.89018 17.450 + 96 2.90155 16.850 + 97 2.91337 16.250 + 98 2.92568 15.650 + 99 2.93745 15.100 +100 2.94971 14.550 +101 2.96252 14.000 +102 2.97471 13.500 +103 2.98743 13.000 +104 3.00078 12.500 +105 3.01478 12.000 +106 3.02953 11.500 +107 3.04351 11.050 +108 3.05821 10.600 +109 3.07373 10.150 +110 3.09016 9.700 +111 3.10564 9.300 +112 3.12199 8.900 +113 3.13935 8.500 +114 3.15785 8.100 +115 3.17510 7.750 +116 3.19342 7.400 +117 3.21300 7.050 +118 3.23397 6.700 +119 3.25656 6.350 +120 3.27742 6.050 +121 3.29898 5.760 +122 3.32303 5.460 +123 3.34908 5.160 +124 3.37553 4.880 +125 3.40427 4.600 +126 3.43345 4.340 +127 3.46531 4.080 +128 3.49214 3.880 +129 3.51654 3.710 +130 3.54269 3.540 +131 3.56915 3.380 +132 3.59758 3.220 +133 3.62832 3.060 +134 3.65955 2.910 +135 3.69109 2.770 +136 3.72525 2.630 +137 3.76251 2.490 +138 3.80034 2.360 +139 3.84166 2.230 +140 3.88717 2.100 +141 3.93352 1.980 +142 3.98451 1.860 +143 4.04114 1.740 +144 4.09895 1.630 +145 4.15722 1.530 +146 4.21593 1.440 +147 4.24507 1.400 diff --git a/secop_psi/calcurves/XCOND.340 b/secop_psi/calcurves/XCOND.340 new file mode 100644 index 0000000..a4bb09f --- /dev/null +++ b/secop_psi/calcurves/XCOND.340 @@ -0,0 +1,11 @@ +Sensor Model: CX-1050-AA-1.4L +Serial Number: XCOND +Data Format: 5 (Log Ohms/Log Kelvin) +SetPoint Limit: 1000.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 2 + +No. Units Temperature (K) + + 1 1.0 3.0 + 2 5.0 -1.0 diff --git a/secop_psi/calcurves/XTTO002.340 b/secop_psi/calcurves/XTTO002.340 new file mode 100644 index 0000000..3d7b168 --- /dev/null +++ b/secop_psi/calcurves/XTTO002.340 @@ -0,0 +1,184 @@ +Sensor Model: RX-103-TTO +Serial Number: XTTO002 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 100 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 175 + +No. Units Temperature (K) + +1 4.0104229327814656 100.00299999999999 +2 4.011033057713708 97.7315 +3 4.011684605329465 95.5109 +4 4.012356283057885 93.3322 +5 4.013039567222532 91.2087 +6 4.013422916322322 89.1333 +7 4.014360904100703 87.1029 +8 4.015078798426963 85.1206 +9 4.0159294978370585 83.1836 +10 4.016711675253578 81.2922 +11 4.0172963418816146 79.4427 +12 4.018188528229057 77.635 +13 4.019004065891014 75.8749 +14 4.019610564510405 74.1389 +15 4.020568434801363 72.4509 +16 4.021449797617328 70.8015 +17 4.022486108304155 69.1891 +18 4.023079530723872 67.6141 +19 4.024136614128981 66.0759 +20 4.024986172442712 64.5692 +21 4.026189942247518 63.1179 +22 4.027059981567355 61.6765 +23 4.027744982347408 60.2754 +24 4.028847681785958 58.9036 +25 4.029907050991891 57.5487 +26 4.031012368708756 56.2399 +27 4.0317275029826325 54.9613 +28 4.033033519431138 53.7072 +29 4.033853815719714 52.4858 +30 4.034856972537934 51.2899 +31 4.035869813695553 50.1219 +32 4.0374583715953225 48.9782 +33 4.037987928670989 47.8627 +34 4.03939032156623 46.7753 +35 4.04031746343485 45.7102 +36 4.04158215414192 44.6696 +37 4.0429494038136164 43.6523 +38 4.043790465949818 42.6595 +39 4.045056842982055 41.6876 +40 4.046233650481332 40.7393 +41 4.047535755199612 39.8132 +42 4.048744694053373 38.9094 +43 4.049745060332918 38.0226 +44 4.050963321866368 37.1463 +45 4.052058769169967 36.3111 +46 4.053516360420291 35.4844 +47 4.054861917467395 34.6774 +48 4.055729906393189 33.8967 +49 4.05745308765826 33.117 +50 4.058642358551924 32.3605 +51 4.0597526942092985 31.6246 +52 4.061312969739176 30.9045 +53 4.06297661804169 30.2026 +54 4.064053457742979 29.5153 +55 4.065437789646456 28.843000000000004 +56 4.066717173286226 28.1873 +57 4.068044785926521 27.5438 +58 4.069734678695697 26.916999999999998 +59 4.0710162364152245 26.3035 +60 4.072668912777894 25.7035 +61 4.074216495343209 25.1192 +62 4.075554260398118 24.5472 +63 4.07703706132462 23.9879 +64 4.078761225005558 23.441999999999997 +65 4.080601236508595 22.9091 +66 4.081642498899093 22.3868 +67 4.083420196389811 21.8777 +68 4.084744244137608 21.3801 +69 4.086519991726252 20.893 +70 4.0879481492042515 20.4168 +71 4.090067500150455 19.9526 +72 4.091220125385867 19.4979 +73 4.093278064048096 19.0549 +74 4.095085623943178 18.6208 +75 4.096868318736437 18.197 +76 4.098307926190561 17.7827 +77 4.100263681741458 17.3781 +78 4.101774560069087 16.9819 +79 4.1038208188273355 16.5959 +80 4.105346654886877 16.2183 +81 4.107616929991784 15.8489 +82 4.109298375417481 15.488 +83 4.1112625136590655 15.136 +84 4.113184344461641 14.790999999999999 +85 4.114881083426878 14.454 +86 4.117145298828529 14.1245 +87 4.119061139126028 13.8038 +88 4.120883091451996 13.4899 +89 4.123093413148879 13.1832 +90 4.125097225171791 12.8817 +91 4.126829225648085 12.589 +92 4.129619007493405 12.3032 +93 4.131400500073085 12.0232 +94 4.133356849734173 11.7485 +95 4.135526996212498 11.4819 +96 4.137471215813121 11.2199 +97 4.139816140610575 10.9653 +98 4.1421015097802885 10.7148 +99 4.144446546742706 10.470999999999998 +100 4.146850224982149 10.2331 +101 4.148803099602747 9.9997 +102 4.151369850247461 9.7724 +103 4.153930660767533 9.55 +104 4.156394667662714 9.3322 +105 4.158772465537825 9.12 +106 4.160861529319655 8.9121 +107 4.163823050441688 8.7096 +108 4.166205063173285 8.5109 +109 4.1686388861122685 8.3174 +110 4.171158721589273 8.1282 +111 4.173960894838437 7.9433 +112 4.177005210406459 7.7626 +113 4.179637952157813 7.5857 +114 4.181860730809662 7.4129 +115 4.184975190698261 7.2445 +116 4.187864636100943 7.0792 +117 4.190373724635034 6.9065 +118 4.193430723726846 6.7588 +119 4.196250818671331 6.5953 +120 4.199030749259142 6.4568 +121 4.201571899505426 6.3099 +122 4.204998539742644 6.171 +123 4.20795196201429 6.0264 +124 4.211099173230202 5.8874 +125 4.214340410319735 5.7496 +126 4.21731545791844 5.6231 +127 4.220670213932294 5.4963 +128 4.2249291077037965 5.37 +129 4.22816672141398 5.2478 +130 4.231385475959811 5.1278 +131 4.23510151755358 5.0139 +132 4.238261941540129 4.9003 +133 4.242064137859023 4.7861 +134 4.245712495999452 4.6721 +135 4.248875268951156 4.5712 +136 4.252117261546594 4.4674 +137 4.255889729555257 4.3672 +138 4.260157283893169 4.265 +139 4.263408803302289 4.1673 +140 4.267129470667879 4.0729 +141 4.2709023296755015 3.9792 +142 4.275018654341535 3.8926 +143 4.2788084557387345 3.8016 +144 4.28282369472048 3.7133 +145 4.286737076128718 3.6328 +146 4.2906911244951935 3.5459 +147 4.294525744676973 3.4688 +148 4.298968727379185 3.3874 +149 4.302882647346662 3.3138 +150 4.307463946002273 3.2362 +151 4.311342675588567 3.1637 +152 4.316047966036108 3.0905 +153 4.320385186254212 3.0207 +154 4.324539662579065 2.9482 +155 4.329666306327115 2.8831 +156 4.333380764912811 2.8192 +157 4.3379601581388725 2.7557 +158 4.342706853309507 2.6916 +159 4.347583686308583 2.6285 +160 4.352155494502856 2.572 +161 4.357067296901225 2.5106 +162 4.362039283400967 2.4552 +163 4.366753455625536 2.4002 +164 4.371260018164283 2.344 +165 4.377227910686107 2.29 +166 4.382328685692975 2.2405 +167 4.387400505579934 2.1888 +168 4.392030054400074 2.1390000000000002 +169 4.396847688404126 2.0893 +170 4.4013591774326 2.0431 +171 4.406175560673559 1.9934 +172 4.41003788212696 1.9511 +173 4.414762831169472 1.9058 +174 4.4200663721572555 1.8633 +175 4.427455272443663 1.8004 diff --git a/secop_psi/calcurves/XTTO002a.340 b/secop_psi/calcurves/XTTO002a.340 new file mode 100644 index 0000000..7cb76c9 --- /dev/null +++ b/secop_psi/calcurves/XTTO002a.340 @@ -0,0 +1,183 @@ +Sensor Model: RX-103-TTO +Serial Number: XTTO002a +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 100 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 174 + +No. Units Temperature (K) + +1 4.0106670573706324 100.00099466667 +2 4.0111448774734 97.731025 +3 4.012004901285349 95.505884333333 +4 4.01269694882884 93.331408333333 +5 4.013232969117525 91.20824133333299 +6 4.013968990296233 89.13163566666599 +7 4.014718096406518 87.102528666667 +8 4.0153809805442595 85.122500333333 +9 4.0160643112748415 83.184678 +10 4.017036137148449 81.29130166666701 +11 4.017727891421887 79.440533 +12 4.018664638771681 77.632738 +13 4.019436705097836 75.865494666666 +14 4.02008565856189 74.13770933333299 +15 4.021010125981641 72.45212866666701 +16 4.021939979372234 70.802873666667 +17 4.022852985758024 69.192447 +18 4.02352793312656 67.61219966666701 +19 4.024580370240116 66.08155866666701 +20 4.025414316086612 64.57639133333299 +21 4.02624369282631 63.104822333333 +22 4.027410622203087 61.667822333333 +23 4.028260683470422 60.26319399999999 +24 4.029055659962325 58.89240600000001 +25 4.0302680798695505 57.553824333333 +26 4.031262718850438 56.249776666667 +27 4.03218576807223 54.971355666667 +28 4.033063597510859 53.720985666667005 +29 4.034258460350128 52.497841333333 +30 4.035272830134295 51.287464666667006 +31 4.03626578039376 50.11998 +32 4.037392244434821 48.97883333333299 +33 4.038368982615551 47.863696999999995 +34 4.039502026817599 46.774813 +35 4.040634785736286 45.709548 +36 4.041762138891746 44.668543333333 +37 4.042943214268324 43.65206266666701 +38 4.044035770089678 42.658312 +39 4.045186552376295 41.687174 +40 4.046273499228152 40.738424 +41 4.047588562663012 39.811105 +42 4.048757879230075 38.906086333333 +43 4.050067400537674 38.019421 +44 4.051310319608496 37.155512 +45 4.052509003633583 36.309171666667 +46 4.053690085951587 35.482427333333 +47 4.054882943040063 34.675469666667 +48 4.0563171404104805 33.886043 +49 4.057603021414341 33.116896999999994 +50 4.058775774101097 32.364552666667 +51 4.060299718300276 31.627897666667 +52 4.061492576590596 30.907808333333 +53 4.062833839587024 30.204937666667 +54 4.064360049770602 29.517026333333 +55 4.065631891659003 28.845038 +56 4.067076549843156 28.188931666667 +57 4.06837150460706 27.546771333333 +58 4.069944886835125 26.919746666667 +59 4.071331060916329 26.306039000000002 +60 4.07288692251595 25.705896 +61 4.074327425728641 25.119217666666998 +62 4.075929932674133 24.547086666667 +63 4.077393647220644 23.987904666667 +64 4.078951334847458 23.441616 +65 4.0804383841766345 22.908235 +66 4.081989547714495 22.386197666666998 +67 4.083665855685799 21.877789666667 +68 4.085315176848345 21.379873666667 +69 4.086766156783442 20.892942 +70 4.088475048794056 20.416450333333 +71 4.090092006158576 19.952742 +72 4.091699519669708 19.498193 +73 4.093465345907357 19.0551 +74 4.095173746678969 18.621063 +75 4.096904419259106 18.197138333333 +76 4.098632871203112 17.782955666667 +77 4.1004108361254685 17.377953666667 +78 4.102196585697272 16.981875 +79 4.103967513694899 16.595900333333002 +80 4.10578309708148 16.217986666667 +81 4.107608308647776 15.849021666667 +82 4.109542539800871 15.487983999999999 +83 4.111452828737489 15.135865666667 +84 4.113282343296163 14.790922333333 +85 4.115241531911263 14.454043666667 +86 4.117117475128335 14.124980666667 +87 4.119222787912747 13.803933666667 +88 4.121269210628282 13.490022 +89 4.123319102492173 13.183012666666999 +90 4.125266678811737 12.881784333333002 +91 4.1273484966618765 12.589117333333002 +92 4.129484058294449 12.302708333333001 +93 4.1316317186473235 12.022959666667 +94 4.1338008005051385 11.748807333333001 +95 4.135912143695757 11.481967666666998 +96 4.138131494493737 11.219967333333 +97 4.140514747001584 10.964803 +98 4.142616993920583 10.714987333333 +99 4.144938498936504 10.471111333333 +100 4.147161429115252 10.233103333333 +101 4.149637897047795 9.999929 +102 4.152022385027386 9.7723823333333 +103 4.1544249470044745 9.5499816666667 +104 4.156842024667412 9.3325246666667 +105 4.159275580694969 9.120084 +106 4.1616842531193905 8.9123843333333 +107 4.164352003059265 8.709503999999999 +108 4.166760144978343 8.5114096666667 +109 4.169431968556213 8.317629666666699 +110 4.171983347413443 8.12832 +111 4.174665797142473 7.943275333333401 +112 4.177286258837225 7.76245 +113 4.180048991925079 7.585812666666699 +114 4.182718438161352 7.4130996666666995 +115 4.1853971202881235 7.244413666666699 +116 4.188278711274789 7.0794566666667 +117 4.191358015930143 6.9075013333333 +118 4.194079589363763 6.758989 +119 4.196448526578941 6.652382000000001 +120 4.199966003826825 6.456274 +121 4.2029221223557505 6.309762999999999 +122 4.205931315782943 6.1657393333333 +123 4.209020638398397 6.024938 +124 4.212091382863555 5.8880989999999995 +125 4.215283322296335 5.7543056666667 +126 4.218318715239435 5.6235026666667 +127 4.221625951523259 5.4953066666667 +128 4.224808856896659 5.370525 +129 4.228019396853508 5.248586 +130 4.231380488054773 5.128150333333401 +131 4.234837959225806 5.012082 +132 4.238158059688502 4.897636 +133 4.241548389761528 4.7860656666667 +134 4.245056361398168 4.6776006666667005 +135 4.24855409629802 4.570894 +136 4.251971570628691 4.4671076666667 +137 4.255713026168487 4.36488 +138 4.259382054927308 4.265727 +139 4.263180660880106 4.1692029999999995 +140 4.266906845384205 4.0733526666667 +141 4.270825485707948 3.981747 +142 4.274778346790879 3.8904629999999996 +143 4.278734689683132 3.8019736666667003 +144 4.2826189713868725 3.7154870000000004 +145 4.2866382410552015 3.6304866666667004 +146 4.290656750800536 3.5479386666667003 +147 4.294735030763624 3.4677223333333 +148 4.298796359812262 3.3877793333332997 +149 4.303126391862602 3.3115086666667004 +150 4.307331887794978 3.2364906666667004 +151 4.31155271141922 3.162509 +152 4.315854902894016 3.0903256666667 +153 4.320012493106781 3.0201683333332996 +154 4.3243949936534465 2.951324 +155 4.328905562741636 2.8839713333333 +156 4.333348158059748 2.8184613333332997 +157 4.33778698501428 2.7546316666667003 +158 4.342452935617255 2.6916863333333 +159 4.3469403223003535 2.6303073333333 +160 4.356154309007672 2.5126313333333 +161 4.3609187474963615 2.454644 +162 4.365893835578048 2.3981546666667004 +163 4.3710485619193165 2.3440823333333 +164 4.37540872260364 2.290713 +165 4.380204920268147 2.2383610000000003 +166 4.385212597018817 2.187445 +167 4.3900272661017805 2.1380213333333002 +168 4.395066181183016 2.0897153333333 +169 4.400077473752238 2.0416746666667 +170 4.40510982188596 1.9954226666666999 +171 4.410153211483849 1.9500663333333002 +172 4.415220686183494 1.9056773333333001 +173 4.420325566952256 1.8619883333333 +174 4.428856295378004 1.7999536666667 \ No newline at end of file diff --git a/secop_psi/calcurves/XTTO004.340 b/secop_psi/calcurves/XTTO004.340 new file mode 100644 index 0000000..6c96e36 --- /dev/null +++ b/secop_psi/calcurves/XTTO004.340 @@ -0,0 +1,184 @@ +Sensor Model: RX-103-TTO +Serial Number: XTTO004 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 100 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 175 + +No. Units Temperature (K) + +1 4.008135824605475 100.00299999999999 +2 4.008936406904035 97.7315 +3 4.009310641080199 95.5109 +4 4.00994779786479 93.3322 +5 4.010914489420639 91.2087 +6 4.011676149933909 89.1333 +7 4.011980440510842 87.1029 +8 4.01292154554456 85.1206 +9 4.013515543357108 83.1836 +10 4.014440728763975 81.2922 +11 4.015158491260141 79.4427 +12 4.0160174061920495 77.635 +13 4.016845382750578 75.8749 +14 4.0174256974069005 74.1389 +15 4.018467481271061 72.4509 +16 4.019253414422923 70.8015 +17 4.0196769786456095 69.1891 +18 4.021106568432121 67.6141 +19 4.021739057306924 66.0759 +20 4.022865332818903 64.5692 +21 4.023639241673914 63.1179 +22 4.0246703472520045 61.6765 +23 4.0250435705372425 60.2754 +24 4.026480149062127 58.9036 +25 4.027300670428161 57.5487 +26 4.02880704148181 56.2399 +27 4.029521755880346 54.9613 +28 4.030539005538995 53.7072 +29 4.031271084270531 52.4858 +30 4.0323447224179185 51.2899 +31 4.032936912043972 50.1219 +32 4.034540225330963 48.9782 +33 4.0354457487459 47.8627 +34 4.03640929760525 46.7753 +35 4.0377491106822365 45.7102 +36 4.038663867337858 44.6696 +37 4.040167036482847 43.6523 +38 4.040942364761539 42.6595 +39 4.042051523152904 41.6876 +40 4.043543032673608 40.7393 +41 4.044347656272274 39.8132 +42 4.0455224736681625 38.9094 +43 4.04660830808549 38.0226 +44 4.047944294244873 37.1463 +45 4.04907840557562 36.3111 +46 4.050530553629363 35.4844 +47 4.051692641798037 34.6774 +48 4.052920839015765 33.8967 +49 4.054521130653083 33.117 +50 4.0553553926803865 32.3605 +51 4.0566037885520485 31.6246 +52 4.0578866177941455 30.9045 +53 4.059491471269463 30.2026 +54 4.0608186707033935 29.5153 +55 4.062047717932797 28.843000000000004 +56 4.06344220045425 28.1873 +57 4.064985561086079 27.5438 +58 4.066329653195669 26.916999999999998 +59 4.067457715620406 26.3035 +60 4.06912025933216 25.7035 +61 4.070425786249036 25.1192 +62 4.072073349158126 24.5472 +63 4.073667038262255 23.9879 +64 4.074922442354038 23.441999999999997 +65 4.076458387712152 22.9091 +66 4.077956257253354 22.3868 +67 4.07982135844151 21.8777 +68 4.080770746840722 21.3801 +69 4.08289303328818 20.893 +70 4.084104195344151 20.4168 +71 4.08590750176431 19.9526 +72 4.087330567865698 19.4979 +73 4.08889411265287 19.0549 +74 4.090564878882318 18.6208 +75 4.092446931877078 18.197 +76 4.094041163488836 17.7827 +77 4.095984849627232 17.3781 +78 4.097489843195501 16.9819 +79 4.099172861952807 16.5959 +80 4.100859712514904 16.2183 +81 4.10284173703428 15.8489 +82 4.1046953315418495 15.488 +83 4.1062249048967985 15.136 +84 4.108202960784058 14.790999999999999 +85 4.11025965577253 14.454 +86 4.112149021120741 14.1245 +87 4.113472054195492 13.8038 +88 4.115707010837435 13.4899 +89 4.117966935491767 13.1832 +90 4.119598965178544 12.8817 +91 4.121756758487815 12.589 +92 4.123766732994386 12.3032 +93 4.125939716688161 12.0232 +94 4.127771932439844 11.7485 +95 4.12995721674802 11.4819 +96 4.132144374803128 11.2199 +97 4.134397068892673 10.9653 +98 4.13657472116507 10.7148 +99 4.13859633986822 10.470999999999998 +100 4.140624300239107 10.2331 +101 4.14335522865412 9.9997 +102 4.1454046434434195 9.7724 +103 4.147667050950311 9.55 +104 4.149979232439923 9.3322 +105 4.152401490881022 9.12 +106 4.155013993510371 8.9121 +107 4.1569729418962975 8.7096 +108 4.159861836054678 8.5109 +109 4.1623224006414326 8.3174 +110 4.164783961605498 8.1282 +111 4.1672050536342615 7.9433 +112 4.16962153976427 7.7626 +113 4.172608768462054 7.5857 +114 4.174856107981183 7.4129 +115 4.177660566344619 7.2445 +116 4.180163164370715 7.0792 +117 4.182990666368834 6.9065 +118 4.185621470804172 6.7588 +119 4.188399700082211 6.5953 +120 4.1915180817929425 6.4568 +121 4.193861716285275 6.3099 +122 4.1970488726136415 6.171 +123 4.199999125196797 6.0264 +124 4.202918583952621 5.8874 +125 4.205796917699117 5.7496 +126 4.208758361685042 5.6231 +127 4.211798430119764 5.4963 +128 4.2148703286112195 5.37 +129 4.21795220330608 5.2478 +130 4.2213933703388795 5.1278 +131 4.2244527741538 5.0139 +132 4.227619364203937 4.9003 +133 4.230995277679806 4.7861 +134 4.234570428187 4.6721 +135 4.237400457649894 4.5712 +136 4.240466874276181 4.4674 +137 4.244155847862022 4.3672 +138 4.247703281934172 4.265 +139 4.251151343175355 4.1673 +140 4.254651986005856 4.0729 +141 4.2584576861337835 3.9792 +142 4.262109215284617 3.8926 +143 4.265876305018723 3.8016 +144 4.269690361633088 3.7133 +145 4.273045278341623 3.6328 +146 4.276790273106281 3.5459 +147 4.2810538309034945 3.4688 +148 4.284577353981857 3.3874 +149 4.288517501797074 3.3138 +150 4.292479808320382 3.2362 +151 4.296781425248658 3.1637 +152 4.300704152596124 3.0905 +153 4.305093296061648 3.0207 +154 4.309008084904102 2.9482 +155 4.312987199275376 2.8831 +156 4.317616282741985 2.8192 +157 4.321666768998232 2.7557 +158 4.326055117640978 2.6916 +159 4.330576096087729 2.6285 +160 4.335078605050886 2.572 +161 4.339836868073593 2.5106 +162 4.344280246633632 2.4552 +163 4.348810920405178 2.4002 +164 4.353539255854608 2.344 +165 4.358353701033265 2.29 +166 4.36351420562684 2.2405 +167 4.367516188984583 2.1888 +168 4.372645087490317 2.1390000000000002 +169 4.376990981691228 2.0893 +170 4.3808170217402385 2.0431 +171 4.385422150904383 1.9934 +172 4.38994888115996 1.9511 +173 4.394122332740608 1.9058 +174 4.39854239145591 1.8633 +175 4.405127706268088 1.8004 diff --git a/secop_psi/calcurves/XTTO133.340 b/secop_psi/calcurves/XTTO133.340 new file mode 100644 index 0000000..2526321 --- /dev/null +++ b/secop_psi/calcurves/XTTO133.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-TTO +Serial Number: XTTO133 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 300 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + +1 1.70965 300.000 +2 1.72205 289.626 +3 1.73447 279.611 +4 1.74691 269.942 +5 1.75936 260.608 +6 1.77184 251.596 +7 1.78433 242.896 +8 1.79683 234.497 +9 1.80936 226.388 +10 1.82190 218.560 +11 1.83446 211.002 +12 1.84703 203.706 +13 1.85961 196.662 +14 1.87221 189.861 +15 1.88483 183.296 +16 1.89745 176.958 +17 1.91008 170.838 +18 1.92273 164.931 +19 1.93538 159.228 +20 1.94805 153.722 +21 1.96071 148.406 +22 1.97339 143.274 +23 1.98607 138.320 +24 1.99876 133.537 +25 2.01145 128.919 +26 2.02414 124.461 +27 2.03683 120.157 +28 2.04953 116.002 +29 2.06222 111.991 +30 2.07491 108.119 +31 2.08760 104.380 +32 2.10029 100.770 +33 2.11297 97.286 +34 2.12565 93.922 +35 2.13832 90.674 +36 2.15098 87.539 +37 2.16364 84.511 +38 2.17629 81.589 +39 2.18893 78.768 +40 2.20156 76.044 +41 2.21418 73.414 +42 2.22679 70.876 +43 2.23940 68.425 +44 2.25198 66.059 +45 2.26456 63.775 +46 2.27713 61.569 +47 2.28968 59.440 +48 2.30223 57.385 +49 2.31476 55.401 +50 2.32728 53.485 +51 2.33979 51.635 +52 2.35228 49.850 +53 2.36477 48.126 +54 2.37724 46.462 +55 2.38971 44.855 +56 2.40217 43.304 +57 2.41462 41.807 +58 2.42706 40.361 +59 2.43949 38.965 +60 2.45193 37.618 +61 2.46435 36.317 +62 2.47678 35.061 +63 2.48920 33.849 +64 2.50163 32.678 +65 2.51406 31.548 +66 2.52649 30.458 +67 2.53893 29.404 +68 2.55138 28.388 +69 2.56384 27.406 +70 2.57632 26.458 +71 2.58881 25.543 +72 2.60133 24.660 +73 2.61386 23.807 +74 2.62643 22.984 +75 2.63902 22.189 +76 2.65165 21.422 +77 2.66432 20.681 +78 2.67703 19.966 +79 2.68978 19.276 +80 2.70258 18.609 +81 2.71544 17.966 +82 2.72836 17.344 +83 2.74135 16.745 +84 2.75440 16.166 +85 2.76753 15.607 +86 2.78074 15.067 +87 2.79404 14.546 +88 2.80743 14.043 +89 2.82092 13.557 +90 2.83452 13.089 +91 2.84823 12.636 +92 2.86206 12.199 +93 2.87602 11.777 +94 2.89011 11.370 +95 2.90435 10.977 +96 2.91873 10.597 +97 2.93328 10.231 +98 2.94799 9.877 +99 2.96288 9.535 +100 2.97796 9.206 +101 2.99323 8.887 +102 3.00871 8.580 +103 3.02440 8.283 +104 3.04031 7.997 +105 3.05646 7.720 +106 3.07286 7.453 +107 3.08952 7.196 +108 3.10644 6.947 +109 3.12365 6.707 +110 3.14114 6.475 +111 3.15894 6.251 +112 3.17706 6.035 +113 3.19551 5.826 +114 3.21431 5.625 +115 3.23346 5.430 +116 3.25298 5.242 +117 3.27289 5.061 +118 3.29319 4.886 +119 3.31392 4.717 +120 3.33507 4.554 +121 3.35667 4.396 +122 3.37873 4.244 +123 3.40127 4.098 +124 3.42430 3.956 +125 3.44784 3.819 +126 3.47192 3.687 +127 3.49654 3.560 +128 3.52173 3.437 +129 3.54750 3.318 +130 3.57387 3.203 +131 3.60086 3.092 +132 3.62850 2.985 +133 3.65679 2.882 +134 3.68577 2.782 +135 3.71545 2.686 +136 3.74586 2.593 +137 3.77701 2.504 +138 3.80893 2.417 +139 3.84163 2.333 +140 3.87516 2.253 +141 3.90951 2.175 +142 3.94473 2.100 +143 3.98083 2.027 +144 4.01784 1.957 +145 4.05578 1.889 +146 4.09468 1.824 +147 4.13457 1.761 +148 4.17547 1.700 diff --git a/secop_psi/calcurves/XTTO191.340 b/secop_psi/calcurves/XTTO191.340 new file mode 100644 index 0000000..b6bf395 --- /dev/null +++ b/secop_psi/calcurves/XTTO191.340 @@ -0,0 +1,157 @@ +Sensor Model: CX-1050-TTO +Serial Number: XTTO191 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 300 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + +1 1.68340 300.000 +2 1.69632 289.626 +3 1.70923 279.611 +4 1.72211 269.942 +5 1.73498 260.608 +6 1.74784 251.596 +7 1.76069 242.896 +8 1.77354 234.497 +9 1.78637 226.388 +10 1.79920 218.560 +11 1.81203 211.002 +12 1.82486 203.706 +13 1.83769 196.662 +14 1.85052 189.861 +15 1.86336 183.296 +16 1.87619 176.958 +17 1.88903 170.838 +18 1.90188 164.931 +19 1.91473 159.228 +20 1.92758 153.722 +21 1.94044 148.406 +22 1.95331 143.274 +23 1.96618 138.320 +24 1.97906 133.537 +25 1.99195 128.919 +26 2.00484 124.461 +27 2.01774 120.157 +28 2.03064 116.002 +29 2.04355 111.991 +30 2.05646 108.119 +31 2.06938 104.380 +32 2.08230 100.770 +33 2.09522 97.286 +34 2.10815 93.922 +35 2.12108 90.674 +36 2.13401 87.539 +37 2.14694 84.511 +38 2.15988 81.589 +39 2.17281 78.768 +40 2.18575 76.044 +41 2.19868 73.414 +42 2.21161 70.876 +43 2.22454 68.425 +44 2.23746 66.059 +45 2.25039 63.775 +46 2.26331 61.569 +47 2.27622 59.440 +48 2.28913 57.385 +49 2.30204 55.401 +50 2.31494 53.485 +51 2.32783 51.635 +52 2.34073 49.850 +53 2.35361 48.126 +54 2.36649 46.462 +55 2.37937 44.855 +56 2.39223 43.304 +57 2.40510 41.807 +58 2.41796 40.361 +59 2.43082 38.965 +60 2.44367 37.618 +61 2.45652 36.317 +62 2.46937 35.061 +63 2.48222 33.849 +64 2.49507 32.678 +65 2.50792 31.548 +66 2.52077 30.458 +67 2.53363 29.404 +68 2.54649 28.388 +69 2.55936 27.406 +70 2.57225 26.458 +71 2.58514 25.543 +72 2.59805 24.660 +73 2.61097 23.807 +74 2.62392 22.984 +75 2.63689 22.189 +76 2.64988 21.422 +77 2.66291 20.681 +78 2.67597 19.966 +79 2.68906 19.276 +80 2.70219 18.609 +81 2.71537 17.966 +82 2.72860 17.344 +83 2.74188 16.745 +84 2.75522 16.166 +85 2.76863 15.607 +86 2.78210 15.067 +87 2.79565 14.546 +88 2.80928 14.043 +89 2.82300 13.557 +90 2.83681 13.089 +91 2.85072 12.636 +92 2.86474 12.199 +93 2.87887 11.777 +94 2.89312 11.370 +95 2.90751 10.977 +96 2.92203 10.597 +97 2.93671 10.231 +98 2.95153 9.877 +99 2.96652 9.535 +100 2.98169 9.206 +101 2.99704 8.887 +102 3.01259 8.580 +103 3.02834 8.283 +104 3.04431 7.997 +105 3.06050 7.720 +106 3.07694 7.453 +107 3.09362 7.196 +108 3.11057 6.947 +109 3.12779 6.707 +110 3.14531 6.475 +111 3.16312 6.251 +112 3.18126 6.035 +113 3.19972 5.826 +114 3.21853 5.625 +115 3.23770 5.430 +116 3.25724 5.242 +117 3.27718 5.061 +118 3.29753 4.886 +119 3.31830 4.717 +120 3.33952 4.554 +121 3.36119 4.396 +122 3.38334 4.244 +123 3.40599 4.098 +124 3.42916 3.956 +125 3.45286 3.819 +126 3.47712 3.687 +127 3.50195 3.560 +128 3.52738 3.437 +129 3.55343 3.318 +130 3.58012 3.203 +131 3.60747 3.092 +132 3.63551 2.985 +133 3.66425 2.882 +134 3.69373 2.782 +135 3.72397 2.686 +136 3.75499 2.593 +137 3.78682 2.504 +138 3.81948 2.417 +139 3.85300 2.333 +140 3.88741 2.253 +141 3.92274 2.175 +142 3.95901 2.100 +143 3.99625 2.027 +144 4.03450 1.957 +145 4.07377 1.889 +146 4.11411 1.824 +147 4.15555 1.761 +148 4.19810 1.700 diff --git a/secop_psi/calcurves/c020415.inp b/secop_psi/calcurves/c020415.inp new file mode 100644 index 0000000..444dc4c --- /dev/null +++ b/secop_psi/calcurves/c020415.inp @@ -0,0 +1,109 @@ +sens=c020415 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +87 278.58 +87.7 273.38 +88.4 267.75 +89.1 261.75 +89.9 254.55 +90.7 247.11 +91.6 238.55 +92.6 228.96 +93.7 218.46 +95 206.33 +96.6 192.03 +98.9 173.02 +104 138.05 +106.2 125.83 +108.4 115.1 +110.6 105.67 +112.8 97.379 +115 90.068 +117.2 83.601 +119.4 77.863 +121.7 72.535 +124.1 67.603 +126.6 63.049 +129.1 59.004 +131.7 55.261 +134.4 51.8 +137.3 48.498 +140.3 45.466 +143.4 42.683 +147 39.828 +150 37.712 +154 35.206 +158 33.003 +162 31.056 +166 29.324 +170 27.775 +175 26.057 +180 24.543 +185 23.201 +191 21.781 +197 20.532 +203 19.429 +210 18.293 +217 17.293 +225 16.29 +233 15.409 +242 14.539 +251 13.775 +261 13.028 +272 12.31 +284 11.628 +297 10.985 +311 10.384 +326 9.8244 +342 9.3062 +360 8.8014 +379 8.3407 +400 7.9007 +423 7.4854 +448 7.0969 +475 6.736 +505 6.3915 +540 6.0487 +580 5.7176 +620 5.4367 +670 5.1397 +720 4.8893 +780 4.6356 +840 4.4212 +910 4.2092 +990 4.0054 +1080 3.8132 +1180 3.6344 +1300 3.456 +1440 3.2845 +1600 3.1239 +1780 2.9757 +1990 2.8344 +2240 2.6977 +2530 2.5697 +2900 2.4393 +3300 2.3271 +3800 2.2154 +4400 2.1099 +5100 2.0131 +6000 1.916 +7100 1.8247 +8400 1.7416 +10000 1.663 +12000 1.5879 +14600 1.5142 +18000 1.4427 +22000 1.3801 +27000 1.3216 +34000 1.2614 +43000 1.2054 +55000 1.1518 +71000 1.1009 +93000 1.0519 +124000 1.0041 +300000 0.75 + + diff --git a/secop_psi/calcurves/c030307.inp b/secop_psi/calcurves/c030307.inp new file mode 100644 index 0000000..7e7681f --- /dev/null +++ b/secop_psi/calcurves/c030307.inp @@ -0,0 +1,34 @@ +sens=c030307 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +100000 0.42 +15000 1.05 +8000 1.42 +4000 1.99 +2000 2.77 +1600 3.1 +1400 3.32 +1200 3.61 +1000 4.01 +900 4.28 +800 4.61 +700 5.05 +600 5.64 +500 6.5 +400 7.96 +300 10.81 +265 12.68 +228 15.77 +206 18.96 +191 21.67 +180 24.48 +171 27.3 +154 35.2 +142 45 +134 60 +130 70 +90 310 + + diff --git a/secop_psi/calcurves/c030311.inp b/secop_psi/calcurves/c030311.inp new file mode 100644 index 0000000..3ee2056 --- /dev/null +++ b/secop_psi/calcurves/c030311.inp @@ -0,0 +1,107 @@ +sens=c030311 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +94 331.07 +95.6 301.46 +98.2 258.68 +100.3 229.17 +102.1 207.24 +103.8 189.07 +105.4 173.97 +107 160.58 +108.6 148.68 +110.2 138.09 +111.9 128.07 +113.6 119.17 +115.3 111.22 +117.1 103.71 +118.9 97.013 +120.8 90.694 +122.8 84.763 +124.8 79.468 +126.9 74.498 +129.1 69.849 +131.4 65.511 +133.8 61.473 +136.3 57.722 +138.9 54.241 +141.7 50.902 +144.6 47.825 +147.6 44.991 +151 42.141 +154 39.899 +158 37.247 +162 34.917 +166 32.859 +170 31.029 +174 29.394 +179 27.58 +184 25.982 +189 24.565 +195 23.065 +201 21.747 +207 20.581 +214 19.38 +221 18.324 +229 17.263 +237 16.331 +246 15.411 +255 14.602 +265 13.812 +276 13.051 +288 12.328 +301 11.646 +315 11.009 +330 10.416 +346 9.8657 +363 9.3576 +382 8.8648 +403 8.3941 +426 7.9501 +451 7.5349 +478 7.1492 +508 6.7812 +540 6.4443 +580 6.0862 +620 5.7828 +660 5.5221 +710 5.2433 +770 4.9621 +830 4.7255 +900 4.4923 +980 4.2688 +1070 4.0588 +1170 3.8641 +1280 3.685 +1410 3.5088 +1560 3.3408 +1730 3.184 +1930 3.0326 +2160 2.8904 +2430 2.7546 +2700 2.6432 +3100 2.5095 +3500 2.4024 +4000 2.2943 +4600 2.1908 +5300 2.0948 +6200 1.9976 +7300 1.9054 +8600 1.8209 +10300 1.736 +12400 1.6564 +15000 1.582 +18000 1.5166 +22000 1.4505 +27000 1.3888 +34000 1.3252 +43000 1.2661 +55000 1.2096 +71000 1.156 +93000 1.1043 +123000 1.0554 +170000 1.0039 + + diff --git a/secop_psi/calcurves/c1.inp b/secop_psi/calcurves/c1.inp new file mode 100644 index 0000000..ec5dc2b --- /dev/null +++ b/secop_psi/calcurves/c1.inp @@ -0,0 +1,74 @@ +sens=c1 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=100uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +range=333333 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +999999 1.00 +272100 1.03 +172977 1.12 +112093 1.21 +74662 1.31 +50854.6 1.42 +35305.6 1.53 +25003.3 1.66 +18090 1.80 +13356.3 1.94 +10053.4 2.10 +7697.32 2.28 +5986.53 2.47 +4724.73 2.67 +3784.47 2.89 +3069.36 3.13 +2518.99 3.39 +2091.39 3.67 +1755.38 3.97 +1487.08 4.30 +1273.44 4.66 +1101.81 5.04 +960.139 5.46 +844.434 5.91 +747.186 6.40 +665.698 6.93 +596.693 7.50 +539.771 8.12 +490.76 8.79 +448.006 9.52 +412.762 10.30 +380.541 11.15 +352.62 12.08 +328.321 13.07 +306.25 14.16 +288.286 15.32 +271.424 16.59 +256.195 17.96 +242.787 19.45 +230.54 21.05 +219.532 22.79 +209.575 24.68 +200.383 26.72 +192.065 28.93 +184.48 31.32 +177.432 33.91 +171.256 36.71 +165.012 39.74 +159.59 43.03 +154.324 46.58 +149.365 50.43 +144.78 54.60 +139.937 60.00 +133.722 68.50 +128.791 77.30 +123.897 88.60 +119.039 103.50 +114.217 124.20 +109.43 154.70 +107.05 176.00 +104.678 203.80 +102.316 240.90 +100.237 287.70 +99.6953 300.00 +90 310 + + diff --git a/secop_psi/calcurves/c12900.inp b/secop_psi/calcurves/c12900.inp new file mode 100644 index 0000000..4136dde --- /dev/null +++ b/secop_psi/calcurves/c12900.inp @@ -0,0 +1,87 @@ +sens=c12900 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +range=800000 +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1012550 1.20497 +546701 1.30399 +312268 1.40162 +114040 1.60623 +51444 1.80617 +26719.2 2.00576 +15435.5 2.20444 +9602.53 2.40494 +6397.94 2.60259 +4489.76 2.79906 +3219.32 3.00654 +2461.2 3.19842 +1897.64 3.40336 +1502.24 3.6079 +1230.54 3.80022 +1012.12 4.00621 +841.192 4.22067 +637.469 4.58241 +489.918 4.97865 +367.931 5.4844 +264.075 6.1965 +195.15 7.00194 +144.285 8.00824 +113.298 9.01723 +92.4347 10.0564 +78.2614 11.0715 +67.9423 12.0828 +60.1888 13.0842 +54.1233 14.0857 +49.3103 15.0747 +45.3379 16.0757 +42.0996 17.0531 +39.3391 18.0384 +36.9796 19.0217 +34.9151 20.0177 +32.9926 21.0862 +30.5452 22.6981 +28.6209 24.2233 +26.9266 25.8078 +25.4992 27.3598 +24.2509 28.9385 +23.0398 30.7055 +21.8009 32.8076 +20.3302 35.8012 +19.1087 38.8327 +18.0816 41.8826 +17.2216 44.8952 +16.4751 47.9305 +16.0348 49.938 +15.0984 54.8967 +14.3247 59.8577 +13.6715 64.8573 +13.1178 69.8244 +12.636 74.8078 +12.2143 79.7839 +11.8399 84.8244 +11.5105 89.8012 +11.2102 94.8438 +10.942 99.8132 +10.4716 109.826 +10.0743 119.846 +9.73462 129.833 +9.43818 139.857 +9.17665 149.828 +8.94393 159.859 +8.73457 169.862 +8.54545 179.864 +8.37336 189.826 +8.21397 199.879 +8.06779 209.858 +7.93285 219.86 +7.80698 229.843 +7.68873 239.855 +7.57774 249.851 +7.47313 259.852 +7.37448 269.854 +7.28072 279.868 +7.19198 289.881 +7.10731 299.874 +7.02683 309.874 + + diff --git a/secop_psi/calcurves/c17844.inp b/secop_psi/calcurves/c17844.inp new file mode 100644 index 0000000..bd1ab0a --- /dev/null +++ b/secop_psi/calcurves/c17844.inp @@ -0,0 +1,93 @@ +sens=c17844 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +range=1500000 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1600000.000 1.1 +970035.6003 1.20121 +505060.7083 1.30296 +338710.9339 1.3989 +120001.056 1.60059 +51903.02439 1.80271 +14804.70375 2.20221 +9145.783794 2.39764 +5892.856091 2.60368 +4098.343859 2.798 +2949.617582 2.99639 +2170.79842 3.20492 +1650.889664 3.41307 +1316.149683 3.60371 +1062.659731 3.80091 +877.1929825 3.99488 +724.6376812 4.20335 +465.1162791 4.77734 +358.4229391 5.17319 +274.7252747 5.65299 +201.2072435 6.31596 +150.6024096 7.06791 +111.1111111 8.04676 +85.17887564 9.11986 +70.92198582 10.0142 +59.9880024 10.982 +51.25576627 12.0445 +45.74565416 12.9337 +41.05090312 13.8897 +37.09198813 14.9045 +33.99048266 15.8801 +31.56565657 16.7995 +29.43773918 17.7499 +27.5862069 18.7256 +25.96728123 19.7153 +24.27184466 20.9274 +22.37637055 22.5615 +20.90301003 24.0999 +19.5427008 25.7898 +18.43657817 27.4256 +17.49475157 29.0442 +16.50709805 31.0254 +15.64945227 33.0448 +14.53911021 36.2007 +13.70801919 39.0782 +12.97690112 42.0868 +12.39157373 44.9234 +11.84553423 47.9836 +11.52339249 50.031 +10.84245907 55.0141 +10.28806584 59.9738 +9.811616954 65.062 +9.409993413 70.0969 +9.071117562 75.0211 +8.765778401 80.058 +8.494733265 85.1505 +8.25968448 90.1304 +8.048289738 95.0917 +7.840677435 100.499 +7.505817008 110.505 +7.22230247 120.57 +6.97934115 130.684 +6.770022341 140.651 +6.582411796 150.794 +6.416014372 160.824 +6.26605677 170.879 +6.130456106 181.012 +6.007810153 191.033 +5.895183635 201.141 +5.788376939 211.227 +5.691519636 221.232 +5.602554765 231.279 +5.518154729 241.451 +5.437442227 251.53 +5.361642807 261.574 +5.291285253 272.626 +5.2227503 281.619 +5.158095631 291.746 +5.096060745 301.885 +5.03626108 311.966 +5.007260528 317.011 +4.979831682 322.01 +4.947555907 328.015 +4.927322 331.981 + + diff --git a/secop_psi/calcurves/c2.inp b/secop_psi/calcurves/c2.inp new file mode 100644 index 0000000..a83e1bb --- /dev/null +++ b/secop_psi/calcurves/c2.inp @@ -0,0 +1,83 @@ +sens=c2 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=100uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +179323 0.607 +112538 0.749 +75275 0.891 +52838 1.033 +38592 1.176 +29156 1.318 +22674 1.460 +18077 1.593 +14725 1.709 +10302 1.930 +8000 2.112 +7000 2.211 +6500 2.272 +6000 2.332 +5500 2.404 +5000 2.500 +4500 2.595 +4000 2.713 +3500 2.865 +3000 3.050 +2800 3.142 +2600 3.234 +2400 3.349 +2200 3.485 +2000 3.644 +1800 3.825 +1600 4.051 +1500 4.186 +1400 4.342 +1300 4.510 +1200 4.711 +1100 4.945 +1000 5.233 +900 5.577 +800 6.008 +750 6.273 +700 6.582 +650 6.934 +600 7.363 +550 7.879 +500 8.516 +450 9.327 +400 10.412 +380 10.949 +360 11.541 +340 12.309 +320 13.188 +300 14.177 +280 15.498 +260 17.041 +240 19.140 +210 23.577 +200 25.693 +190 28.258 +180 31.496 +170 35.618 +165 38.056 +160 40.920 +155 44.302 +150 48.177 +145 52.835 +140 58.344 +135 65.188 +130 73.754 +126 82.556 +122 93.825 +118 108.675 +114 129.321 +110 159.772 +108 181.052 +106 208.836 +104 245.923 +102 299.013 +101.8 300.013 +100 330.010 + diff --git a/secop_psi/calcurves/c270.inp b/secop_psi/calcurves/c270.inp new file mode 100644 index 0000000..0f11452 --- /dev/null +++ b/secop_psi/calcurves/c270.inp @@ -0,0 +1,75 @@ +sens=c270 +unit=Ohm +type=C +form=loglog +curv +270 300 +273 280 +276 260 +280 240 +285 220 +290 200 +293 190 +296 180 +299 170 +304 160 +309 150 +314 140 +320 130 +326 120 +334 110 +343 100 +348 95 +354 90 +360 85 +367 80 +375 75 +384 70 +395 65 +407 60 +420 55 +435 50 +455 45 +485 40 +520 35 +560 30 +580 28 +610 26 +640 24 +680 22 +730 20 +790 18 +860 16 +980 14 +1120 12 +1350 10 +1510 9 +1770 8 +2170 7 +2700 6 +3100 5.5 +4500 4.5 +5000 4.2 +5500 4 +6200 3.75 +7100 3.5 +8400 3.25 +10000 3 +12300 2.8 +15000 2.6 +19500 2.4 +25500 2.2 +35000 2 +41000 1.9 +49000 1.8 +60000 1.7 +83000 1.6 +100000 1.55 +106600 1.46 +137100 1.318 +181500 1.176 +248500 1.033 +354000 0.891 +530000 0.75 +850000 0.6 + diff --git a/secop_psi/calcurves/c9r1al.inp b/secop_psi/calcurves/c9r1al.inp new file mode 100644 index 0000000..d1ed6af --- /dev/null +++ b/secop_psi/calcurves/c9r1al.inp @@ -0,0 +1,62 @@ +sens=c9r1al +unit=Ohm +type=C +form=loglog +curv +38580.4733 1.2 +25527.04753 1.32 +17468.3041 1.45 +12066.93001 1.6 +8650.280274 1.76 +6306.651073 1.94 +4694.252185 2.14 +3573.626135 2.36 +2783.444132 2.6 +2216.839621 2.86 +1791.14137 3.15 +1470.704612 3.47 +1227.87547 3.82 +1033.9 4.22 +880.7788603 4.67 +762.3400194 5.16 +668.2320962 5.7 +592.0511811 6.3 +530.3886753 6.96 +479.7006886 7.69 +437.5649046 8.5 +402.2469771 9.4 +372.7148658 10.39 +347.5924137 11.49 +326.2948196 12.7 +307.9980846 14.04 +292.2339082 15.52 +278.5371412 17.16 +266.6268462 18.97 +256.2075009 20.97 +247.0526452 23.18 +238.9529249 25.63 +231.8026482 28.33 +225.437156 31.32 +219.7716127 34.62 +214.7027482 38.27 +210.1529453 42.31 +206.069282 46.77 +202.3900793 51.7 +199.0677301 57.15 +196.059213 63.18 +193.330802 69.85 +190.8 77.4 +188.5955401 85.3 +186.5433486 94 +184.635154 103.6 +182.8665863 114.2 +181.2481553 125.8 +179.7615145 138.6 +178.4065199 152.7 +177.1754481 168.3 +176.0711025 185.5 +175.0943243 204.4 +174.2406583 225.2 +173.5048158 248.2 +172.9 273 +172.3429819 300.8 diff --git a/secop_psi/calcurves/c9r2ol.inp b/secop_psi/calcurves/c9r2ol.inp new file mode 100644 index 0000000..4cc324a --- /dev/null +++ b/secop_psi/calcurves/c9r2ol.inp @@ -0,0 +1,62 @@ +sens=c9r2ol +unit=Ohm +type=C +form=loglog +curv +38789.32947 1.2 +25664.68349 1.32 +17561.97111 1.45 +12131.12683 1.6 +8695.835664 1.76 +6339.419493 1.94 +4718.223268 2.14 +3591.48302 2.36 +2796.989741 2.6 +2227.293804 2.86 +1799.272921 3.15 +1477.087842 3.47 +1232.933811 3.82 +1037.9 4.22 +883.9434229 4.67 +764.8583732 5.16 +670.236992 5.7 +593.6404296 6.3 +531.6414898 6.96 +480.6769466 7.69 +438.3112675 8.5 +402.8006434 9.4 +373.1074033 10.39 +347.8478818 11.49 +326.4340868 12.7 +308.0375238 14.04 +292.1873372 15.52 +278.4158399 17.16 +266.4405616 18.97 +255.9643678 20.97 +246.7595627 23.18 +238.6156499 25.63 +231.4263609 28.33 +225.0261383 31.32 +219.3296834 34.62 +214.2331629 38.27 +209.658536 42.31 +205.5525921 46.77 +201.8533154 51.7 +198.5128393 57.15 +195.4879076 63.18 +192.7446102 69.85 +190.2 77.4 +187.9625977 85.3 +185.8374309 94 +183.8172669 103.6 +181.8985625 114.2 +180.0943165 125.8 +178.3856344 138.6 +176.773299 152.7 +175.2487852 168.3 +173.8160903 185.5 +172.4774782 204.4 +171.22817 225.2 +170.0608949 248.2 +169 273 +167.9638906 300.8 diff --git a/secop_psi/calcurves/c9r3tc.inp b/secop_psi/calcurves/c9r3tc.inp new file mode 100644 index 0000000..eba2386 --- /dev/null +++ b/secop_psi/calcurves/c9r3tc.inp @@ -0,0 +1,62 @@ +sens=c9r3tc +unit=Ohm +type=C +form=loglog +curv +33583.11255 1.2 +22221.9409 1.32 +15207.93789 1.45 +10506.80125 1.6 +7533.088074 1.76 +5493.288397 1.94 +4089.921887 2.14 +3114.574484 2.36 +2426.83216 2.6 +1933.682604 2.86 +1563.172136 3.15 +1284.276995 3.47 +1072.928372 3.82 +904.1 4.22 +770.8295786 4.67 +667.7452215 5.16 +585.837507 5.7 +519.5327324 6.3 +465.8641916 6.96 +421.7474265 7.69 +385.0741513 8.5 +354.3348616 9.4 +328.6313113 10.39 +306.7657492 11.49 +288.2291883 12.7 +272.3044532 14.04 +258.5839543 15.52 +246.6628445 17.16 +236.2966074 18.97 +227.2280324 20.97 +219.2600178 23.18 +212.2103503 25.63 +205.9870398 28.33 +200.4467739 31.32 +195.5157151 34.62 +191.1039813 38.27 +187.1440176 42.31 +183.5897629 46.77 +180.3875343 51.7 +177.4958965 57.15 +174.8774054 63.18 +172.5027073 69.85 +170.3 77.4 +168.3554821 85.3 +166.4930511 94 +164.7069389 103.6 +162.9944953 114.2 +161.3679759 125.8 +159.8109808 138.6 +158.3246563 152.7 +156.9014886 168.3 +155.5455151 185.5 +154.2593594 204.4 +153.0389377 225.2 +151.8774371 248.2 +150.8 273 +149.7365435 300.8 diff --git a/secop_psi/calcurves/c9r4bc.inp b/secop_psi/calcurves/c9r4bc.inp new file mode 100644 index 0000000..2793fb3 --- /dev/null +++ b/secop_psi/calcurves/c9r4bc.inp @@ -0,0 +1,62 @@ +sens=c9r4bc +unit=Ohm +type=C +form=loglog +curv +34741.52828 1.2 +22985.54894 1.32 +15727.80503 1.45 +10863.30101 1.6 +7786.249475 1.76 +5675.565508 1.94 +4223.431152 2.14 +3214.189828 2.36 +2502.548036 2.6 +1992.261231 2.86 +1608.875297 3.15 +1320.288379 3.47 +1101.595261 3.82 +926.9 4.22 +788.9983497 4.67 +682.331748 5.16 +597.5776902 5.7 +528.968784 6.3 +473.4352285 6.96 +427.7853788 7.69 +389.8376848 8.5 +358.0301859 9.4 +331.4334214 10.39 +308.8080177 11.49 +289.6272999 12.7 +273.1491705 14.04 +258.9518758 15.52 +246.6165002 17.16 +235.89003 18.97 +226.5063165 20.97 +218.2614085 23.18 +210.9667606 25.63 +204.5271863 28.33 +198.7943928 31.32 +193.6919766 34.62 +189.1269324 38.27 +185.0293576 42.31 +181.3515904 46.77 +178.0380823 51.7 +175.0459584 57.15 +172.3364731 63.18 +169.8792527 69.85 +167.6 77.4 +165.5852656 85.3 +163.6502528 94 +161.7890578 103.6 +159.9989837 114.2 +158.2929731 125.8 +156.6539552 138.6 +155.083202 152.7 +153.5728121 168.3 +152.1271003 185.5 +150.748961 204.4 +149.4341298 225.2 +148.1753057 248.2 +147 273 +145.836448 300.8 diff --git a/secop_psi/calcurves/c_1.inp b/secop_psi/calcurves/c_1.inp new file mode 100644 index 0000000..ccd717b --- /dev/null +++ b/secop_psi/calcurves/c_1.inp @@ -0,0 +1,24 @@ +sens=c_1 +unit=Ohm +type=C +form=loglog +curv +50049 1 +6549 2 +2249 3 +1149 4.2 +674 6 +399 10 +299 15 +259 20 +229 27 +209 35 +189 50 +173 77 +165 100 +156 150 +152 200 +147 300 +139 500 + + diff --git a/secop_psi/calcurves/c_2.inp b/secop_psi/calcurves/c_2.inp new file mode 100644 index 0000000..f623b60 --- /dev/null +++ b/secop_psi/calcurves/c_2.inp @@ -0,0 +1,24 @@ +sens=c_2 +unit=Ohm +type=C +form=loglog +curv +50053 1 +6553 2 +2253 3 +1153 4.2 +678 6 +403 10 +303 15 +263 20 +233 27 +213 35 +193 50 +177 77 +169 100 +160 150 +156 200 +151 300 +143 500 + + diff --git a/secop_psi/calcurves/c_3.inp b/secop_psi/calcurves/c_3.inp new file mode 100644 index 0000000..8086b2c --- /dev/null +++ b/secop_psi/calcurves/c_3.inp @@ -0,0 +1,24 @@ +sens=c_3 +unit=Ohm +type=C +form=loglog +curv +50076 1 +6576 2 +2276 3 +1176 4.2 +701 6 +426 10 +326 15 +286 20 +256 27 +236 35 +216 50 +200 77 +192 100 +183 150 +179 200 +174 300 +166 500 + + diff --git a/secop_psi/calcurves/c_4.inp b/secop_psi/calcurves/c_4.inp new file mode 100644 index 0000000..aecc9ad --- /dev/null +++ b/secop_psi/calcurves/c_4.inp @@ -0,0 +1,23 @@ +sens=c_4 +unit=Ohm +type=C +form=loglog +curv +50077 1 +6577 2 +2277 3 +1177 4.2 +702 6 +427 10 +327 15 +287 20 +257 27 +237 35 +217 50 +201 77 +193 100 +184 150 +180 200 +175 300 +167 500 + diff --git a/secop_psi/calcurves/c_ab.inp b/secop_psi/calcurves/c_ab.inp new file mode 100644 index 0000000..4307465 --- /dev/null +++ b/secop_psi/calcurves/c_ab.inp @@ -0,0 +1,70 @@ +sens=c_ab +unit=Ohm +type=C +form=loglog +curv +217890 1.05 +166770 1.1 +104660 1.2 +70006 1.3 +49139 1.4 +35891 1.5 +27115 1.6 +21087 1.7 +16812 1.8 +13694 1.9 +9580.4 2.1 +7091 2.3 +5479.2 2.5 +4380.9 2.7 +3600 2.9 +3025.2 3.1 +2589.8 3.3 +2110.6 3.6 +1768.5 3.9 +1515 4.2 +1321.7 4.5 +1127.4 4.9 +982.45 5.3 +870.93 5.7 +763.89 6.2 +681.8 6.7 +617.16 7.2 +555.91 7.8 +507.43 8.4 +462.39 9.1 +426.33 9.799 +393.06 10.6 +366.01 11.4 +341.1 12.3 +318.49 13.3 +298.16 14.4 +280.01 15.6 +264.97 16.8 +251.35 18.1 +239.03 19.5 +227.24 21.1 +216.74 22.8 +207.36 24.6 +198.54 26.6 +190.68 28.7 +183.35 31.01 +176.56 33.5 +170.28 36.2 +164.49 39.1 +159.15 42.21 +154.09 45.61 +149.45 49.2 +145.07 53.1 +139.94 60 +133.72 68.5 +128.79 77.3 +123.9 88.6 +119.04 103.5 +114.22 124.2 +109.43 154.7 +107.05 176 +104.68 203.8 +102.32 240.9 +99.96 294 +99.0 300 diff --git a/secop_psi/calcurves/c_ab270.inp b/secop_psi/calcurves/c_ab270.inp new file mode 100644 index 0000000..f2f0a81 --- /dev/null +++ b/secop_psi/calcurves/c_ab270.inp @@ -0,0 +1,67 @@ +sens=c_ab270 +unit=Ohm +type=C +form=loglog +curv +100000 1.55 +83000 1.6 +60000 1.7 +49000 1.8 +41000 1.9 +35000 2 +25500 2.2 +19500 2.4 +15000 2.6 +12300 2.8 +10000 3 +8400 3.25 +7100 3.5 +6200 3.75 +5500 4 +5000 4.2 +4500 4.5 +3100 5.5 +2700 6 +2170 7 +1770 8 +1510 9 +1350 10 +1120 12 +980 14 +860 16 +790 18 +730 20 +680 22 +640 24 +610 26 +580 28 +560 30 +520 35 +485 40 +455 45 +435 50 +420 55 +407 60 +395 65 +384 70 +375 75 +367 80 +360 85 +354 90 +348 95 +343 100 +334 110 +326 120 +320 130 +314 140 +309 150 +304 160 +299 170 +296 180 +293 190 +290 200 +285 220 +280 240 +276 260 +273 280 +270 300 diff --git a/secop_psi/calcurves/c_ill.inp b/secop_psi/calcurves/c_ill.inp new file mode 100644 index 0000000..99f4552 --- /dev/null +++ b/secop_psi/calcurves/c_ill.inp @@ -0,0 +1,185 @@ +sens=c_ill +unit=Ohm +type=C +form=loglog +curv +90 310.451 +100 177.957 +110 115.629 +120 82.078 +130 62.133 +140 49.348 +150 40.656 +160 34.463 +170 29.88 +180 26.38 +190 23.636 +200 21.437 +220 18.15 +240 15.823 +260 14.097 +280 12.767 +300 11.712 +320 10.855 +340 10.144 +360 9.545 +380 9.033 +400 8.589 +420 8.202 +440 7.859 +460 7.555 +480 7.282 +500 7.036 +520 6.813 +540 6.61 +560 6.424 +580 6.253 +600 6.095 +620 5.949 +640 5.813 +660 5.687 +680 5.569 +700 5.458 +720 5.354 +740 5.256 +760 5.164 +780 5.077 +800 4.995 +820 4.916 +840 4.842 +860 4.772 +880 4.705 +900 4.641 +920 4.579 +940 4.521 +960 4.465 +980 4.411 +1000 4.36 +1050 4.24 +1100 4.131 +1150 4.032 +1200 3.94 +1250 3.856 +1300 3.778 +1350 3.706 +1400 3.639 +1450 3.576 +1500 3.517 +1550 3.461 +1600 3.409 +1650 3.36 +1700 3.313 +1750 3.269 +1800 3.227 +1850 3.187 +1900 3.149 +1950 3.113 +2000 3.078 +2100 3.013 +2200 2.953 +2300 2.898 +2400 2.847 +2500 2.799 +2600 2.755 +2700 2.713 +2800 2.674 +2900 2.637 +3000 2.602 +3100 2.569 +3200 2.538 +3300 2.508 +3400 2.48 +3500 2.453 +3600 2.427 +3700 2.403 +3800 2.379 +3900 2.356 +4000 2.335 +4100 2.314 +4200 2.294 +4300 2.275 +4400 2.256 +4500 2.239 +4600 2.221 +4700 2.205 +4800 2.189 +4900 2.173 +5000 2.158 +5200 2.129 +5400 2.103 +5600 2.077 +5800 2.053 +6000 2.03 +6200 2.009 +6400 1.988 +6600 1.969 +6800 1.95 +7000 1.933 +7200 1.916 +7400 1.9 +7600 1.884 +7800 1.869 +8000 1.855 +8200 1.841 +8400 1.828 +8600 1.815 +8800 1.803 +9000 1.791 +9200 1.78 +9400 1.769 +9600 1.758 +9800 1.747 +10000 1.737 +10500 1.714 +11000 1.692 +11500 1.671 +12000 1.652 +12500 1.634 +13000 1.616 +13500 1.6 +14000 1.585 +14500 1.57 +15000 1.557 +15500 1.543 +16000 1.531 +16500 1.519 +17000 1.507 +17500 1.496 +18000 1.485 +18500 1.475 +19000 1.465 +19500 1.455 +20000 1.446 +21000 1.428 +22000 1.412 +23000 1.396 +24000 1.381 +25000 1.367 +26000 1.354 +27000 1.341 +28001 1.329 +29000 1.318 +30001 1.307 +31001 1.296 +32000 1.286 +33000 1.277 +34000 1.268 +35000 1.259 +36001 1.251 +37000 1.243 +38001 1.236 +39000 1.229 +40000 1.222 +41000 1.216 +42000 1.21 +43000 1.204 +44000 1.199 +45000 1.194 +46000 1.19 +47000 1.186 +48001 1.182 +49000 1.178 +50000 1.175 +55001 1.164 +60000 1.161 +65000 1.16 diff --git a/secop_psi/calcurves/c_t.inp b/secop_psi/calcurves/c_t.inp new file mode 100644 index 0000000..5302676 --- /dev/null +++ b/secop_psi/calcurves/c_t.inp @@ -0,0 +1,123 @@ +sens=c_t +unit=Ohm +type=C +form=loglog +curv +290277 0.8 +49174 1.1844 +45504 1.2021 +37196 1.2575 +29580 1.3252 +23801 1.3965 +19297 1.4695 +15840 1.546 +13083 1.6267 +12653 1.6416 +12118 1.6622 +10903 1.7092 +10060 1.7512 +9168.6 1.7978 +8437.1 1.8424 +7757.7 1.8895 +7171.7 1.9382 +6624.6 1.9864 +6131.6 2.0355 +5672.1 2.0887 +5441.5 2.1172 +5278.3 2.1399 +5122 2.1595 +4906.5 2.1913 +4551 2.2492 +4266 2.3013 +3960.9 2.3632 +3716.3 2.4197 +3466 2.4824 +3258.7 2.541 +3045.9 2.6078 +2873.2 2.6686 +2695.2 2.7384 +2544.3 2.8036 +2265.5 2.9445 +2128.3 3.0242 +2022.8 3.0924 +1907.6 3.1744 +1815.8 3.2462 +1545.4 3.5039 +1301.3 3.8249 +1223.1 3.952 +1120.2 4.1453 +1030.7 4.3453 +949.41 4.5588 +871.45 4.7969 +811.95 5.0209 +755.31 5.2629 +703.23 5.5225 +657.85 5.7898 +616.25 6.0735 +578.68 6.3716 +544.67 6.6851 +507.24 7.0827 +482.02 7.3788 +459.77 7.6798 +438.21 8.0109 +417.54 8.3813 +396.98 8.7969 +377.93 9.251 +360.75 9.7156 +345.18 10.198 +331.02 10.7 +317.86 11.218 +305.81 11.761 +294.64 12.329 +284.17 12.925 +274.42 13.543 +265.18 14.192 +256.54 14.872 +248.51 15.58 +240.96 16.321 +233.86 17.093 +227.27 17.891 +220.98 18.742 +214.77 19.674 +208.93 20.652 +203.42 21.68 +198.1 22.782 +193.13 23.969 +188.32 25.222 +183.72 26.55 +175.19 29.445 +171.2 31.031 +167.36 32.719 +163.69 34.522 +160.15 36.444 +156.74 38.504 +153.45 40.722 +150.29 43.131 +146.54 46.351 +144.07 48.729 +141.74 51.17 +139.49 53.701 +137.34 56.349 +135.24 59.172 +133.23 62.116 +131.26 65.235 +129.38 68.478 +127.6 71.879 +125.88 75.426 +124.22 79.175 +122.61 83.13 +121.08 87.312 +119.6 91.725 +116.82 101.23 +114.35 111.5 +112.11 122.66 +110.07 134.97 +106.49 165.24 +105.14 181.66 +103.99 199.82 +103.07 219.79 +102.35 241.71 +101.84 265.85 +101.55 292.41 +101.48 321.47 + diff --git a/secop_psi/calcurves/cab505.inp b/secop_psi/calcurves/cab505.inp new file mode 100644 index 0000000..962d005 --- /dev/null +++ b/secop_psi/calcurves/cab505.inp @@ -0,0 +1,24 @@ +sens=cab505 +unit=Ohm +type=C +form=loglog +curv +100000 1.0 +48000 2.5 +9506 4.2 +2800 8 +1600 12 +925.9 21.8 +805.8 26.4 +737.5 30.1 +674.3 35 +625.0 40 +588.6 45 +557.4 50 +533.0 55 +512.3 60 +460.8 77 +419.8 100.2 +344.8 200 +339.1 220 +320 300 diff --git a/secop_psi/calcurves/ccs130.inp b/secop_psi/calcurves/ccs130.inp new file mode 100644 index 0000000..8a5bf71 --- /dev/null +++ b/secop_psi/calcurves/ccs130.inp @@ -0,0 +1,65 @@ +sens=ccs130 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=100uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=333333 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +16000 1.244393476 +15200 1.285367202 +14440 1.328663252 +13718 1.374439348 +13032 1.422875796 +12380 1.474181416 +11761 1.52850843 +11172 1.586218689 +10613 1.647425693 +10082 1.712465327 +9577 1.781745861 +9098 1.855443001 +8643 1.934058129 +8210 2.018215323 +7799 2.108233951 +7409 2.204664752 +7038 2.308439192 +6686 2.420075417 +6351 2.540838002 +6033 2.671491983 +5731 2.813308366 +5444 2.967822828 +5171 3.136910729 +4912 3.322118864 +4666 3.52596846 +4432 3.751599155 +4210 4.001751141 +3999 4.280838061 +3799 4.59279255 +3609 4.943939063 +3428 5.342442547 +3256 5.796123843 +3093 6.313967225 +2938 6.910359479 +2791 7.599287093 +2651 8.403199284 +2518 9.344690735 +2392 10.4503784 +2272 11.76331676 +2158 13.32775638 +2050 15.19642266 +1947 17.45575579 +1849 20.19676627 +1756 23.52986632 +1668 27.5869931 +1584 32.59016947 +1504 38.77520717 +1428 46.43078775 +1356 55.90478999 +1288 67.60768096 +1223 82.26763593 +1161 100.6430743 +1102 123.6586838 +1046 152.4202751 +993 188.2165653 +943 232.4978903 +895 288.1383817 +850 356.1477994 diff --git a/secop_psi/calcurves/cma11.inp b/secop_psi/calcurves/cma11.inp new file mode 100644 index 0000000..a86d33c --- /dev/null +++ b/secop_psi/calcurves/cma11.inp @@ -0,0 +1,23 @@ +sens=cma11 +unit=Ohm +type=C +form=loglog +curv +50007 1 +6507 2 +2207 3 +1107 4.2 +632 6 +357 10 +257 15 +217 20 +187 27 +167 35 +147 50 +131 77 +122 100 +114 150 +110 200 +105 300 + 97 500 + diff --git a/secop_psi/calcurves/cma11r1al.inp b/secop_psi/calcurves/cma11r1al.inp new file mode 100644 index 0000000..7a4ec6a --- /dev/null +++ b/secop_psi/calcurves/cma11r1al.inp @@ -0,0 +1,62 @@ +sens=cma11r1al +unit=Ohm +type=C +form=loglog +curv +53486 1.2 +35350 1.32 +24153 1.45 +16649 1.6 +11902 1.76 +8645.8 1.94 +6405.5 2.14 +4848.6 2.36 +3750.7 2.6 +2963.5 2.86 +2372.1 3.15 +1926.9 3.47 +1589.5 3.82 +1320 4.22 +1107.26 4.67 +942.71 5.16 +811.96 5.7 +706.11 6.3 +620.44 6.96 +550.02 7.69 +491.48 8.5 +442.41 9.4 +401.38 10.39 +366.47 11.49 +336.88 12.7 +311.46 14.04 +289.56 15.52 +270.53 17.16 +253.98 18.97 +239.50 20.97 +226.79 23.18 +215.53 25.63 +205.60 28.33 +196.75 31.32 +188.88 34.62 +181.84 38.27 +175.52 42.31 +169.84 46.77 +164.73 51.7 +160.12 57.15 +155.94 63.18 +152.15 69.85 +148.63 77.4 +145.58 85.3 +142.77 94 +140.17 103.6 +137.78 114.2 +135.61 125.8 +133.63 138.6 +131.83 152.7 +130.21 168.3 +128.75 185.5 +127.48 204.4 +126.36 225.2 +125.40 248.2 +124.61 273 +123.89 300.8 diff --git a/secop_psi/calcurves/cma11r2ol.inp b/secop_psi/calcurves/cma11r2ol.inp new file mode 100644 index 0000000..5110227 --- /dev/null +++ b/secop_psi/calcurves/cma11r2ol.inp @@ -0,0 +1,62 @@ +sens=cma11r2ol +unit=Ohm +type=C +form=loglog +curv +45084 1.2 +29807 1.32 +20375 1.45 +14053 1.6 +10054 1.76 +7311.2 1.94 +5424.1 2.14 +4112.5 2.36 +3187.7 2.6 +2524.5 2.86 +2026.3 3.15 +1651.2 3.47 +1367.0 3.82 +1140 4.22 +960.79 4.67 +822.17 5.16 +712.02 5.7 +622.86 6.3 +550.69 6.96 +491.37 7.69 +442.05 8.5 +400.72 9.4 +366.15 10.39 +336.75 11.49 +311.82 12.7 +290.41 14.04 +271.96 15.52 +255.93 17.16 +241.99 18.97 +229.79 20.97 +219.08 23.18 +209.60 25.63 +201.23 28.33 +193.78 31.32 +187.15 34.62 +181.22 38.27 +175.89 42.31 +171.11 46.77 +166.80 51.7 +162.92 57.15 +159.40 63.18 +156.20 69.85 +153.24 77.4 +150.64 85.3 +148.17 94 +145.83 103.6 +143.61 114.2 +141.53 125.8 +139.55 138.6 +137.69 152.7 +135.92 168.3 +134.26 185.5 +132.71 204.4 +131.25 225.2 +129.88 248.2 +128.63 273 +127.41 300.8 diff --git a/secop_psi/calcurves/cma11r3lc.inp b/secop_psi/calcurves/cma11r3lc.inp new file mode 100644 index 0000000..1cb22b7 --- /dev/null +++ b/secop_psi/calcurves/cma11r3lc.inp @@ -0,0 +1,62 @@ +sens=cma11r3lc +unit=Ohm +type=C +form=loglog +curv +43962 1.2 +29064 1.32 +19867 1.45 +13703 1.6 +9803 1.76 +7128.6 1.94 +5288.4 2.14 +4009.5 2.36 +3107.7 2.6 +2461.0 2.86 +1975.2 3.15 +1609.5 3.47 +1332.4 3.82 +1111 4.22 +936.25 4.67 +801.08 5.16 +693.68 5.7 +606.73 6.3 +536.36 6.96 +478.51 7.69 +430.42 8.5 +390.12 9.4 +356.41 10.39 +327.74 11.49 +303.44 12.7 +282.55 14.04 +264.56 15.52 +248.93 17.16 +235.34 18.97 +223.45 20.97 +213.00 23.18 +203.76 25.63 +195.59 28.33 +188.33 31.32 +181.86 34.62 +176.08 38.27 +170.89 42.31 +166.23 46.77 +162.03 51.7 +158.24 57.15 +154.80 63.18 +151.69 69.85 +148.80 77.4 +146.27 85.3 +143.87 94 +141.59 103.6 +139.44 114.2 +137.42 125.8 +135.51 138.6 +133.71 152.7 +132.02 168.3 +130.42 185.5 +128.94 204.4 +127.55 225.2 +126.25 248.2 +125.06 273 +123.91 300.8 diff --git a/secop_psi/calcurves/cma11r4rc.inp b/secop_psi/calcurves/cma11r4rc.inp new file mode 100644 index 0000000..0b350c9 --- /dev/null +++ b/secop_psi/calcurves/cma11r4rc.inp @@ -0,0 +1,62 @@ +sens=cma11r4rc +unit=Ohm +type=C +form=loglog +curv +35372 1.2 +23387 1.32 +15987 1.45 +11028 1.6 +7891 1.76 +5739.2 1.94 +4258.8 2.14 +3229.9 2.36 +2504.4 2.6 +1984.1 2.86 +1593.3 3.15 +1299.1 3.47 +1076.1 3.82 +898 4.22 +757.41 4.67 +648.66 5.16 +562.26 5.7 +492.31 6.3 +435.70 6.96 +389.16 7.69 +350.47 8.5 +318.04 9.4 +290.93 10.39 +267.86 11.49 +248.31 12.7 +231.51 14.04 +217.03 15.52 +204.46 17.16 +193.52 18.97 +183.95 20.97 +175.55 23.18 +168.11 25.63 +161.55 28.33 +155.70 31.32 +150.50 34.62 +145.85 38.27 +141.67 42.31 +137.92 46.77 +134.54 51.7 +131.49 57.15 +128.73 63.18 +126.22 69.85 +123.90 77.4 +121.84 85.3 +119.87 94 +117.96 103.6 +116.12 114.2 +114.36 125.8 +112.66 138.6 +111.03 152.7 +109.45 168.3 +107.94 185.5 +106.48 204.4 +105.09 225.2 +103.74 248.2 +102.47 273 +101.21 300.8 diff --git a/secop_psi/calcurves/cma7.inp b/secop_psi/calcurves/cma7.inp new file mode 100644 index 0000000..1f7c9b7 --- /dev/null +++ b/secop_psi/calcurves/cma7.inp @@ -0,0 +1,23 @@ +sens=cma7 +unit=Ohm +type=C +form=loglog +curv +231369 1.2 +46622 1.8 +12726 2.8 +6627 3.85 +5499 4.22 +2750.7 6.4 +1580.1 9.6 +1122.1 14.5 +816.71 22 +638.58 33 +549 44.9 +521.52 50 +441 75.15 +435 77.4 +399 122 +368.6 200 +345 293 +0.1 300 diff --git a/secop_psi/calcurves/coil.inp b/secop_psi/calcurves/coil.inp new file mode 100644 index 0000000..77a96e0 --- /dev/null +++ b/secop_psi/calcurves/coil.inp @@ -0,0 +1,18 @@ +sens=coil +unit=Ohm +type=Pt500 +curv +0.001 0.001 +0.003 0.003 +0.01 0.01 +0.03 0.03 +0.1 0.1 +0.3 0.3 +0.9 0.9 +1.1 1.1 +3 3 +10 10 +30 30 +100 100 +300 300 +1000 1000 diff --git a/secop_psi/calcurves/cplus45.inp b/secop_psi/calcurves/cplus45.inp new file mode 100644 index 0000000..073af53 --- /dev/null +++ b/secop_psi/calcurves/cplus45.inp @@ -0,0 +1,23 @@ +sens=cplus45 +unit=Ohm +type=C +form=loglog +curv +50045 1 +6545 2 +2245 3 +1145 4.2 +670 6 +395 10 +295 15 +255 20 +225 27 +205 35 +185 50 +169 77 +161 100 +152 150 +148 200 +143 300 +135 500 + diff --git a/secop_psi/calcurves/cplus70.inp b/secop_psi/calcurves/cplus70.inp new file mode 100644 index 0000000..f04330d --- /dev/null +++ b/secop_psi/calcurves/cplus70.inp @@ -0,0 +1,23 @@ +sens=cplus70 +unit=Ohm +type=C +form=loglog +curv +50070 1 +6570 2 +2270 3 +1170 4.2 +695 6 +420 10 +320 15 +280 20 +250 27 +230 35 +210 50 +194 77 +186 100 +177 150 +173 200 +168 300 +135 500 + diff --git a/secop_psi/calcurves/cs405.inp b/secop_psi/calcurves/cs405.inp new file mode 100644 index 0000000..069ed8a --- /dev/null +++ b/secop_psi/calcurves/cs405.inp @@ -0,0 +1,51 @@ +sens=cs405 +unit=Ohm +type=C +form=loglog +curv +8342.788494 0.29 +7997.108246 0.3 +7385.224382 0.32 +6860.63041 0.34 +6406.112969 0.36 +5658.608243 0.4 +5070.752206 0.44 +4597.749769 0.48 +4210.063652 0.52 +3887.352305 0.56 +3615.181303 0.6 +3330.280576 0.65 +3093.128214 0.7 +2893.109164 0.75 +2722.418161 0.8 +2575.268002 0.85 +2447.269899 0.9 +2335.06011 0.95 +2236.020956 1 +2148.092966 1.05 +2069.625085 1.1 +1999.285056 1.15 +1935.977983 1.2 +1878.783871 1.25 +1826.93583 1.3 +1779.78886 1.35 +1736.797991 1.4 +1697.485938 1.45 +1661.422111 1.5 +1518.391902 1.75 +1417.276946 2 +1341.147035 2.25 +1280.347927 2.5 +1230.110043 2.75 +1188.629004 3 +1153.26912 3.25 +1121.726004 3.5 +1092.415035 3.75 +1065.750065 4 +1042.61099 4.25 +1022.648076 4.5 +1005.397982 4.75 +990.4706816 5 +966.1023663 5.5 +946.5027198 6 +470.0000000 300 diff --git a/secop_psi/calcurves/cx078.inp b/secop_psi/calcurves/cx078.inp new file mode 100644 index 0000000..b45e159 --- /dev/null +++ b/secop_psi/calcurves/cx078.inp @@ -0,0 +1,180 @@ +#sens=cx078 +#unit=Ohm +#type=Cernox ! Cernox and RuOx is the same type +# calibrated range 0.03 308 (other points extrapolated) +# created with /afs/psi.ch/project/SampleEnvironment/Neutronscattering/Dil_Thermometer_WL/Thermometer3_2014/combined_calibration/makecurve.m +#curv ! curve follows R[Ohm] T[K] +5964.148 0.015 +5832.477 0.016 +5711.440 0.017 +5599.626 0.018 +5495.873 0.019 +5399.221 0.02 +5291.486 0.0212 +5191.660 0.0224 +5098.784 0.0236 +4998.149 0.025 +4892.039 0.0266 +4794.188 0.0282 +4692.668 0.03 +4589.215 0.032 +4494.397 0.034 +4407.065 0.036 +4326.276 0.038 +4251.244 0.04 +4164.560 0.0425 +4084.783 0.045 +4011.039 0.0475 +3942.599 0.05 +3866.620 0.053 +3796.529 0.056 +3710.996 0.06 +3633.254 0.064 +3562.187 0.068 +3496.891 0.072 +3436.628 0.076 +3380.785 0.08 +3316.424 0.085 +3257.344 0.09 +3202.864 0.095 +3152.419 0.1 +3096.540 0.106 +3045.098 0.112 +2997.531 0.118 +2946.313 0.125 +2892.677 0.133 +2843.557 0.141 +2792.946 0.15 +2741.674 0.16 +2694.892 0.17 +2651.998 0.18 +2612.494 0.19 +2575.970 0.2 +2535.592 0.212 +2498.504 0.224 +2464.277 0.236 +2427.489 0.25 +2389.031 0.266 +2353.863 0.282 +2317.672 0.3 +2281.044 0.32 +2247.640 0.34 +2217.003 0.36 +2188.762 0.38 +2162.613 0.4 +2132.486 0.425 +2104.829 0.45 +2079.313 0.475 +2055.667 0.5 +2029.445 0.53 +2005.231 0.56 +1975.518 0.6 +1948.206 0.64 +1922.850 0.68 +1899.108 0.72 +1876.715 0.76 +1855.466 0.8 +1830.264 0.85 +1806.348 0.9 +1783.547 0.95 +1761.730 1 +1736.698 1.06 +1712.775 1.12 +1689.838 1.18 +1664.190 1.25 +1636.185 1.33 +1609.420 1.41 +1580.634 1.5 +1550.133 1.6 +1521.103 1.7 +1493.458 1.8 +1467.116 1.9 +1441.990 2 +1413.294 2.12 +1386.025 2.24 +1360.040 2.36 +1331.189 2.5 +1300.014 2.66 +1270.663 2.82 +1239.691 3 +1207.637 3.2 +1177.822 3.4 +1149.987 3.6 +1123.913 3.8 +1099.413 4 +1070.773 4.25 +1044.120 4.5 +1019.253 4.75 +995.9967 5 +969.9974 5.3 +945.8586 5.6 +916.2211 6 +889.1304 6.4 +864.2526 6.8 +841.3007 7.2 +820.0349 7.6 +800.2557 8 +777.3683 8.5 +756.2602 9 +736.6960 9.5 +718.4829 10 +698.1875 10.6 +679.3887 11.2 +661.9147 11.8 +643.0111 12.5 +623.1275 13.3 +604.8435 14.1 +585.9113 15 +566.6100 16 +548.8662 17 +532.4631 18 +517.2361 19 +503.0498 20 +487.2404 21.2 +472.5994 22.4 +458.9818 23.6 +444.2249 25 +428.6562 26.6 +414.2860 28.2 +399.3661 30 +384.1408 32 +370.1565 34 +357.2570 36 +345.3119 38 +334.2117 40 +321.3847 42.5 +309.5821 45 +298.6793 47.5 +288.5738 50 +277.3780 53 +267.0785 56 +254.5572 60 +243.2260 64 +232.9112 68 +223.4728 72 +214.7969 76 +206.7905 80 +197.6070 85 +189.2232 90 +181.5354 95 +174.4565 100 +166.6634 106 +159.5377 112 +152.9932 118 +145.9993 125 +138.7431 133 +132.1679 141 +125.4722 150 +118.7805 160 +112.7641 170 +107.3279 180 +102.3936 190 +97.89704 200 +93.00679 212 +88.59839 224 +84.60925 236 +80.41523 250 +76.14435 266 +72.34953 282 +68.56330 300 +64.85550 320 diff --git a/secop_psi/calcurves/cx198.inp b/secop_psi/calcurves/cx198.inp new file mode 100644 index 0000000..bcbd0f9 --- /dev/null +++ b/secop_psi/calcurves/cx198.inp @@ -0,0 +1,180 @@ +#sens=cx198 +#unit=Ohm +#type=Cernox ! Cernox and RuOx is the same type +# calibrated range 0.03 308 (other points extrapolated) +# created with /afs/psi.ch/project/SampleEnvironment/Neutronscattering/Dil_Thermometer_WL/Thermometer3_2014/combined_calibration/makecurve.m +#curv ! curve follows R[Ohm] T[K] +6469.358 0.015 +6316.856 0.016 +6176.879 0.017 +6047.747 0.018 +5928.085 0.019 +5816.751 0.02 +5692.810 0.0212 +5578.124 0.0224 +5471.557 0.0236 +5356.238 0.025 +5234.817 0.0266 +5123.008 0.0282 +5007.170 0.03 +4889.446 0.032 +4781.930 0.034 +4683.195 0.036 +4592.082 0.038 +4507.635 0.04 +4410.252 0.0425 +4320.774 0.045 +4238.161 0.0475 +4161.554 0.05 +4076.559 0.053 +3998.173 0.056 +3902.513 0.06 +3815.525 0.064 +3735.943 0.068 +3662.797 0.072 +3595.317 0.076 +3532.855 0.08 +3461.001 0.085 +3395.228 0.09 +3334.784 0.095 +3279.015 0.1 +3217.455 0.106 +3160.974 0.112 +3108.897 0.118 +3052.975 0.125 +2994.568 0.133 +2941.202 0.141 +2886.325 0.15 +2830.826 0.16 +2780.265 0.17 +2733.970 0.18 +2691.391 0.19 +2652.074 0.2 +2608.665 0.212 +2568.849 0.224 +2532.156 0.236 +2492.779 0.25 +2451.687 0.266 +2414.184 0.282 +2375.667 0.3 +2336.776 0.32 +2301.393 0.34 +2269.020 0.36 +2239.250 0.38 +2211.750 0.4 +2180.153 0.425 +2151.232 0.45 +2124.629 0.475 +2100.047 0.5 +2072.874 0.53 +2047.869 0.56 +2017.305 0.6 +1989.336 0.64 +1963.478 0.68 +1939.362 0.72 +1916.702 0.76 +1895.273 0.8 +1869.948 0.85 +1846.001 0.9 +1823.242 0.95 +1801.521 1 +1776.658 1.06 +1752.949 1.12 +1730.257 1.18 +1704.921 1.25 +1677.292 1.33 +1650.913 1.41 +1622.560 1.5 +1592.530 1.6 +1563.944 1.7 +1536.710 1.8 +1510.739 1.9 +1485.942 2 +1457.585 2.12 +1430.595 2.24 +1404.831 2.36 +1376.170 2.5 +1345.135 2.66 +1315.860 2.82 +1284.918 3 +1252.846 3.2 +1222.962 3.4 +1194.998 3.6 +1168.731 3.8 +1143.975 4 +1114.941 4.25 +1087.850 4.5 +1062.527 4.75 +1038.817 5 +1012.293 5.3 +987.6433 5.6 +957.3314 6 +929.5630 6.4 +903.9998 6.8 +880.3629 7.2 +858.4206 7.6 +837.9787 8 +814.2874 8.5 +792.4076 9 +772.1070 9.5 +753.1941 10 +732.1074 10.6 +712.5644 11.2 +694.3826 11.8 +674.6882 12.5 +653.9357 13.3 +634.8148 14.1 +614.9882 15 +594.7606 16 +576.1655 17 +558.9820 18 +543.0301 19 +528.1614 20 +511.5763 21.2 +496.1967 22.4 +481.8765 23.6 +466.3474 25 +449.9590 26.6 +434.8342 28.2 +419.1349 30 +403.1159 32 +388.4019 34 +374.8266 36 +362.2520 38 +350.5624 40 +337.0478 42.5 +324.6050 45 +313.1054 47.5 +302.4462 50 +290.6415 53 +279.7908 56 +266.6156 60 +254.7009 64 +243.8528 68 +233.9176 72 +224.7737 76 +216.3287 80 +206.6397 85 +197.7975 90 +189.6961 95 +182.2425 100 +174.0414 106 +166.5447 112 +159.6594 118 +152.3004 125 +144.6654 133 +137.7479 141 +130.7058 150 +123.6715 160 +117.3512 170 +111.6446 180 +106.4691 190 +101.7563 200 +96.63394 212 +92.01738 224 +87.83960 236 +83.44578 250 +78.97131 266 +74.99875 282 +71.04161 300 +67.17458 320 diff --git a/secop_psi/calcurves/cx19801.340 b/secop_psi/calcurves/cx19801.340 new file mode 100644 index 0000000..665f1f9 --- /dev/null +++ b/secop_psi/calcurves/cx19801.340 @@ -0,0 +1,157 @@ +Sensor Model: RX-102B-CX1050 +Serial Number: CX19801 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 300 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + +1 1.81598 330.0502 +2 1.839801 309.540343 +3 1.864005 290.305003 +4 1.888504 272.264978 +5 1.913192 255.345989 +6 1.937981 239.478374 +7 1.962788 224.596798 +8 1.987575 210.639987 +9 2.012277 197.550476 +10 2.03684 185.274368 +11 2.06124 173.761117 +12 2.085418 162.963319 +13 2.109365 152.836513 +14 2.133059 143.339003 +15 2.156478 134.431684 +16 2.179617 126.077881 +17 2.202448 118.243196 +18 2.224985 110.895372 +19 2.247235 104.004153 +20 2.269203 97.541165 +21 2.29084 91.479799 +22 2.312191 85.795095 +23 2.333242 80.463648 +24 2.354017 75.463506 +25 2.374484 70.774081 +26 2.394682 66.376065 +27 2.414612 62.251348 +28 2.434265 58.382948 +29 2.453659 54.754937 +30 2.472782 51.352376 +31 2.491636 48.161256 +32 2.510202 45.168437 +33 2.528513 42.361597 +34 2.546554 39.729178 +35 2.564302 37.260342 +36 2.581805 34.944924 +37 2.598994 32.77339 +38 2.615955 30.736798 +39 2.632615 28.826763 +40 2.649027 27.035421 +41 2.665188 25.355396 +42 2.681086 23.779771 +43 2.69673 22.302057 +44 2.712162 20.916171 +45 2.72741 19.616406 +46 2.742404 18.397411 +47 2.7572 17.254166 +48 2.771808 16.181964 +49 2.786262 15.17639 +50 2.80055 14.233305 +51 2.814698 13.348824 +52 2.828723 12.519306 +53 2.842607 11.741336 +54 2.856381 11.01171 +55 2.870031 10.327425 +56 2.883569 9.685662 +57 2.897005 9.083779 +58 2.910326 8.519298 +59 2.923533 7.989895 +60 2.936656 7.49339 +61 2.94965 7.027739 +62 2.962532 6.591024 +63 2.975294 6.181447 +64 2.987953 5.797321 +65 3.000475 5.437066 +66 3.012853 5.099198 +67 3.025083 4.782326 +68 3.037155 4.485144 +69 3.049071 4.20643 +70 3.060834 3.945036 +71 3.072421 3.699885 +72 3.08378 3.469968 +73 3.094944 3.254338 +74 3.105911 3.052109 +75 3.116647 2.862446 +76 3.127148 2.684569 +77 3.137418 2.517745 +78 3.14745 2.361288 +79 3.157202 2.214554 +80 3.166687 2.076938 +81 3.175911 1.947874 +82 3.184843 1.82683 +83 3.193462 1.713308 +84 3.201647 1.60684 +85 3.209513 1.506988 +86 3.216102 1.413341 +87 3.224928 1.325514 +88 3.232275 1.243145 +89 3.239048 1.165894 +90 3.245898 1.093443 +91 3.253009 1.025495 +92 3.260076 0.961769 +93 3.266162 0.902003 +94 3.272593 0.845951 +95 3.278207 0.793382 +96 3.284797 0.74408 +97 3.290796 0.697842 +98 3.296724 0.654477 +99 3.302571 0.613806 +100 3.309413 0.575664 +101 3.315158 0.539891 +102 3.321509 0.506341 +103 3.327783 0.474876 +104 3.334321 0.445367 +105 3.340979 0.417691 +106 3.347026 0.391735 +107 3.353879 0.367392 +108 3.360569 0.344562 +109 3.368076 0.32315 +110 3.37424 0.303069 +111 3.382039 0.284236 +112 3.38937 0.266573 +113 3.396744 0.250008 +114 3.404813 0.234472 +115 3.412147 0.219901 +116 3.419659 0.206236 +117 3.427913 0.19342 +118 3.435829 0.181401 +119 3.444393 0.170128 +120 3.451894 0.159556 +121 3.460393 0.149641 +122 3.468561 0.140342 +123 3.477698 0.131621 +124 3.486667 0.123442 +125 3.495102 0.115771 +126 3.504764 0.108577 +127 3.51277 0.10183 +128 3.522269 0.095502 +129 3.531908 0.089567 +130 3.541262 0.084001 +131 3.550842 0.078781 +132 3.560006 0.073886 +133 3.569996 0.069294 +134 3.57918 0.064988 +135 3.589412 0.06095 +136 3.599436 0.057162 +137 3.609083 0.05361 +138 3.618161 0.050279 +139 3.629199 0.047154 +140 3.638707 0.044224 +141 3.649768 0.041476 +142 3.658905 0.038899 +143 3.670304 0.036481 +144 3.679512 0.034214 +145 3.689403 0.032088 +146 3.699994 0.030094 +147 3.708505 0.028224 +148 3.721139 0.02647 diff --git a/secop_psi/calcurves/cx262.inp b/secop_psi/calcurves/cx262.inp new file mode 100644 index 0000000..8b1b967 --- /dev/null +++ b/secop_psi/calcurves/cx262.inp @@ -0,0 +1,180 @@ +#sens=cx262 +#unit=Ohm +#type=Cernox ! Cernox and RuOx is the same type +# calibrated range 0.0306 309 (other points extrapolated) +# created with /afs/psi.ch/project/SampleEnvironment/Neutronscattering/Dil_Thermometer_WL/Thermometer3_2014/combined_calibration/makecurve.m +#curv ! curve follows R[Ohm] T[K] +7971.756 0.015 +7761.088 0.016 +7568.270 0.017 +7390.865 0.018 +7226.883 0.019 +7074.679 0.02 +6905.661 0.0212 +6749.664 0.0224 +6605.064 0.0236 +6448.978 0.025 +6285.077 0.0266 +6134.562 0.0282 +5979.049 0.03 +5821.055 0.032 +5676.527 0.034 +5543.678 0.036 +5421.036 0.038 +5307.374 0.04 +5176.373 0.0425 +5056.136 0.045 +4945.287 0.0475 +4842.685 0.05 +4729.113 0.053 +4624.669 0.056 +4497.673 0.06 +4382.712 0.064 +4278.035 0.068 +4182.244 0.072 +4094.199 0.076 +4012.951 0.08 +3919.754 0.085 +3834.659 0.09 +3756.611 0.095 +3684.717 0.1 +3605.503 0.106 +3532.973 0.112 +3466.240 0.118 +3394.745 0.125 +3320.274 0.133 +3252.430 0.141 +3182.882 0.15 +3112.792 0.16 +3049.167 0.17 +2991.107 0.18 +2937.877 0.19 +2888.872 0.2 +2834.935 0.212 +2785.620 0.224 +2740.303 0.236 +2691.808 0.25 +2641.349 0.266 +2595.422 0.282 +2548.377 0.3 +2500.994 0.32 +2457.985 0.34 +2418.712 0.36 +2382.659 0.38 +2349.405 0.4 +2311.249 0.425 +2276.370 0.45 +2244.318 0.475 +2214.727 0.5 +2182.037 0.53 +2151.968 0.56 +2115.220 0.6 +2081.581 0.64 +2050.463 0.68 +2021.417 0.72 +1994.099 0.76 +1968.239 0.8 +1937.644 0.85 +1908.683 0.9 +1881.158 0.95 +1854.919 1 +1824.949 1.06 +1796.461 1.12 +1769.302 1.18 +1739.126 1.25 +1706.419 1.33 +1675.410 1.41 +1642.334 1.5 +1607.587 1.6 +1574.724 1.7 +1543.548 1.8 +1513.895 1.9 +1485.630 2 +1453.417 2.12 +1422.941 2.24 +1394.075 2.36 +1362.280 2.5 +1328.215 2.66 +1296.355 2.82 +1262.894 3 +1228.374 3.2 +1196.346 3.4 +1166.534 3.6 +1138.700 3.8 +1112.641 4 +1082.299 4.25 +1054.177 4.5 +1028.033 4.75 +1003.659 5 +976.4965 5.3 +951.3544 5.6 +920.5822 6 +892.5439 6.4 +866.8680 6.8 +843.2383 7.2 +821.3927 7.6 +801.1138 8 +777.6939 8.5 +756.1362 9 +736.1893 9.5 +717.6477 10 +697.0164 10.6 +677.9338 11.2 +660.2204 11.8 +641.0851 12.5 +620.9895 13.3 +602.5401 14.1 +583.4647 15 +564.0439 16 +546.2117 17 +529.7430 18 +514.4681 19 +500.2476 20 +484.4113 21.2 +469.7554 22.4 +456.1334 23.6 +441.3830 25 +425.8355 26.6 +411.4991 28.2 +396.6279 30 +381.4642 32 +367.5450 34 +354.7108 36 +342.8310 38 +331.7966 40 +319.0534 42.5 +307.3366 45 +296.5205 47.5 +286.5003 50 +275.4022 53 +265.1937 56 +252.7825 60 +241.5517 64 +231.3310 68 +221.9827 72 +213.3936 76 +205.4701 80 +196.3834 85 +188.0883 90 +180.4809 95 +173.4753 100 +165.7626 106 +158.7107 112 +152.2348 118 +145.3150 125 +138.1358 133 +131.6291 141 +125.0010 150 +118.3743 160 +112.4147 170 +107.0293 180 +102.1415 190 +97.68786 200 +92.84448 212 +88.47794 224 +84.52594 236 +80.36971 250 +76.13576 266 +72.37248 282 +68.61657 300 +64.93782 320 diff --git a/secop_psi/calcurves/ds3b.inp b/secop_psi/calcurves/ds3b.inp new file mode 100644 index 0000000..f8fbfb7 --- /dev/null +++ b/secop_psi/calcurves/ds3b.inp @@ -0,0 +1,76 @@ +sens=ds3b +unit=V ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Si ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=100uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +2.0 1.0 +1.701 1.023 +1.696 1.339 +1.691 1.634 +1.681 2.096 +1.671 2.507 +1.659 2.969 +1.644 3.482 +1.627 4.035 +1.602 4.782 +1.564 5.825 +1.527 6.836 +1.489 7.865 +1.455 8.890 +1.42273 9.93526 +1.39637 10.8854 +1.3709 11.8914 +1.34717 12.9115 +1.3257 13.9068 +1.30501 14.9288 +1.2869 15.871 +1.26837 16.872 +1.24986 17.9012 +1.23182 18.9267 +1.21451 19.9173 +1.19683 20.9082 +1.18224 21.6778 +1.1643 22.5364 +1.1509 23.1421 +1.13892 23.7461 +1.1304 24.3304 +1.12457 24.9558 +1.12113 25.5134 +1.11756 26.3163 +1.11473 27.1373 +1.11227 27.9723 +1.10969 28.963 +1.10731 29.9676 +1.10303 31.9567 +1.09724 34.9549 +1.09182 37.9771 +1.08496 41.9734 +1.06774 51.9579 +1.05704 57.9796 +1.04616 63.991 +1.03518 69.9483 +1.02386 75.9817 +1.01241 81.9671 +1.00074 87.9604 +0.98883 93.9712 +0.97685 99.929 +0.95628 109.968 +0.92481 124.962 +0.89261 139.951 +0.85971 154.977 +0.82636 169.973 +0.79251 184.99 +0.75829 200.005 +0.72381 214.98 +0.68899 229.971 +0.65383 244.991 +0.61847 259.998 +0.58301 274.976 +0.54722 290.026 +0.5113 305.074 +0.47525 320.108 +0.45111 330.134 + + diff --git a/secop_psi/calcurves/dt-470.std b/secop_psi/calcurves/dt-470.std new file mode 100644 index 0000000..37be26e --- /dev/null +++ b/secop_psi/calcurves/dt-470.std @@ -0,0 +1,5 @@ +# just the numbers of standard curves for the different models +set nr(340) 1 +set nr(336) 1 +set nr(335) 1 + diff --git a/secop_psi/calcurves/dt-470custom.inp b/secop_psi/calcurves/dt-470custom.inp new file mode 100644 index 0000000..3375d10 --- /dev/null +++ b/secop_psi/calcurves/dt-470custom.inp @@ -0,0 +1,94 @@ +sens=dt-470 +unit=V ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=Si ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +2.5 0.1 +1.7027 1.1 +1.69818 1.4 +1.69367 1.7 +1.68585 2.1 +1.67398 2.6 +1.65156 3.4 +1.62622 4.2 +1.59075 5.2 +1.50258 7.5 +1.46684 8.5 +1.43474 9.5 +1.40605 10.5 +1.38012 11.5 +1.35642 12.5 +1.33438 13.5 +1.30404 15 +1.26685 17 +1.22321 19.5 +1.19645 21 +1.17705 22 +1.15558 23 +1.13598 24 +1.12463 25 +1.11896 26 +1.11517 27 +1.11212 28 +1.10945 29 +1.10702 30 +1.10476 31 +1.10263 32 +1.1006 33 +1.09864 34 +1.09489 36 +1.08953 39 +1.08781 40 +1.0775 46 +1.06702 52 +1.0563 58 +1.04353 65 +1.03425 70 +1.02482 75 +1.01525 80 +1.00552 85 +0.99565 90 +0.98564 95 +0.9755 100 +0.96524 105 +0.95487 110 +0.9444 115 +0.93383 120 +0.92317 125 +0.91243 130 +0.90161 135 +0.89072 140 +0.87976 145 +0.86874 150 +0.84651 160 +0.82405 170 +0.80139 180 +0.77857 190 +0.744 205 +0.70909 220 +0.67389 235 +0.63842 250 +0.60275 265 +0.55494 285 +0.51892 300 +0.50691 305 +0.4586 325 +0.44647 330 +0.41005 345 +0.36111 365 +0.32417 380 +0.28701 395 +0.27456 400 +0.24964 410 +0.22463 420 +0.19961 430 +0.1871 435 +0.17464 440 +0.16221 445 +0.14985 450 +0.13759 455 +0.12547 460 +0.11356 465 +0.10191 470 +0.09062 475 + + diff --git a/secop_psi/calcurves/dt-670.std b/secop_psi/calcurves/dt-670.std new file mode 100644 index 0000000..6e6ed27 --- /dev/null +++ b/secop_psi/calcurves/dt-670.std @@ -0,0 +1,4 @@ +# just the numbers of standard curves for the different models +set nr(340) 11 +set nr(336) 2 + diff --git a/secop_psi/calcurves/dt-670custom.340 b/secop_psi/calcurves/dt-670custom.340 new file mode 100644 index 0000000..4b0380d --- /dev/null +++ b/secop_psi/calcurves/dt-670custom.340 @@ -0,0 +1,118 @@ +Sensor Model: DT-670 +Serial Number: dt-670 +Data Format: 2 (Volts/Kelvin) +SetPoint Limit: 500. (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 109 + +No. Units Temperature (K) + + 1 9.05392e-02 500.000 + 2 .113581 489.500 + 3 .145904 475.500 + 4 .148390 474.500 + 5 .175623 463.000 + 6 .260602 427.500 + 7 .328250 399.000 + 8 .405937 366.000 + 9 .493643 328.500 + 10 .543502 307.000 + 11 .581512 290.500 + 12 .616952 275.000 + 13 .649841 260.500 + 14 .681331 246.500 + 15 .711427 233.000 + 16 .740137 220.000 + 17 .767474 207.500 + 18 .792371 196.000 + 19 .815947 185.000 + 20 .838212 174.500 + 21 .859181 164.500 + 22 .878870 155.000 + 23 .897291 146.000 + 24 .914460 137.500 + 25 .930396 129.500 + 26 .945125 122.000 + 27 .959636 114.500 + 28 .972960 107.500 + 29 .985134 101.000 + 30 .994351 96.000 + 31 1.00255 91.500 + 32 1.01063 87.000 + 33 1.01861 82.500 + 34 1.02648 78.000 + 35 1.03423 73.500 + 36 1.04188 69.000 + 37 1.04942 64.500 + 38 1.05786 59.400 + 39 1.06568 54.600 + 40 1.07407 49.400 + 41 1.08268 44.000 + 42 1.08870 40.200 + 43 1.09289 37.600 + 44 1.09620 35.600 + 45 1.09910 33.900 + 46 1.10175 32.400 + 47 1.10431 31.000 + 48 1.10663 29.800 + 49 1.10867 28.800 + 50 1.11064 27.900 + 51 1.11229 27.200 + 52 1.11387 26.600 + 53 1.11533 26.100 + 54 1.11665 25.700 + 55 1.11814 25.300 + 56 1.11990 24.900 + 57 1.12149 24.600 + 58 1.12342 24.300 + 59 1.12502 24.100 + 60 1.12689 23.900 + 61 1.12916 23.700 + 62 1.13187 23.500 + 63 1.13506 23.300 + 64 1.14075 23.000 + 65 1.16288 22.000 + 66 1.17280 21.500 + 67 1.18330 20.900 + 68 1.19624 20.100 + 69 1.20162 19.750 + 70 1.21390 18.950 + 71 1.23056 17.850 + 72 1.24448 16.950 + 73 1.25639 16.200 + 74 1.26707 15.550 + 75 1.27729 14.950 + 76 1.28703 14.400 + 77 1.29717 13.850 + 78 1.30778 13.300 + 79 1.31889 12.750 + 80 1.32948 12.250 + 81 1.34055 11.750 + 82 1.35215 11.250 + 83 1.36430 10.750 + 84 1.37706 10.250 + 85 1.39047 9.750 + 86 1.40319 9.300 + 87 1.41654 8.850 + 88 1.43060 8.400 + 89 1.44537 7.950 + 90 1.46256 7.450 + 91 1.48407 6.850 + 92 1.52789 5.660 + 93 1.55363 4.940 + 94 1.56944 4.480 + 95 1.58042 4.140 + 96 1.58856 3.870 + 97 1.59573 3.620 + 98 1.60229 3.380 + 99 1.60827 3.150 +100 1.61520 2.870 +101 1.62286 2.550 +102 1.62766 2.340 +103 1.63153 2.160 +104 1.63474 2.000 +105 1.63734 1.860 +106 1.63956 1.730 +107 1.64143 1.610 +108 1.64313 1.490 +109 1.64430 1.400 diff --git a/secop_psi/calcurves/g24741.inp b/secop_psi/calcurves/g24741.inp new file mode 100644 index 0000000..d5ac5da --- /dev/null +++ b/secop_psi/calcurves/g24741.inp @@ -0,0 +1,57 @@ +sens=g24741 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Ge ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +range=33333 +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +3716.48 3.614 +3303.08 3.805 +2939.81 4.007 +2634.1 4.211 +2207.84 4.568 +1850.95 4.962 +1510.33 5.464 +1168.62 6.17 +898.255 6.969 +664.661 7.969 +503.54 8.966 +385.764 9.997 +302.717 11.005 +241.569 12.011 +196.091 13.009 +161.375 14.009 +134.756 15.002 +113.613 16.009 +97.1542 16.995 +83.7844 17.987 +72.9223 18.98 +63.8891 19.986 +55.898 21.062 +46.4039 22.685 +39.5526 24.203 +33.94 25.781 +29.5042 27.352 +25.8808 28.938 +22.6148 30.71 +19.5475 32.811 +16.2503 35.791 +13.7919 38.802 +11.9208 41.828 +10.4837 44.827 +9.33607 47.855 +8.70341 49.86 +7.45938 54.825 +6.54015 59.805 +5.84053 64.822 +5.30420 69.803 +4.87975 74.794 +4.54002 79.775 +4.26248 84.818 +4.03819 89.795 +3.85122 94.839 +3.69833 99.809 +3.46425 109.82 +3.30216 119.843 +1 350 + + diff --git a/secop_psi/calcurves/g25328.inp b/secop_psi/calcurves/g25328.inp new file mode 100644 index 0000000..a4d5014 --- /dev/null +++ b/secop_psi/calcurves/g25328.inp @@ -0,0 +1,69 @@ +sens=g25328 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Ge ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +range=33333 +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +51742 1.20397 +38374.4 1.30097 +29285.9 1.39987 +18336.7 1.59973 +12322.8 1.80467 +8953.12 2.00029 +6797.69 2.19633 +5283.47 2.40223 +4277.88 2.59821 +3518.79 2.80215 +2970 2.99976 +2553.86 3.19379 +2199.04 3.40534 +1942.6 3.59649 +1720.04 3.79904 +1539.73 3.99753 +1386.08 4.19945 +1141.13 4.6087 +960.495 5.01198 +788.722 5.52181 +617.915 6.22374 +481.462 7.01657 +359.562 8.04131 +276.645 9.05249 +216.121 10.0975 +173.58 11.1109 +142.19 12.115 +118.256 13.1243 +100.185 14.1049 +85.7627 15.0937 +74.0598 16.0946 +64.7476 17.0714 +57.0177 18.0515 +50.5646 19.0281 +45.0554 20.0179 +40.0589 21.0809 +33.8704 22.6975 +29.2326 24.2277 +25.307 25.8307 +22.174 27.4033 +19.5516 29.0097 +17.2057 30.757 +14.9274 32.8585 +12.4205 35.8717 +10.5431 38.8891 +9.09534 41.9407 +7.99882 44.9009 +7.09635 47.9674 +6.6064 49.9668 +5.633 54.9499 +4.92135 59.8927 +4.38084 64.8514 +3.96147 69.8101 +3.62938 74.7892 +3.36171 79.8027 +3.14631 84.787 +2.96943 89.7821 +2.82263 94.8151 +2.70184 99.7862 +2.51544 109.819 +2.38525 119.826 +1 350 + diff --git a/secop_psi/calcurves/g25550.inp b/secop_psi/calcurves/g25550.inp new file mode 100644 index 0000000..2ee7860 --- /dev/null +++ b/secop_psi/calcurves/g25550.inp @@ -0,0 +1,69 @@ +sens=g25550 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Ge ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +range=33333 +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +62321.3 1.2009 +46207 1.30013 +35094.4 1.40258 +22373.5 1.59752 +15326 1.79521 +11200.4 1.9899 +8362.98 2.20207 +6513.28 2.41223 +5356.83 2.5985 +4433.07 2.80016 +3742.13 3.00175 +3222.56 3.19821 +2805.65 3.39878 +2470.82 3.59887 +2194.89 3.8009 +1969.57 4.00008 +1775.99 4.20356 +1422.69 4.68654 +1220.45 5.05936 +1018.33 5.54189 +811.357 6.21394 +641.701 6.97679 +487.564 7.97051 +381.494 8.95538 +303.493 9.9658 +247.623 10.9549 +205.794 11.9455 +173.45 12.9489 +148.82 13.9294 +128.951 14.9234 +112.674 15.9345 +99.5655 16.9246 +88.6102 17.9191 +79.3856 18.913 +71.4038 19.9217 +64.0717 21.0093 +54.8993 22.659 +48.003 24.1928 +42.1299 25.7827 +37.3274 27.3466 +33.2266 28.9435 +29.4847 30.6837 +25.777 32.7852 +21.6144 35.807 +18.4462 38.8362 +15.9599 41.9041 +14.0667 44.8711 +12.4931 47.9476 +11.6357 49.9458 +9.86331 55.1436 +8.64011 59.988 +7.69916 64.8521 +6.95065 69.8121 +6.35553 74.7943 +5.87526 79.8043 +5.48659 84.7949 +5.16668 89.7832 +4.89963 94.8091 +4.67607 99.917 +4.33433 109.992 +4.09814 119.813 + + diff --git a/secop_psi/calcurves/g26550.inp b/secop_psi/calcurves/g26550.inp new file mode 100644 index 0000000..cb7dc6e --- /dev/null +++ b/secop_psi/calcurves/g26550.inp @@ -0,0 +1,68 @@ +sens=g26550 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Ge ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!range=60000 +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +51675.31367 1.26557 +35429.70923 1.40134 +22273.30233 1.60014 +15010.1018 1.80361 +10974.29819 1.9955 +8177.550987 2.20612 +6402.581521 2.4083 +5179.334456 2.60713 +4299.337042 2.80312 +3621.954841 3.00392 +3101.063665 3.20506 +2698.246949 3.40247 +2366.499828 3.60536 +2099.578824 3.80636 +1883.838736 4.00226 +1644.980342 4.26643 +1383.489437 4.63875 +1167.020468 5.04366 +961.5384615 5.5658 +751.8796992 6.28541 +588.2352941 7.10169 +446.4285714 8.13107 +349.6503497 9.15963 +277.7777778 10.2522 +228.8329519 11.2779 +192.6782274 12.2886 +165.2892562 13.287 +143.8848921 14.271 +126.7427123 15.2419 +112.7395716 16.2143 +101.2145749 17.1625 +91.49130833 18.1161 +82.98755187 19.0752 +75.52870091 20.049 +68.58710562 21.0886 +59.52380952 22.7074 +52.5210084 24.2179 +46.23208507 25.8398 +41.03405827 27.4352 +36.45643456 29.0979 +32.27888961 30.91 +28.20874471 33.0415 +23.63507445 36.0758 +20.15722637 39.0819 +17.45505324 42.0677 +15.2998776 45.0774 +13.57957632 48.0594 +12.60557166 50.0683 +10.6643916 55.076 +9.239582371 60.0479 +8.153281696 65.0502 +7.315288954 70.024 +6.668444919 74.8821 +6.132335807 79.8875 +5.700279314 84.8635 +5.340168749 89.9085 +5.048210409 94.8828 +4.795933049 100.02 +4.418912947 109.991 +4.150410891 119.985 +2.00 300 diff --git a/secop_psi/calcurves/g26552.inp b/secop_psi/calcurves/g26552.inp new file mode 100644 index 0000000..9c2ba9e --- /dev/null +++ b/secop_psi/calcurves/g26552.inp @@ -0,0 +1,69 @@ +sens=g26552 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Ge ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +range=33333 +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +44339.7 1.26752 +30479.5 1.40131 +19063.5 1.60058 +12816.1 1.80449 +9363.14 1.99492 +6947.58 2.20682 +5431.88 2.40878 +4384.64 2.60805 +3637.07 2.80314 +3058.28 3.00423 +2614.88 3.20522 +2273.22 3.40257 +1991.83 3.60531 +1765.38 3.80634 +1582.8 4.00195 +1380.44 4.26656 +1159.05 4.63876 +975.898 5.04379 +798.593 5.56593 +623.062 6.28577 +483.097 7.10211 +361.38 8.13119 +277.733 9.16019 +215.352 10.2524 +173.155 11.2782 +142.178 12.2899 +118.874 13.2861 +100.926 14.2709 +86.8487 15.2417 +75.4522 16.2141 +66.3158 17.1623 +58.6667 18.1158 +52.189 19.0755 +46.619 20.0485 +41.5819 21.0898 +35.1838 22.7081 +30.4344 24.2187 +26.3232 25.8396 +23.0313 27.4345 +20.2266 29.0991 +17.7346 30.9099 +15.3757 33.0415 +12.7993 36.0755 +10.893 39.0826 +9.4386 42.0696 +8.29125 45.0773 +7.3856 48.0592 +6.87377 50.0678 +5.85986 55.0763 +5.11841 60.0483 +4.55332 65.0504 +4.11832 70.0235 +3.78204 74.8823 +3.50414 79.8877 +3.27933 84.8633 +3.09329 89.9091 +2.94139 94.8836 +2.81229 100.02 +2.61888 109.99 +2.48327 119.985 +1 350 + + diff --git a/secop_psi/calcurves/gemark.inp b/secop_psi/calcurves/gemark.inp new file mode 100644 index 0000000..4b79c18 --- /dev/null +++ b/secop_psi/calcurves/gemark.inp @@ -0,0 +1,105 @@ +sens=gemark +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Ge ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=100uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +992.7556998 1 +792.1858987 1.1 +653.3182511 1.2 +552.6026325 1.3 +476.8394272 1.4 +418.1430416 1.5 +371.2262706 1.6 +332.9399159 1.7 +301.2666387 1.8 +274.7819189 1.9 +252.4107683 2 +233.326363 2.1 +216.8968945 2.2 +202.6260845 2.3 +190.1282584 2.4 +179.0951525 2.5 +169.2860274 2.6 +160.5048437 2.7 +152.5965004 2.8 +145.4329823 2.9 +138.9113482 3 +132.9452312 3.1 +127.4641573 3.2 +122.4082475 3.3 +117.7278231 3.4 +113.3802387 3.5 +109.329501 3.6 +105.5444561 3.7 +101.9985953 3.8 +98.66854327 3.9 +95.53422694 4 +89.78411574 4.2 +84.63036666 4.4 +79.9817946 4.6 +75.76394149 4.8 +71.91810156 5 +68.39563463 5.2 +65.15718079 5.4 +62.16911131 5.6 +59.40347818 5.8 +56.83732393 6 +51.16738451 6.5 +46.37614641 7 +42.28750151 7.5 +38.77347458 8 +35.73473767 8.5 +33.09366895 9 +30.7880927 9.5 +28.76957297 10 +26.99811498 10.5 +25.43582083 11 +24.04933649 11.5 +22.81264984 12 +21.70478628 12.5 +20.7087146 13 +19.81020181 13.5 +18.99659056 14 +18.25670823 14.5 +17.58098117 15 +16.96112438 15.5 +16.39008975 16 +15.86178642 16.5 +15.3710694 17 +14.91350279 17.5 +14.48533597 18 +14.08331295 18.5 +13.70467074 19 +13.3469953 19.5 +13.00822897 20 +12.38041392 21 +11.80935842 22 +11.28600739 23 +10.8031861 24 +10.35529442 25 +9.937879436 26 +9.547310328 27 +9.180686215 28 +8.835616101 29 +8.510135723 30 +8.202631541 31 +7.911729004 32 +7.636291925 33 +7.375312858 34 +7.127928135 35 +6.893358558 36 +6.670875366 37 +6.459793187 38 +6.259469861 39 +6.069291409 40 +5.6863 42.177 +5.226 45.156 +3 70 +1.85 100 +1.15 140 +0.69 200 +0.37 310 + + diff --git a/secop_psi/calcurves/gonio.inp b/secop_psi/calcurves/gonio.inp new file mode 100644 index 0000000..2401588 --- /dev/null +++ b/secop_psi/calcurves/gonio.inp @@ -0,0 +1,97 @@ +#sens=gonio +#unit=Ohm +#type=cernox +#curv ! R[Ohm] T[K] +29425.58 0.05 +27569.43 0.0531 +25943.79 0.0562 +24373.3 0.0596 +22944.24 0.0631 +21601.42 0.0668 +20308.04 0.0708 +19094.94 0.075 +17955.09 0.0794 +16862.65 0.0841 +15828.81 0.0891 +14863.1 0.0944 +13971.58 0.1 +13142.76 0.106 +12419.84 0.112 +11683.1 0.119 +11038.37 0.126 +10467.68 0.133 +9888.888 0.141 +9313.433 0.15 +8856.656 0.158 +8345.55 0.168 +7895.142 0.178 +7500.94 0.188 +7094.959 0.2 +6777.775 0.211 +6453.266 0.224 +6168.477 0.237 +5893.741 0.251 +5627.328 0.266 +5371.868 0.282 +5130.184 0.299 +4916.168 0.316 +4705.846 0.335 +4511.481 0.355 +4331.264 0.376 +4163.532 0.398 +4000.449 0.422 +3848.967 0.447 +3708.17 0.473 +3572.621 0.501 +3442.966 0.531 +3323.244 0.562 +3205.949 0.596 +3098.105 0.631 +2996.09 0.668 +2897.493 0.708 +2804.987 0.75 +2718.288 0.794 +2635.417 0.841 +2556.555 0.891 +2481.769 0.944 +2411.038 1 +2343.21 1.06 +2282.333 1.12 +2218.709 1.19 +2161.808 1.26 +2110.587 1.33 +2057.941 1.41 +2005.052 1.5 +1962.805 1.58 +1915.314 1.68 +1872.833 1.78 +1834.585 1.88 +1793.413 2 +1759.517 2.11 +1723.465 2.24 +1691.104 2.37 +1659.749 2.51 +1629.57 2.66 +1600.68 2.82 +1573.143 2.99 +1548.372 3.16 +1523.465 3.35 +1499.942 3.55 +1477.766 3.76 +1456.889 3.98 +1436.45 4.22 +1417.36 4.47 +1399.533 4.73 +1382.299 5.01 +1365.758 5.31 +1350.441 5.62 +1335.407 5.96 +1321.569 6.31 +1308.476 6.68 +1295.832 7.08 +1283.992 7.5 +1272.927 7.94 +1262.395 8.41 +1252.432 8.91 +1243.055 9.44 +1234.273 10 diff --git a/secop_psi/calcurves/logtest.inp b/secop_psi/calcurves/logtest.inp new file mode 100644 index 0000000..6d3500e --- /dev/null +++ b/secop_psi/calcurves/logtest.inp @@ -0,0 +1,8 @@ +sens=logtest +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1e9 1.0 +1000 1.0 +500 2 +250 4 diff --git a/secop_psi/calcurves/m59.inp b/secop_psi/calcurves/m59.inp new file mode 100644 index 0000000..1d248c4 --- /dev/null +++ b/secop_psi/calcurves/m59.inp @@ -0,0 +1,89 @@ +sens=m59 +unit=Ohm +type=Special +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered (up or down) +2199.986419835167 70.0 +2246.25987828359 40.2428 +2253.772108569125 36.3488 +2261.5177461083626 33.0395 +2270.073923790634 30.0177 +2279.449630797641 27.2731 +2289.760187824209 24.7779 +2301.0708987083462 22.5092 +2313.449373329081 20.4462 +2327.0193788481643 18.5703 +2341.9089158694783 16.8647 +2358.196551812499 15.3141 +2375.964787585677 13.9045 +2395.4659388431824 12.6232 +2416.7403881827154 10.4586 +2439.944793230727 10.4003 +2465.301273200276 9.4387 +2492.9295181530633 8.56497 +2523.132164809545 7.7712 +2508.6495727766196 8.13433 +2591.7911346159462 6.39525 +2630.813125806391 5.80047 +2673.2526129896673 5.26036 +2719.5058664413036 4.76994 +2769.810134630144 4.32469 +2824.6198058363293 3.92049 +2884.1643207437583 3.5536 +2949.0354962776796 3.22062 +3019.534527472569 2.91843 +3096.2070843305596 2.64423 +3179.6549957959496 2.39546 +3270.3934175663962 2.16977 +3369.147308809774 1.96507 +3476.5621691254973 1.77941 +3593.3539675538973 1.61106 +3720.488787200874 1.45841 +3858.7798319268322 1.32003 +4009.3133491568133 1.1946 +4173.111609168991 1.08092 +4351.510141366576 0.977914 +4545.796605479179 0.884589 +4757.294092254886 0.80005 +4987.81113013107 0.723484 +5239.019319947711 0.65415 +5512.771605471315 0.591376 +5811.38970907375 0.53455 +6137.054781982476 0.48312 +6492.470724374089 0.436579 +6880.500012869788 0.394472 +7304.155324602044 0.356381 +7766.940890251533 0.321931 +8272.94238892204 0.290777 +8826.32673048607 0.262611 +9431.700468450052 0.237148 +10094.388144528384 0.214134 +10820.566539327976 0.193336 +11616.358323264814 0.174544 +12489.354705010352 0.157566 +13447.45191440169 0.14223 +14499.73282797047 0.128378 +15656.331200786277 0.115869 +16929.33893892043 0.104572 +18330.740105492496 0.0943752 +19875.5886544554 0.0851683 +21579.431539095 0.0768574 +23461.728240096836 0.0693559 +25543.476206650263 0.0625856 +27847.10164209858 0.0564757 +30401.849166294414 0.0509623 +33236.86093651525 0.0459874 +36388.15198572197 0.0414987 +39897.89655669318 0.0374489 +43810.680599391424 0.0337953 +48183.68378188962 0.0304994 +53078.666070886895 0.0275261 +58570.6441026358 0.0248442 +64745.56126135991 0.022425 +71705.09243669068 0.0202429 +79570.11761401493 0.0182749 +88487.10771347793 0.0164999 +98625.67759682551 0.014899 +110191.98334508087 0.0134554 +123444.00401283908 0.0121535 +138688.3559685986 0.0109796 diff --git a/secop_psi/calcurves/matsh100.inp b/secop_psi/calcurves/matsh100.inp new file mode 100644 index 0000000..a676832 --- /dev/null +++ b/secop_psi/calcurves/matsh100.inp @@ -0,0 +1,59 @@ +#sens=matsh100 +#unit=Ohm +#type=Special Model:Matsh +#curv ! Curve follows R[Ohm] T[K] +153.6398505 4.747323186 +155.9118439 4.529649125 +157.4680804 4.153671299 +158.8410152 3.864308249 +162.5257001 3.356750427 +163.4497965 2.958274135 +164.3977859 2.823764047 +168.7577333 2.408027154 +171.9158848 2.210810998 +174.5456121 2.061752824 +179.015883 1.870251911 +182.2921294 1.758910729 +187.4060098 1.62460355 +194.0285991 1.436927246 +201.064054 1.321468326 +205.8264968 1.225863121 +217.9361627 1.084249827 +224.4149081 1.011633989 +232.4699463 0.938444588 +242.3352858 0.866786691 +253.0374822 0.800600458 +271.9209224 0.700485519 +278.0620002 0.665477388 +287.9259145 0.617331624 +303.2966475 0.549973727 +314.0074599 0.511660133 +329.7006305 0.475443093 +369.7840207 0.391695186 +385.5570971 0.364407973 +406.3576762 0.336582452 +429.0556683 0.310881637 +456.5822967 0.287143289 +492.0214619 0.265217557 +522.2998604 0.244966033 +559.3101614 0.228724941 +601.5188764 0.213560623 +646.6371343 0.197253528 +700.5261948 0.182191612 +757.2343412 0.168279797 +817.8112803 0.155430262 +886.7977238 0.14408116 +967.0519055 0.133079389 +1035.305013 0.123362288 +1115.972995 0.114354704 +1199.985166 0.106004829 +1301.937575 0.099334778 +1404.652363 0.09308442 +1534.180696 0.085976665 +1668.925002 0.079698879 +1830.924155 0.073879481 +2012.969044 0.06823818 +2177.796168 0.06325561 +2359.582158 0.059061804 +2557.170441 0.055146044 +2729.833915 0.051582932 diff --git a/secop_psi/calcurves/mz020124.inp b/secop_psi/calcurves/mz020124.inp new file mode 100644 index 0000000..891eb9d --- /dev/null +++ b/secop_psi/calcurves/mz020124.inp @@ -0,0 +1,110 @@ +sens=mz020124 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=3250 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +form=loglog +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1.954519465 3.1206 +1.985957728 3.391099984 +2.017855208 3.674243588 +2.050312219 3.970801721 +2.083291299 4.281292125 +2.116752103 4.606384478 +2.150799862 4.946893604 +2.185344956 5.303354639 +2.220496025 5.676624202 +2.256160544 6.067557577 +2.292450675 6.476886834 +2.329270895 6.905479786 +2.366736998 7.354276657 +2.404750369 7.824233572 +2.443430553 8.316344412 +2.482675737 8.831617418 +2.522609344 9.371236431 +2.563126259 9.936251595 +2.604353905 10.52785303 +2.646183761 11.14740374 +2.688747379 11.79612797 +2.731932722 12.47543812 +2.775875604 13.18668703 +2.820460358 13.93153058 +2.865827198 14.71147282 +2.911856711 15.52816789 +2.957399533 16.38012579 +3.001096774 17.2515529 +3.043336677 18.12271256 +3.084537113 18.99996906 +3.125143759 19.89802618 +3.165555994 20.82438653 +3.206343152 21.78831425 +3.248029761 22.80187398 +3.291091827 23.88041394 +3.336184037 25.02255504 +3.383062335 26.2130948 +3.431310348 27.45487455 +3.481528863 28.75178258 +3.534516391 30.107979 +3.590789942 31.52786691 +3.651236801 33.01467207 +3.716464596 34.5715482 +3.787476963 36.20179764 +3.864826479 37.90887837 +3.947389668 39.69641134 +4.03663982 41.56818814 +4.135042713 43.52817906 +4.245120281 45.58054151 +4.369884919 47.72962882 +4.512425035 49.9799995 +4.672292251 52.33642688 +4.846743092 54.80390926 +5.036861394 57.3876805 +5.244329856 60.09322113 +5.470789441 62.92626996 +5.717945347 65.89283627 +5.98783742 68.99921254 +6.280872826 72.25198782 +6.597812965 75.65806167 +6.93920951 79.22465883 +7.306173816 82.95934454 +7.698923424 86.87004057 +8.118017814 90.96504202 +8.56406589 95.25303495 +9.036702813 99.74311475 +9.535643365 104.4448055 +10.06027842 109.3680801 +10.61133438 114.5233815 +11.18948246 119.9216448 +11.7953274 125.5743203 +12.42910909 131.4933983 +13.09181923 137.6914338 +13.78319816 144.1815737 +14.50373981 150.9775845 +15.25351734 158.0938814 +16.03356143 165.5455591 +16.84612427 173.3484235 +17.69253242 181.5190256 +18.57462266 190.0746963 +19.49395683 199.0335833 +20.45266947 208.4146897 +21.45210925 218.2379139 +22.49468935 228.5240925 +23.58305153 239.2950438 +24.71894892 250.5736143 +25.90955775 262.3837275 +27.15813858 274.7504342 +28.46033449 287.6999658 +29.81192363 301.25979 +31.2169163 315.4586691 +32.68812424 330.3267207 +34.22866808 345.895482 +35.84181551 362.1979764 +37.53098823 379.2687837 +39.29976921 397.1441134 +41.15191027 415.8618814 +43.09134006 435.4617906 +45.12217235 455.9854151 +47.24871481 477.4762882 + + diff --git a/secop_psi/calcurves/mz030500.inp b/secop_psi/calcurves/mz030500.inp new file mode 100644 index 0000000..3a7024d --- /dev/null +++ b/secop_psi/calcurves/mz030500.inp @@ -0,0 +1,126 @@ +sens=mz030500 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=3250 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +2.498 4.472532903 +3 9.773124819 +3.06 10.55303764 +3.12 11.46731087 +3.18 12.38397382 +3.24 13.37176795 +3.3 14.42540969 +3.37 15.73076805 +3.44 17.12343827 +3.51 18.64642133 +3.58 20.24301705 +3.65 21.9221971 +3.72 23.69988759 +3.79 25.51904558 +3.87 27.62746099 +3.95 29.74116813 +4.03 31.80878152 +4.11 33.81739732 +4.19 35.75357133 +4.27 37.5847035 +4.36 39.53810683 +4.45 41.40171428 +4.54 43.17988888 +4.63 44.87496076 +4.72 46.49129524 +4.81 48.04370952 +4.91 49.6720703 +5.01 51.27267707 +5.11 52.82258535 +5.21 54.30211212 +5.31 55.74326127 +5.42 57.25945659 +5.53 58.73605895 +5.64 60.19158187 +5.75 61.60151532 +5.87 63.10400027 +5.99 64.58000866 +6.11 66.03690471 +6.23 67.45325536 +6.35 68.84502457 +6.48 70.32891791 +6.61 71.79267469 +6.74 73.23720062 +6.87 74.66546356 +7.01 76.18382684 +7.15 77.67731168 +7.29 79.15321097 +7.44 80.71669982 +7.59 82.26065751 +7.74 83.77920365 +7.89 85.2977498 +8.05 86.91753235 +8.21 88.50330232 +8.37 90.08781524 +8.54 91.77136022 +8.71 93.42984611 +8.88 95.08617427 +9.06 96.8399335 +9.24 98.57303396 +9.42 100.3060185 +9.61 102.1321031 +9.8 103.9440315 +10 105.8513246 +10.2 107.752616 +10.4 109.6486395 +10.61 111.6394642 +10.82 113.6247095 +11.04 115.7043276 +11.26 117.7833593 +11.49 119.9563834 +11.72 122.130388 +11.95 124.3074784 +12.19 126.5792385 +12.43 128.853444 +12.68 131.2224081 +12.93 133.5961045 +13.19 136.0654791 +13.45 138.5436461 +13.72 141.119047 +13.99 143.7001032 +14.27 146.3776573 +14.56 149.1617938 +14.85 151.9478907 +15.15 154.8374244 +15.45 157.7280848 +15.76 160.7164093 +16.08 163.8065005 +16.4 166.8996993 +16.73 170.0966977 +17.06 173.302643 +17.4 176.6125596 +17.75 180.0321832 +18.11 183.5578675 +18.47 187.0893314 +18.84 190.7241807 +19.22 194.4710294 +19.6 198.2263364 +19.99 202.0878068 +20.39 206.0543442 +20.8 210.127842 +21.22 214.3079218 +21.64 218.4924193 +22.07 222.7820044 +22.51 227.1788701 +22.96 231.6827282 +23.42 236.2894724 +23.89 241.001239 +24.37 245.8178023 +24.86 250.7437405 +25.36 255.7715377 +25.87 260.8990519 +26.39 266.1324909 +26.92 271.458145 +27.46 276.8800659 +28.01 282.4402052 +28.57 288.1037036 +29.14 293.8716111 +37.2 375.1552482 + diff --git a/secop_psi/calcurves/pcry.inp b/secop_psi/calcurves/pcry.inp new file mode 100644 index 0000000..7e7f220 --- /dev/null +++ b/secop_psi/calcurves/pcry.inp @@ -0,0 +1,84 @@ +sens=pcry +unit=Ohm +type=Pt250 +curv +0.001 10 +0.141 13 +0.164 14 +0.193 15 +0.228 16 +0.271 17 +0.321 18 +0.379 19 +0.525 21 +0.713 23 +0.823 24 +0.946 25 +1.555 29 +2.139 32 +2.587 34 +3.082 36 +3.619 38 +4.195 40 +4.807 42 +5.126 43 +5.788 45 +6.833 48 +7.56 50 +8.31 52 +8.692 53 +9.469 55 +10.261 57 +11.474 60 +11.884 61 +12.713 63 +13.971 66 +15.243 69 +16.953 73 +18.244 76 +19.107 78 +20.407 81 +21.71 84 +22.58 86 +23.886 89 +24.755 91 +26.057 94 +26.924 96 +27.789 98 +28.652 100 +29.515 102 +30.376 104 +31.236 106 +32.095 108 +32.952 110 +33.809 112 +34.664 114 +35.518 116 +36.371 118 +37.222 120 +38.073 122 +38.498 123 +39.347 125 +40.195 127 +41.041 129 +42.31 132 +43.154 134 +47.36 144 +50.708 153 +55.703 164 +59.842 174 +63.962 184 +67.654 193 +72.149 204 +75.811 213 +79.865 223 +88.335 244 +91.948 253 +95.949 263 +99.939 273 +104.315 284 +107.884 293 +112.234 304 +115.782 313 +123.667 333 + diff --git a/secop_psi/calcurves/psam.inp b/secop_psi/calcurves/psam.inp new file mode 100644 index 0000000..c9ed55e --- /dev/null +++ b/secop_psi/calcurves/psam.inp @@ -0,0 +1,90 @@ +#sens=psam +#unit=Ohm +#type=Pt250 ! test +#curv +0.001 1.0 +1.806 11.014 +1.855 13.02 +1.909 14.627 +1.924 15 +2.019 16.858 +2.087 17.962 +2.122 18.462 +2.165 19.053 +2.391 21.605 +2.561 23.17 +2.68 24.154 +2.848 25.4 +3.551 29.725 +4.154 32.689 +4.656 34.85 +5.112 36.661 +5.534 38.241 +6.279 40.827 +6.933 42.954 +7.241 43.924 +7.833 45.742 +8.64 48.081 +9.402 50.233 +10.11 52.159 +10.768 53.915 +11.415 55.611 +12.021 57.17 +13.16 60.054 +13.709 61.422 +14.73 63.939 +15.735 66.413 +17.176 69.883 +18.516 73.074 +19.803 76.131 +21.014 78.997 +22.173 81.727 +23.3 84.385 +24.368 86.89 +25.426 89.382 +26.427 91.735 +27.424 94.083 +28.371 96.319 +29.323 98.565 +30.224 100.689 +31.133 102.843 +32 104.889 +32.865 106.94 +33.708 108.941 +34.537 110.912 +35.359 112.864 +36.15 114.752 +36.954 116.669 +37.73 118.519 +38.501 120.368 +39.266 122.204 +40.007 123.973 +40.756 125.779 +41.485 127.528 +42.201 129.251 +43.622 132.682 +44.32 134.373 +48.378 144.217 +52.255 153.673 +56.564 164.241 +60.698 174.433 +64.687 184.307 +68.544 193.884 +72.767 204.422 +76.379 213.474 +80.392 223.56 +84.256 233.308 +88.516 244.079 +92.107 253.192 +96.145 263.468 +99.966 273.226 +104.27 284.239 +107.917 293.61 +112.073 304.315 +115.569 313.341 +119.4 323.15 +123.24 333.15 +127.07 343.15 +130.89 353.15 +134.7 363.15 + diff --git a/secop_psi/calcurves/pt-100.std b/secop_psi/calcurves/pt-100.std new file mode 100644 index 0000000..7a3483d --- /dev/null +++ b/secop_psi/calcurves/pt-100.std @@ -0,0 +1,5 @@ +set nr(340) 4 +set nr(336) 6 +set nr(335) 6 +set nr(224) 6 + diff --git a/secop_psi/calcurves/pt-1000.std b/secop_psi/calcurves/pt-1000.std new file mode 100644 index 0000000..900d100 --- /dev/null +++ b/secop_psi/calcurves/pt-1000.std @@ -0,0 +1,5 @@ +set nr(340) 5 +set nr(336) 7 +set nr(335) 7 +set nr(224) 7 + diff --git a/secop_psi/calcurves/pt1000e.inp b/secop_psi/calcurves/pt1000e.inp new file mode 100644 index 0000000..2dd6d87 --- /dev/null +++ b/secop_psi/calcurves/pt1000e.inp @@ -0,0 +1,51 @@ +sens=pt1000e +unit=Ohm +type=Pt1000 +curv +0.1 1 +10 2 +17 3 +18 10 +18.06 11.014 +18.55 13.02 +19.09 14.627 +19.24 15 +20.19 16.858 +20.87 17.962 +21.22 18.462 +21.65 19.053 +23.91 21.605 +25.61 23.17 +26.8 24.154 +28.48 25.4 +34.05 28 +38.2 30 +42.35 32 +51.46 36 +56.5 38 +61.7 40 +67.26 42 +79.09 46 +99.24 52 +121.8 58 +150.15 65 +192.23 75 +235.25 85 +320.81 105 +466.48 140 +629.8 180 +750.44 210 +987.84 270 +1162.7 315 +1316.16 355 +1486.52 400 +1654.66 445 +1820.35 490 +1983.86 535 +2162.56 585 +2321.06 630 +2477.12 675 +2613.91 715 +2765.66 760 +2898.3 800 +2931.46 810 diff --git a/secop_psi/calcurves/pt1000m.inp b/secop_psi/calcurves/pt1000m.inp new file mode 100644 index 0000000..30289aa --- /dev/null +++ b/secop_psi/calcurves/pt1000m.inp @@ -0,0 +1,51 @@ +sens=pt1000m +unit=Ohm +type=Pt500 # special setting limited to 500 Ohm (< 150 K!) +curv +0.1 1 +10 2 +17 3 +18 10 +18.06 11.014 +18.55 13.02 +19.09 14.627 +19.24 15 +20.19 16.858 +20.87 17.962 +21.22 18.462 +21.65 19.053 +23.91 21.605 +25.61 23.17 +26.8 24.154 +28.48 25.4 +34.05 28 +38.2 30 +42.35 32 +51.46 36 +56.5 38 +61.7 40 +67.26 42 +79.09 46 +99.24 52 +121.8 58 +150.15 65 +192.23 75 +235.25 85 +320.81 105 +466.48 140 +629.8 180 +750.44 210 +987.84 270 +1162.7 315 +1316.16 355 +1486.52 400 +1654.66 445 +1820.35 490 +1983.86 535 +2162.56 585 +2321.06 630 +2477.12 675 +2613.91 715 +2765.66 760 +2898.3 800 +2931.46 810 diff --git a/secop_psi/calcurves/pt100e.inp b/secop_psi/calcurves/pt100e.inp new file mode 100644 index 0000000..92b2b90 --- /dev/null +++ b/secop_psi/calcurves/pt100e.inp @@ -0,0 +1,51 @@ +sens=pt100e +unit=Ohm +type=Pt500 +curv +0.01 1 +1 2 +1.7 3 +1.8 10 +1.806 11.014 +1.855 13.02 +1.909 14.627 +1.924 15 +2.019 16.858 +2.087 17.962 +2.122 18.462 +2.165 19.053 +2.391 21.605 +2.561 23.17 +2.68 24.154 +2.848 25.4 +3.405 28 +3.82 30 +4.235 32 +5.146 36 +5.65 38 +6.17 40 +6.726 42 +7.909 46 +9.924 52 +12.18 58 +15.015 65 +19.223 75 +23.525 85 +32.081 105 +46.648 140 +62.98 180 +75.044 210 +98.784 270 +116.27 315 +131.616 355 +148.652 400 +165.466 445 +182.035 490 +198.386 535 +216.256 585 +232.106 630 +247.712 675 +261.391 715 +276.566 760 +289.83 800 +293.146 810 diff --git a/secop_psi/calcurves/pt_ill.inp b/secop_psi/calcurves/pt_ill.inp new file mode 100644 index 0000000..fe76d3f --- /dev/null +++ b/secop_psi/calcurves/pt_ill.inp @@ -0,0 +1,204 @@ +sens=pt_ill +unit=Ohm +type=Pt250 +curv +0.02 0.867 +0.04 4.092 +0.06 6.939 +0.08 9.066 +0.10001 10.677 +0.118 11.826 +0.13601 12.777 +0.15401 13.583 +0.17201 14.282 +0.19001 14.897 +0.20801 15.448 +0.22601 15.947 +0.24401 16.403 +0.262 16.824 +0.28001 17.216 +0.29801 17.583 +0.316 17.929 +0.334 18.256 +0.352 18.566 +0.37 18.862 +0.388 19.146 +0.40601 19.418 +0.42401 19.679 +0.442 19.931 +0.46 20.175 +0.47801 20.411 +0.496 20.64 +0.51401 20.862 +0.53201 21.078 +0.55001 21.288 +0.56801 21.493 +0.586 21.693 +0.60401 21.889 +0.62201 22.08 +0.64001 22.267 +0.65801 22.45 +0.676 22.63 +0.694 22.806 +0.712 22.979 +0.73001 23.148 +0.74801 23.315 +0.76601 23.479 +0.784 23.64 +0.80201 23.799 +0.82001 23.955 +0.83801 24.109 +0.85601 24.261 +0.87401 24.41 +0.89201 24.558 +0.91001 24.703 +0.92801 24.847 +0.94601 24.988 +0.96401 25.128 +0.98201 25.266 +1.00001 25.402 +1.12858 26.332 +1.25714 27.196 +1.38572 28.005 +1.51429 28.769 +1.64287 29.494 +1.77143 30.185 +1.9 30.848 +2.02858 31.484 +2.15714 32.098 +2.28572 32.692 +2.41429 33.267 +2.54286 33.825 +2.67143 34.369 +2.8 34.899 +2.92857 35.416 +3.05714 35.922 +3.18572 36.416 +3.31429 36.902 +3.44286 37.378 +3.57143 37.845 +3.7 38.305 +3.82857 38.757 +3.95714 39.202 +4.08571 39.641 +4.21429 40.074 +4.34286 40.501 +4.47144 40.922 +4.6 41.339 +4.72857 41.75 +4.85714 42.157 +4.98571 42.56 +5.11429 42.959 +5.24287 43.353 +5.37143 43.744 +5.5 44.132 +5.62857 44.516 +5.75714 44.897 +5.88571 45.275 +6.01429 45.65 +6.14286 46.022 +6.27144 46.392 +6.40001 46.759 +6.52857 47.123 +6.65714 47.485 +6.78571 47.845 +6.9143 48.203 +7.04286 48.559 +7.17143 48.913 +7.3 49.265 +7.42857 49.615 +7.55714 49.963 +7.68571 50.31 +7.81429 50.655 +7.94287 50.998 +8.07144 51.34 +8.2 51.68 +8.32857 52.019 +8.45715 52.357 +8.58572 52.693 +8.71429 53.028 +8.84286 53.362 +8.97144 53.695 +9.1 54.026 +9.22857 54.357 +9.35715 54.686 +9.48572 55.014 +9.61429 55.342 +9.74286 55.668 +9.87144 55.993 +10 56.318 +11.2858 59.518 +12.5715 62.654 +13.8572 65.741 +15.1429 68.791 +16.4286 71.815 +17.7144 74.818 +19.0001 77.806 +20.2857 80.783 +21.5715 83.752 +22.8572 86.717 +24.143 89.68 +25.4286 92.642 +26.7144 95.604 +28.0001 98.569 +29.2857 101.537 +30.5715 104.508 +31.8572 107.484 +33.143 110.465 +34.4287 113.452 +35.7144 116.444 +37.0001 119.443 +38.2858 122.448 +39.5714 125.459 +40.8571 128.477 +42.143 131.502 +43.4287 134.535 +44.7144 137.574 +46.0001 140.621 +47.2858 143.674 +48.5714 146.735 +49.8571 149.803 +51.143 152.876 +52.4287 155.958 +53.7144 159.045 +55.0001 162.14 +56.2858 165.24 +57.5714 168.349 +58.8571 171.462 +60.143 174.582 +61.4287 177.706 +62.7144 180.839 +64.0001 183.975 +65.2857 187.117 +66.5714 190.265 +67.8572 193.419 +69.1429 196.577 +70.4287 199.74 +71.7144 202.909 +73.0001 206.081 +74.2857 209.256 +75.5714 212.438 +76.8572 215.623 +78.1429 218.811 +79.4287 222.003 +80.7144 225.199 +82.0001 228.399 +83.2857 231.6 +84.5714 234.806 +85.8572 238.014 +87.1429 241.224 +88.4287 244.438 +89.7144 247.653 +91.0001 250.87 +92.2857 254.09 +93.5714 257.311 +94.8572 260.533 +96.1429 263.757 +97.4287 266.983 +98.7144 270.209 +100.001 273.436 +105.001 285.992 +110.001 298.55 +115.001 311.098 +120.001 323.63 +125.001 336.135 diff --git a/secop_psi/calcurves/purge b/secop_psi/calcurves/purge new file mode 100755 index 0000000..a2fc0df --- /dev/null +++ b/secop_psi/calcurves/purge @@ -0,0 +1,8 @@ +#!/bin/tcsh +foreach fil (*.inp) + set u=${fil:au:r} + if (-e $u.340) then + # rm $fil + echo "$fil $u.340" + endif +end diff --git a/secop_psi/calcurves/r3509.inp b/secop_psi/calcurves/r3509.inp new file mode 100644 index 0000000..bc2835a --- /dev/null +++ b/secop_psi/calcurves/r3509.inp @@ -0,0 +1,69 @@ +sens=r3509 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1.53 1.001 +1.592 1.3 +1.654 1.7 +1.668 1.8 +1.685 1.9 +1.696 2 +1.729 2.2 +1.78 2.5 +1.85 3 +1.99 4 +2.014 4.21 +2.066 4.6 +2.116 5 +2.176 5.5 +2.234 6 +2.3 6.6 +2.362 7.2 +2.43 7.9 +2.504 8.7 +2.573 9.5 +2.645 10.4 +2.72 11.4 +2.796 12.5 +2.873 13.7 +2.95 15 +3.029 16.4 +3.11 18 +3.191 19.7 +3.277 21.6 +3.365 23.7 +3.458 26 +3.558 28.5 +3.666 31.2 +3.793 34.2 +3.941 37.5 +4.118 41.1 +4.336 45.1 +4.605 49.5 +4.93 54.3 +5.319 59.5 +5.788 65.2 +6.349 71.5 +6.904 77.348 +7.634 84.8 +8.471 93 +9.412 102 +10.453 111.8 +11.607 122.6 +12.865 134.4 +14.241 147.4 +15.729 161.6 +17.347 177.2 +19.1 194.3 +20.999 213 +23.066 233.5 +25.321 256 +27.037 273.15 +29.724 300 +32.733 330 + + diff --git a/secop_psi/calcurves/r3510.inp b/secop_psi/calcurves/r3510.inp new file mode 100644 index 0000000..f53a160 --- /dev/null +++ b/secop_psi/calcurves/r3510.inp @@ -0,0 +1,69 @@ +sens=r3510 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1.433 1.001 +1.515 1.3 +1.597 1.7 +1.626 1.8 +1.638 1.9 +1.65 2 +1.681 2.2 +1.728 2.5 +1.812 3 +1.962 4 +1.989 4.21 +2.04 4.6 +2.09 5 +2.151 5.5 +2.209 6 +2.274 6.6 +2.337 7.2 +2.405 7.9 +2.479 8.7 +2.547 9.5 +2.62 10.4 +2.695 11.4 +2.771 12.5 +2.848 13.7 +2.925 15 +3.005 16.4 +3.085 18 +3.167 19.7 +3.253 21.6 +3.341 23.7 +3.434 26 +3.534 28.5 +3.643 31.2 +3.769 34.2 +3.918 37.5 +4.095 41.1 +4.313 45.1 +4.582 49.5 +4.909 54.3 +5.298 59.5 +5.767 65.2 +6.33 71.5 +6.885 77.348 +7.615 84.8 +8.451 93 +9.392 102 +10.433 111.8 +11.586 122.6 +12.843 134.4 +14.219 147.4 +15.707 161.6 +17.324 177.2 +19.077 194.3 +20.975 213 +23.041 233.5 +25.296 256 +27.011 273.15 +29.697 300 +32.705 330 + + diff --git a/secop_psi/calcurves/rhfe0734.inp b/secop_psi/calcurves/rhfe0734.inp new file mode 100644 index 0000000..dae0435 --- /dev/null +++ b/secop_psi/calcurves/rhfe0734.inp @@ -0,0 +1,124 @@ +sens=rhfe0734 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=3250 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing ++1.68 0.5831 ++1.73 0.8616 ++1.78 1.1426 ++1.83 1.4276 ++1.88 1.7179 ++1.93 2.0148 ++1.98 2.3195 ++2.03 2.6331 ++2.08 2.957 ++2.13 3.292 ++2.18 3.6391 ++2.23 3.9993 ++2.28 4.3734 ++2.33 4.7622 ++2.38 5.1668 ++2.43 5.5881 ++2.48 6.0273 ++2.53 6.4856 ++2.58 6.9644 ++2.63 7.465 ++2.68 7.9888 ++2.73 8.5374 ++2.78 9.1123 ++2.83 9.7149 ++2.88 10.3469 ++2.93 11.0099 ++2.98 11.7059 ++3.03 12.4366 ++3.08 13.2041 ++3.13 14.0107 ++3.18 14.8583 ++3.23 15.7491 ++3.28 16.685 ++3.33 17.6671 ++3.38 18.6961 ++3.43 19.7717 ++3.48 20.8922 ++3.53 22.0546 ++3.58 23.254 ++3.63 24.4842 ++3.68 25.7372 ++3.73 27.0041 ++3.78 28.275 ++3.83 29.5403 ++3.88 30.7913 ++3.93 32.0212 ++3.98 33.2277 ++4.03 34.4064 ++4.08 35.5549 ++4.13 36.6724 ++4.18 37.7591 ++4.23 38.8156 ++4.28 39.8428 ++4.33 40.8421 ++4.43 42.7622 ++4.53 44.5869 ++4.63 46.3269 ++4.73 47.992 ++4.83 49.5908 ++4.93 51.1309 ++5.03 52.6189 ++5.13 54.0603 ++5.23 55.4602 ++5.33 56.8226 ++5.43 58.1513 ++5.53 59.4494 ++5.63 60.7198 ++5.73 61.9649 ++5.83 63.1869 ++5.93 64.3876 ++6.03 65.5689 ++6.13 66.7323 ++6.23 67.8791 ++6.33 69.0106 ++6.43 70.1279 ++6.53 71.232 ++6.63 72.324 ++6.73 73.4046 ++6.83 74.4746 ++6.93 75.5348 ++7.03 76.5858 ++7.13 77.6282 ++7.23 78.6626 ++7.33 79.6895 ++7.43 80.7094 ++7.53 81.7228 ++7.63 82.7301 ++7.73 83.7316 ++7.83 84.7278 ++7.93 85.7189 ++8.03 86.7054 ++8.13 87.6875 ++8.23 88.6655 ++8.33 89.6396 ++9.33 99.2177 ++10.33 108.6138 ++11.33 117.9369 ++12.33 127.252 ++13.33 136.5978 ++14.33 145.9964 ++15.33 155.4592 ++16.33 164.9901 ++17.33 174.5886 ++18.33 184.251 ++19.33 193.9718 ++20.33 203.7444 ++21.33 213.5617 ++22.33 223.4166 ++23.33 233.3019 ++24.33 243.211 ++25.33 253.1376 ++26.33 263.076 ++27.33 273.0207 ++29.33 292.9108 ++31.33 312.7801 ++33.33 332.6028 + diff --git a/secop_psi/calcurves/rhfe4140.inp b/secop_psi/calcurves/rhfe4140.inp new file mode 100644 index 0000000..671266c --- /dev/null +++ b/secop_psi/calcurves/rhfe4140.inp @@ -0,0 +1,53 @@ +sens=rhfe4140 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=3250 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1.58190 1.468 +1.67400 1.993 +1.80593 2.791 +1.87062 3.208 +1.98346 3.979 +2.01446 4.201 +2.17064 5.409 +2.35384 7.032 +2.45031 7.993 +2.63333 10.061 +2.84964 13.002 +3.03325 16.021 +3.23588 20.015 +3.45195 24.998 +3.55119 27.449 +3.65991 30.129 +3.87224 35.144 +4.10610 40.104 +4.68439 50.174 +5.43016 60.491 +6.25613 70.218 +7.22886 80.535 +8.24755 90.660 +9.29999 100.749 +11.9067 125.232 +14.6048 150.712 +17.1906 175.593 +19.7720 200.866 +22.2457 225.394 +24.7721 250.638 +27.0084 273.062 +27.0370 273.347 +29.7624 300.665 +32.154 325 +34.638 350 +37.136 375 +39.652 400 +42.189 425 +44.747 450 +47.329 475 +49.937 500 +60.644 600 +71.825 700 +83.522 800 + + diff --git a/secop_psi/calcurves/rhfe705.inp b/secop_psi/calcurves/rhfe705.inp new file mode 100644 index 0000000..c8f4732 --- /dev/null +++ b/secop_psi/calcurves/rhfe705.inp @@ -0,0 +1,70 @@ +sens=rhfe705 +unit=Ohm +type=RhFe +curv +1.40787 2 +1.44441 2.25 +1.48069 2.5 +1.51656 2.75 +1.55186 3 +1.58646 3.25 +1.62021 3.5 +1.653 3.75 +1.68481 4 +1.71563 4.25 +1.74544 4.5 +1.77425 4.75 +1.80202 5 +1.85445 5.5 +1.90269 6 +1.94698 6.5 +1.98773 7 +2.02532 7.5 +2.06015 8 +2.09261 8.5 +2.12367 9 +2.15513 9.5 +2.18884 10 +2.26927 11 +2.36109 12 +2.4467 13 +2.51248 14 +2.56155 15 +2.60114 16 +2.63842 17 +2.67807 18 +2.71917 19 +2.76004 20 +2.83629 22 +2.90852 24 +2.98426 26 +3.069 28 +3.16018 30 +3.2542 32 +3.35036 34 +3.44849 36 +3.54786 38 +3.64488 40 +3.87398 45 +4.19334 50 +4.5408 55 +4.91581 60 +5.3318 65 +5.73653 70 +6.15888 75 +6.64008 80 +7.21199 85 +7.80683 90 +8.35142 95 +8.87103 100 +9.93932 110 +11.0221 120 +13.1247 140 +15.2620 160 +17.4033 180 +19.4408 200 +21.6369 220 +23.6669 240 +25.7695 260 +27.7930 280 +30.8 310 diff --git a/secop_psi/calcurves/rhfe8119.inp b/secop_psi/calcurves/rhfe8119.inp new file mode 100644 index 0000000..5833129 --- /dev/null +++ b/secop_psi/calcurves/rhfe8119.inp @@ -0,0 +1,66 @@ +sens=rhfe8119 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=3250 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1.6835 1.0 +1.7566 1.408 +1.7745 1.508 +1.7925 1.609 +1.8617 2.006 +1.9298 2.41 +1.9932 2.8 +2.0569 3.208 +2.1158 3.602 +2.1776 4.032 +2.2019 4.207 +2.2559 4.607 +2.3591 5.42 +2.4535 6.224 +2.5469 7.085 +2.6428 8.044 +2.7344 9.041 +2.8239 10.097 +2.9026 11.099 +3.0388 13.018 +3.1086 14.103 +3.2263 16.105 +3.3306 18.075 +3.4277 20.081 +3.5359 22.497 +3.6426 25.036 +3.7436 27.529 +3.8446 30.018 +3.9485 32.539 +4.0556 35.035 +4.2955 40.16 +4.8847 50.442 +5.599 60.391 +6.443 70.418 +7.3254 79.886 +8.3393 90.091 +9.3943 100.318 +12.1072 126.038 +14.6989 150.738 +17.2882 175.872 +19.8227 200.897 +22.3245 225.909 +25.0177 253.046 +27.0043 273.132 +27.033 273.422 +29.7561 300.957 +32.138 325 +34.625 350 +37.126 375 +39.645 400 +42.185 425 +44.747 450 +47.333 475 +49.944 500 +60.669 600 +71.872 700 +83.594 800 + + diff --git a/secop_psi/calcurves/rhfe8244.inp b/secop_psi/calcurves/rhfe8244.inp new file mode 100644 index 0000000..c0d6c77 --- /dev/null +++ b/secop_psi/calcurves/rhfe8244.inp @@ -0,0 +1,65 @@ +sens=rhfe8244 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=3250 ! setpoint limit (automatic if omitted) +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1.725 1.000 +1.8003 1.405 +1.8182 1.505 +1.8369 1.608 +1.9076 2.011 +1.9742 2.406 +2.0379 2.798 +2.1019 3.207 +2.1613 3.603 +2.2206 4.016 +2.2472 4.208 +2.3013 4.609 +2.4027 5.406 +2.496 6.2 +2.5855 7.02 +2.6865 8.027 +2.7792 9.035 +2.867 10.073 +2.9446 11.062 +3.0836 13.023 +3.148 14.022 +3.2661 16.025 +3.374 18.062 +3.4691 20.026 +3.5803 22.515 +3.6853 25.021 +3.786 27.512 +3.8865 29.992 +3.9919 32.551 +4.0991 35.048 +4.3341 40.073 +4.9331 50.537 +5.6366 60.342 +6.4825 70.406 +7.3813 80.053 +8.4119 90.424 +9.4424 100.416 +12.0995 125.632 +14.6813 150.259 +17.2466 175.171 +19.7776 200.18 +22.4707 227.132 +24.7622 250.24 +27.0121 273.003 +27.0474 273.361 +29.7123 300.333 +32.154 325 +34.638 350 +37.136 375 +39.652 400 +42.189 425 +44.747 450 +47.329 475 +49.937 500 +60.644 600 +71.825 700 +83.522 800 + diff --git a/secop_psi/calcurves/rhfe8733.inp b/secop_psi/calcurves/rhfe8733.inp new file mode 100644 index 0000000..be0f80f --- /dev/null +++ b/secop_psi/calcurves/rhfe8733.inp @@ -0,0 +1,51 @@ +sens=rhfe8733 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=RhFe ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1.5 0.3 +1.8843 1.403 +1.9039 1.512 +1.9202 1.602 +1.9943 2.027 +2.0584 2.406 +2.1234 2.807 +2.1851 3.203 +2.2447 3.602 +2.3004 3.99 +2.3296 4.201 +2.384 4.606 +2.4846 5.399 +2.579 6.204 +2.6712 7.055 +2.7701 8.05 +2.8585 9.015 +2.9456 10.045 +3.0235 11.038 +3.163 13.009 +3.2269 14.005 +3.3462 16.034 +3.4507 18.011 +3.5494 20.058 +3.6584 22.508 +3.7656 25.076 +3.8655 27.552 +3.9648 30.013 +4.0684 32.538 +4.1735 34.997 +4.4278 40.426 +5.0004 50.424 +5.7174 60.443 +6.558 70.46 +7.4811 80.374 +8.4707 90.355 +9.5417 100.762 +12.1855 125.915 +14.8417 151.328 +17.57 177.929 +19.9341 201.373 +22.4906 227.031 +25.0243 252.655 +27.0197 272.902 +27.0698 273.411 +29.6913 300.022 + diff --git a/secop_psi/calcurves/rhfee188.340 b/secop_psi/calcurves/rhfee188.340 new file mode 100644 index 0000000..a51dd00 --- /dev/null +++ b/secop_psi/calcurves/rhfee188.340 @@ -0,0 +1,138 @@ +Sensor Model: RF-E188 +Serial Number: RHFEE188 +Data Format: 3.00 (ohms/kelvin) +SetPoint Limit: 800.00 (kelvin) +Temperature coefficient: 2 +Number of Breakpoints: 131 + +No. ohms T (kelvin) + +1 1.43 1.00 +2 1.526166261 1.59 +3 1.575070478 1.88 +4 1.623974696 2.19 +5 1.672878913 2.5 +6 1.72178313 2.82 +7 1.770687348 3.15 +8 1.819591565 3.49 +9 1.868495783 3.85 +10 1.9174 4.22 +11 1.966304217 4.6 +12 2.015208435 5 +13 2.064112652 5.42 +14 2.11301687 5.85 +15 2.161921087 6.3 +16 2.210825304 6.78 +17 2.259729522 7.27 +18 2.308633739 7.79 +19 2.357537957 8.33 +20 2.406442174 8.89 +21 2.455346392 9.49 +22 2.504250609 10.11 +23 2.553154826 10.77 +24 2.602059044 11.45 +25 2.650963261 12.17 +26 2.773223805 14.14 +27 2.895484348 16.36 +28 3.017744892 18.88 +29 3.140005435 21.68 +30 3.262265979 24.72 +31 3.384526522 27.89 +34 3.506787066 31.04 +35 3.62904761 34.07 +36 3.751308153 36.92 +37 3.873568697 39.57 +38 3.99582924 42.04 +39 4.118089784 44.36 +40 4.240350327 46.54 +41 4.362610871 48.61 +42 4.607131958 52.46 +43 4.851653045 56.01 +44 5.096174132 59.33 +45 5.340695219 62.47 +46 5.585216306 65.48 +47 5.829737393 68.37 +48 6.07425848 71.16 +49 6.318779567 73.88 +50 6.563300655 76.54 +51 6.813415241 79.14 +52 7.06604755 81.69 +53 7.31867986 84.21 +54 7.571312169 86.69 +55 7.823944479 89.15 +56 8.076576788 91.58 +57 8.329209098 93.99 +58 8.581841407 96.39 +59 8.834473717 98.77 +60 9.339738336 103.51 +61 9.845002955 108.21 +62 10.35026757 112.89 +63 10.85553219 117.56 +64 11.36079681 122.23 +65 11.86606143 126.91 +66 12.37132605 131.59 +67 12.87659067 136.28 +68 13.38185529 140.99 +69 13.88711991 145.71 +70 14.39238453 150.45 +71 14.89764914 155.2 +72 15.40291376 159.98 +73 15.90817838 164.77 +74 16.413443 169.57 +75 16.91870762 174.39 +76 17.42397224 179.23 +77 17.92923686 184.09 +78 18.43450148 188.96 +79 18.9397661 193.84 +80 19.44503072 198.74 +81 19.95029533 203.65 +82 20.45555995 208.57 +83 20.96082457 213.5 +84 21.46608919 218.44 +85 21.97135381 223.38 +86 22.47661843 228.34 +87 22.98188305 233.3 +88 23.48714767 238.27 +89 23.99241229 243.24 +90 24.49767691 248.22 +91 25.00294152 253.21 +92 25.50820614 258.19 +93 26.01347076 263.18 +94 26.51873538 268.17 +95 27.024 273.16 +96 27.52926462 278.15 +97 28.03452924 283.13 +98 28.53979386 288.12 +99 29.04505848 293.11 +100 29.55032309 298.1 +101 29.75242894 300.09 +102 30.81348464 310.56 +103 32.07664619 323.00 +104 33.33980774 335.42 +105 34.60296928 347.81 +106 35.86613083 360.16 +107 37.12929238 372.47 +108 38.39245393 384.74 +109 39.65561547 396.97 +110 40.91877702 409.15 +111 42.18193857 421.27 +112 43.44510012 433.35 +113 44.70826166 445.38 +114 45.97142321 457.35 +115 47.23458476 469.27 +116 48.49774631 481.13 +117 49.76090785 492.93 +118 52.28723095 516.38 +119 54.81355404 539.59 +120 57.33987714 562.58 +121 59.86620023 585.33 +122 62.39252333 607.87 +123 64.91884642 630.19 +124 67.44516952 652.29 +125 69.97149261 674.17 +126 72.49781571 695.84 +127 75.0241388 717.30 +128 77.5504619 738.55 +129 80.07678499 759.59 +130 82.60310809 780.44 +131 85.00311503 800.05 diff --git a/secop_psi/calcurves/ruox.inp b/secop_psi/calcurves/ruox.inp new file mode 100644 index 0000000..f438e6e --- /dev/null +++ b/secop_psi/calcurves/ruox.inp @@ -0,0 +1,68 @@ +sens=ruox +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=10uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +330000 1 +226072 1.5 +222012 2 +210329 3 +198151 4 +187643 5 +178843 6 +171468 7 +165280 8 +160065 9 +155637 10 +151767 11 +148389 12 +145436 13 +142813 14 +140481 15 +138397 16 +136518 17 +134812 18 +133271 19 +131859 20 +130555 21 +129358 22 +128254 23 +127220 24 +126230 25 +125316 26 +124477 27 +123702 28 +122973 29 +122284 30 +121633 31 +121016 32 +120429 33 +119872 34 +119367 35 +118841 36 +118253 37 +117738 38 +117316 39 +116914 40 +113657 50 +111329 60 +109586 70 +108602 77 +108231 80 +107147 90 +106248 100 +104529 125 +103291 150 +102362 175 +101669 200 +101148 225 +100773 250 +100556 270 +100530 273 +100001 295 +100000 295.01 +50000 300 + diff --git a/secop_psi/calcurves/ruox2447.inp b/secop_psi/calcurves/ruox2447.inp new file mode 100644 index 0000000..c826703 --- /dev/null +++ b/secop_psi/calcurves/ruox2447.inp @@ -0,0 +1,91 @@ +sens=ruox2447 +unit=Ohm +type=Special +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered (up or down) ++179.366E+03 +27.6000E-03 ++177.366E+03 +27.7000E-03 ++150.766E+03 +31.0000E-03 ++148.866E+03 +31.4000E-03 ++133.966E+03 +34.3000E-03 ++118.266E+03 +37.9000E-03 ++118.666E+03 +38.4000E-03 ++101.266E+03 +40.7000E-03 ++102.266E+03 +40.8000E-03 ++85.5660E+03 +44.4000E-03 ++74.1660E+03 +46.8000E-03 ++64.9760E+03 +49.6000E-03 ++55.1560E+03 +53.4000E-03 ++43.6360E+03 +57.4000E-03 ++35.8260E+03 +63.9000E-03 ++30.2360E+03 +70.9000E-03 ++27.0360E+03 +75.9000E-03 ++23.9660E+03 +81.9000E-03 ++22.0160E+03 +86.9000E-03 ++20.1160E+03 +92.5000E-03 ++18.3060E+03 +99.0000E-03 ++16.2750E+03 +110.400E-03 ++14.7480E+03 +119.900E-03 ++13.1690E+03 +131.200E-03 ++11.4920E+03 +147.300E-03 ++10.0890E+03 +165.100E-03 ++9.25800E+03 +178.200E-03 ++8.52700E+03 +193.200E-03 ++7.80500E+03 +211.000E-03 ++7.11100E+03 +233.400E-03 ++6.42000E+03 +259.800E-03 ++5.74900E+03 +296.100E-03 ++5.24600E+03 +326.500E-03 ++4.75910E+03 +364.500E-03 ++4.43800E+03 +399.200E-03 ++4.12200E+03 +440.800E-03 ++3.80600E+03 +485.400E-03 ++3.55400E+03 +536.400E-03 ++3.30400E+03 +593.900E-03 ++3.15700E+03 +639.900E-03 ++3.03600E+03 +677.600E-03 ++2.94600E+03 +712.900E-03 ++2.86600E+03 +747.700E-03 ++2.71100E+03 +820.700E-03 ++2.55200E+03 +911.100E-03 ++2.39600E+03 +1.02900E+00 ++2.24100E+03 +1.16600E+00 ++2.19500E+03 +1.22500E+00 ++2.08800E+03 +1.35900E+00 ++1.97300E+03 +1.52700E+00 ++1.84300E+03 +1.77900E+00 ++1.78500E+03 +1.92800E+00 ++1.72730E+03 +2.10000E+00 ++1.67000E+03 +2.30500E+00 ++1.61340E+03 +2.55300E+00 ++1.55940E+03 +2.83200E+00 ++1.50419E+03 +3.17200E+00 ++1.47669E+03 +3.38100E+00 ++1.44969E+03 +3.61000E+00 ++1.42240E+03 +3.86800E+00 ++1.39380E+03 +4.16900E+00 ++1.38990E+03 +4.23889E+00 ++1.37130E+03 +4.45500E+00 ++1.36050E+03 +4.63800E+00 ++1.34050E+03 +4.91300E+00 ++1.31500E+03 +5.40700E+00 ++1.28890E+03 +5.99500E+00 ++1.26900E+03 +6.52800E+00 ++1.25369E+03 +6.99900E+00 ++1.23959E+03 +7.49500E+00 ++1.22700E+03 +7.97600E+00 ++1.21100E+03 +8.58300E+00 ++1.20250E+03 +8.99000E+00 ++1.18230E+03 +10.0400E+00 ++1.16700E+03 +10.9900E+00 ++1.15559E+03 +11.9900E+00 ++1.14540E+03 +12.9900E+00 ++1.13619E+03 +13.9900E+00 ++1.12850E+03 +14.9800E+00 ++1.12190E+03 +15.9200E+00 ++1.11619E+03 +16.8700E+00 ++1.11450E+03 +17.1500E+00 ++1.11059E+03 +17.8400E+00 ++1.10569E+03 +18.8500E+00 ++1.10159E+03 +19.7700E+00 ++1.09800E+03 +20.6900E+00 diff --git a/secop_psi/calcurves/ruox408.inp b/secop_psi/calcurves/ruox408.inp new file mode 100644 index 0000000..058e947 --- /dev/null +++ b/secop_psi/calcurves/ruox408.inp @@ -0,0 +1,44 @@ +sens=ruox408 +unit=Ohm ! sensor format (mV V Ohm) log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special Si GaAlAs Pt250 Pt500 Pt2500 RhFe C Cern$ +form=loglog +curv ! curve (sensor temp/K) follows must be ordered but can be in$ +1000.0 295 +1270.0 38.00 +1349.0 8.0 +1488.5 3.20 +1517.2 3.00 +1550.3 2.80 +1587.5 2.60 +1630.2 2.40 +1679.8 2.20 +1739.8 2.00 +1774.8 1.90 +1812.4 1.80 +1854.4 1.70 +1901.5 1.60 +1953.7 1.50 +2011.5 1.40 +2079.3 1.30 +2160.4 1.20 +2256.6 1.10 +2368.1 1.00 +2508.7 0.90 +2679.9 0.80 +2902.2 0.70 +3193.5 0.60 +3602.5 0.50 +3875.1 0.45 +4222.8 0.40 +4629.0 0.35 +5228.7 0.30 +6081.5 0.25 +7398.5 0.20 +9749.7 0.15 +15315. 0.10 +17554 0.09 +20523 0.08 +23723 0.07 +29568 0.06 +37886.0 0.05 diff --git a/secop_psi/calcurves/ruox5a.inp b/secop_psi/calcurves/ruox5a.inp new file mode 100644 index 0000000..4ce094f --- /dev/null +++ b/secop_psi/calcurves/ruox5a.inp @@ -0,0 +1,91 @@ +sens=ruox5a +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cern$ +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be in$ +85156.73151 0.019952623 +79677.53946 0.022387211 +74574.48495 0.025118864 +69818.65275 0.028183829 +65389.30062 0.031622777 +61261.33071 0.035481339 +57416.73916 0.039810717 +53833.74151 0.044668359 +50496.71077 0.050118723 +47386.73845 0.056234133 +44490.26063 0.063095734 +41790.8651 0.070794578 +39276.77865 0.079432823 +36933.75581 0.089125094 +34751.57764 0.1 +32717.87935 0.112201845 +30823.79111 0.125892541 +29058.58052 0.141253754 +27414.54875 0.158489319 +25882.38027 0.177827941 +24455.39264 0.199526231 +23125.50018 0.223872114 +21886.90266 0.251188643 +20732.58185 0.281838293 +19657.50328 0.316227766 +18643.0038 0.354813389 +17676.51866 0.398107171 +16760.61411 0.446683592 +15896.32379 0.501187234 +15083.70194 0.562341325 +14322.87798 0.630957344 +13612.31686 0.707945784 +12950.9679 0.794328235 +12336.68714 0.891250938 +11767.83871 0.999998757 +11241.80217 1.122018454 +10756.38722 1.258925412 +10308.96668 1.412537545 +9897.111586 1.584893192 +9518.559444 1.77827941 +9170.614031 1.995262315 +8851.234824 2.238721139 +8558.115159 2.511886432 +8289.122132 2.818382931 +8042.285727 3.16227766 +7815.723465 3.548133892 +7607.714249 3.981071706 +7416.629096 4.466835922 +7240.93882 5.011872336 +7079.217874 5.623413252 +6930.278618 6.309573445 +6792.874953 7.079457844 +6665.980831 7.943282347 +6548.531343 8.912509381 +6439.726505 10 +6338.659117 11.22018454 +6244.600583 12.58925412 +6156.937771 14.12537545 +6075.003801 15.84893192 +5998.274551 17.7827941 +5926.275122 19.95262315 +5858.558713 22.38721139 +5794.749018 25.11886432 +5734.530781 28.18382931 +5677.563496 31.6227766 +5623.648669 35.48133892 +5572.558676 39.81071706 +5524.107048 44.66835922 +5478.17845 50.11872336 +5434.640308 56.23413252 +5393.432289 63.09573445 +5354.486744 70.79457844 +5317.767883 79.43282347 +5283.256575 89.12509381 +5251.46063 100 +5223.202986 112.2018454 +5198.125329 125.8925412 +5175.865236 141.2537545 +5156.102551 158.4893192 +5138.563869 177.827941 +5122.992888 199.5262315 +5109.174195 223.8721139 +5096.905851 251.1886432 +5086.018131 281.8382931 +5076.351927 316.227766 diff --git a/secop_psi/calcurves/ruox5b.inp b/secop_psi/calcurves/ruox5b.inp new file mode 100644 index 0000000..fd327c7 --- /dev/null +++ b/secop_psi/calcurves/ruox5b.inp @@ -0,0 +1,91 @@ +sens=ruox5b +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cern$ +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be in$ +76622.5864 0.019952623 +71892.89626 0.022387211 +67475.53733 0.025118864 +63348.54086 0.028183829 +59495.41949 0.031622777 +55896.74397 0.035481339 +52535.71164 0.039810717 +49396.62944 0.044668359 +46464.84058 0.050118723 +43725.76449 0.056234133 +41168.45854 0.063095734 +38780.02759 0.070794578 +36549.31978 0.079432823 +34465.91963 0.089125094 +32519.46585 0.1 +30702.18232 0.112201845 +29004.90547 0.125892541 +27419.71048 0.141253754 +25939.1959 0.158489319 +24555.99871 0.177827941 +23264.59304 0.199526231 +22058.46701 0.223872114 +20931.98908 0.251188643 +19879.89957 0.281838293 +18897.28615 0.316227766 +17966.11891 0.354813389 +17073.68942 0.398107171 +16221.99317 0.446683592 +15413.09906 0.501187234 +14648.28225 0.562341325 +13928.53078 0.630957344 +13253.91515 0.707945784 +12624.12486 0.794328235 +12038.33607 0.891250938 +11495.16219 0.999998757 +10992.94097 1.122018454 +10529.42536 1.258925412 +10102.58209 1.412537545 +9710.098615 1.584893192 +9349.706965 1.77827941 +9018.833373 1.995262315 +8715.352291 2.238721139 +8436.924564 2.511886432 +8181.412624 2.818382931 +7946.795514 3.16227766 +7731.303744 3.548133892 +7533.086381 3.981071706 +7350.606864 4.466835922 +7182.378126 5.011872336 +7027.029177 5.623413252 +6883.432239 6.309573445 +6750.410863 7.079457844 +6627.009167 7.943282347 +6512.341954 8.912509381 +6405.626706 10 +6306.170888 11.22018454 +6213.305035 12.58925412 +6126.496898 14.12537545 +6045.201441 15.84893192 +5968.991573 17.7827941 +5897.449459 19.95262315 +5830.175667 22.38721139 +5766.849255 25.11886432 +5707.180049 28.18382931 +5650.863624 31.6227766 +5597.654233 35.48133892 +5547.318339 39.81071706 +5499.643222 44.66835922 +5454.454073 50.11872336 +5411.594914 56.23413252 +5370.911245 63.09573445 +5332.30739 70.79457844 +5295.712716 79.43282347 +5261.071822 89.12509381 +5229.097315 100 +5201.006453 112.2018454 +5176.355903 125.8925412 +5154.728388 141.2537545 +5135.753176 158.4893192 +5119.107744 177.827941 +5104.500893 199.5262315 +5091.685361 223.8721139 +5080.443323 251.1886432 +5070.578106 281.8382931 +5061.922716 316.227766 diff --git a/secop_psi/calcurves/ruox5k.inp b/secop_psi/calcurves/ruox5k.inp new file mode 100644 index 0000000..c061b9f --- /dev/null +++ b/secop_psi/calcurves/ruox5k.inp @@ -0,0 +1,76 @@ +sens=ruox5k +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cern$ +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be in$ +5000 300 +5036 273 +5083 240 +5127 210 +5168 185 +5206 162 +5241 142 +5273 125 +5302 110 +5331.1 96.08 +5363.1 84.17 +5398.1 73.67 +5436.5 64.43 +5478.6 56.30 +5524.8 49.15 +5575.4 42.88 +5631.0 37.37 +5691.8 32.55 +5758.6 28.32 +5831.8 24.63 +5912.0 21.40 +6000.0 18.58 +6096.5 16.13 +6202.3 13.99 +6318.3 12.14 +6445.4 10.52 +6584.9 9.119 +6737.8 7.902 +6905.5 6.847 +7089.3 5.933 +7290.9 5.141 +7511.9 4.456 +7754.2 3.862 +8020.0 3.349 +8311.3 2.904 +8630.8 2.519 +8981.1 2.186 +9365.2 1.898 +9786.3 1.648 +10248.1 1.431 +10754.4 1.244 +11309.6 1.081 +11918.3 0.9393 +12585.8 0.8164 +13317.6 0.7094 +14120.1 0.6163 +15000.0 0.5353 +15964.8 0.4646 +17022.6 0.4029 +18182.6 0.3491 +19454.4 0.3020 +20848.9 0.2609 +22378.0 0.2249 +24054.6 0.1934 +25893.0 0.1659 +27908.7 0.1418 +30118.9 0.1208 +32542.3 0.1025 +35199.5 0.08652 +38113.1 0.07266 +41307.8 0.06065 +44810.7 0.05029 +48651.6 0.04140 +52863.0 0.03381 +57480.7 0.02736 +62544.0 0.02193 +68095.7 0.01739 +74183.1 0.01362 +80857.8 0.01054 +88176.4 0.00808 \ No newline at end of file diff --git a/secop_psi/calcurves/ruoxben1k.inp b/secop_psi/calcurves/ruoxben1k.inp new file mode 100644 index 0000000..5d63b9c --- /dev/null +++ b/secop_psi/calcurves/ruoxben1k.inp @@ -0,0 +1,72 @@ +sens=ruoxben1k +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cern$ +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be in$ +1009 310 +1010 273 +1020 125 +1040 57 +1060 36 +1080 26 +1101 20 +1105 19 +1107 18.5 +1110 18 +1112 17.5 +1115 17 +1118 16.5 +1121 16 +1124 15.5 +1127 15 +1131 14.5 +1135 14 +1139 13.5 +1143 13 +1148 12.5 +1153 12 +1159 11.5 +1165 11 +1171 10.5 +1178 10 +1186 9.5 +1195 9 +1205 8.5 +1216 8 +1229 7.5 +1243 7 +1259 6.5 +1277 6 +1299 5.5 +1325 5 +1356 4.5 +1395 4 +1444 3.5 +1508 3 +1595 2.5 +1723 2 +1928 1.5 +2327 1 +2390 0.95 +2459 0.9 +2537 0.85 +2624 0.8 +2722 0.75 +2843 0.7 +2963 0.65 +3114 0.6 +3291 0.55 +3503 0.5 +3762 0.45 +4085 0.4 +4500 0.35 +5053 0.3 +5827 0.25 +6996 0.2 +8974 0.15 +13115 0.1 +19500 0.07000000 +29073 0.05 +46000 0.03500000 +100000 0.02000000 diff --git a/secop_psi/calcurves/ruoxm0.inp b/secop_psi/calcurves/ruoxm0.inp new file mode 100644 index 0000000..253ff08 --- /dev/null +++ b/secop_psi/calcurves/ruoxm0.inp @@ -0,0 +1,62 @@ +sens=ruoxm0 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cern$ +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be in$ +100000 0.0101 +89125.09381 0.0115 +79432.82347 0.0131 +70794.57844 0.0150 +63095.73445 0.0173 +56234.13252 0.0198 +50118.72336 0.0228 +44668.35922 0.0263 +39810.71706 0.0303 +35481.33892 0.0350 +31622.7766 0.0405 +28183.82931 0.0470 +25118.86432 0.0546 +22387.21139 0.0636 +19952.62315 0.0742 +17782.7941 0.0868 +15848.93192 0.1018 +14125.37545 0.1198 +12589.25412 0.1416 +11220.18454 0.1679 +10000 0.2001 +8912.509381 0.2399 +7943.282347 0.2894 +7079.457844 0.3520 +6309.573445 0.4323 +5623.413252 0.5374 +5011.872336 0.6784 +4786.300923 0.7487 +4570.881896 0.8292 +4365.158322 0.9221 +4168.693835 1.0303 +3981.071706 1.1573 +3801.893963 1.3080 +3630.780548 1.4891 +3467.368505 1.7101 +3311.311215 1.9844 +3162.27766 2.3326 +3019.95172 2.7867 +2884.031503 3.4003 +2818.382931 3.7943 +2754.228703 4.2696 +2691.534804 4.8532 +2630.267992 5.5858 +2570.395783 6.5305 +2511.886432 7.7923 +2483.133105 8.5954 +2454.708916 9.5588 +2426.610095 10.7351 +2398.832919 12.2029 +2371.373706 14.0859 +2344.228815 16.5896 +2317.39465 20.0847 +2290.867653 25.3200 +2264.644308 34.0890 +2238.721139 52.1915 +2000 250 diff --git a/secop_psi/calcurves/ruoxm7.inp b/secop_psi/calcurves/ruoxm7.inp new file mode 100644 index 0000000..2a05a81 --- /dev/null +++ b/secop_psi/calcurves/ruoxm7.inp @@ -0,0 +1,62 @@ +sens=ruoxm7 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatical$ +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cern$ +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be in$ +100000 0.0101 +89125.09381 0.0115 +79432.82347 0.0131 +70794.57844 0.0150 +63095.73445 0.0173 +56234.13252 0.0198 +50118.72336 0.0228 +44668.35922 0.0263 +39810.71706 0.0303 +35481.33892 0.0350 +31622.7766 0.0405 +28183.82931 0.0470 +25118.86432 0.0546 +22387.21139 0.0636 +19952.62315 0.0742 +17782.7941 0.0868 +15848.93192 0.1018 +14125.37545 0.1198 +12589.25412 0.1416 +11220.18454 0.1679 +10000 0.2001 +8912.509381 0.2399 +7943.282347 0.2894 +7079.457844 0.3520 +6309.573445 0.4323 +5623.413252 0.5374 +5011.872336 0.6784 +4786.300923 0.7487 +4570.881896 0.8292 +4365.158322 0.9221 +4168.693835 1.0303 +3981.071706 1.1573 +3801.893963 1.3080 +3630.780548 1.4891 +3467.368505 1.7101 +3311.311215 1.9844 +3162.27766 2.3326 +3019.95172 2.7867 +2884.031503 3.4003 +2818.382931 3.7943 +2754.228703 4.2696 +2691.534804 4.8532 +2630.267992 5.5858 +2570.395783 6.5305 +2511.886432 7.7923 +2483.133105 8.5954 +2454.708916 9.5588 +2426.610095 10.7351 +2398.832919 12.2029 +2371.373706 14.0859 +2344.228815 16.5896 +2317.39465 20.0847 +2290.867653 25.3200 +2264.644308 34.0890 +2238.721139 52.1915 +2000 250 diff --git a/secop_psi/calcurves/rx00000.340 b/secop_psi/calcurves/rx00000.340 new file mode 100644 index 0000000..cdc2835 --- /dev/null +++ b/secop_psi/calcurves/rx00000.340 @@ -0,0 +1,31 @@ +Sensor Model: RX-2600-typeC-Entropy +Serial Number: RX00000 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 10 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 20 + +No. Units Temperature (K) + + +1 3.6125952684 10.2243 +2 3.6297713605 7.976 +3 3.6583968409 6.11607 +4 3.7041985784 4.64943 +5 3.7729008688 3.41508 +6 3.8587783385 2.24404 +7 3.9274807194 1.57923 +8 4.0362615057 1.10164 +9 4.1564885761 0.76844 +10 4.2938926671 0.522376 +11 4.459922968 0.331547 +12 4.5916032435 0.254084 +13 4.7347326407 0.188153 +14 4.9122135513 0.145394 +15 5.0954204371 0.112349 +16 5.3129766366 0.0853239 +17 5.5248087979 0.0688032 +18 5.8282440893 0.0496127 +19 6.1202283322 0.0389745 +20 6.5782448428 0.0257755 + diff --git a/secop_psi/calcurves/rx03310.340 b/secop_psi/calcurves/rx03310.340 new file mode 100644 index 0000000..7bc8f6d --- /dev/null +++ b/secop_psi/calcurves/rx03310.340 @@ -0,0 +1,208 @@ +Sensor Model: RX-1000-BF0.007 +Serial Number: RX03310 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 100.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 198 + +No. Units Temperature (K) + + +1 3.03003 102 +2 3.03075 99 +3 3.03141 96.5 +4 3.03212 94 +5 3.03288 91.5 +6 3.0337 89 +7 3.03458 86.5 +8 3.03552 84 +9 3.03653 81.5 +10 3.03761 79 +11 3.03876 76.5 +12 3.03998 74 +13 3.0413 71.5 +14 3.0427 69 +15 3.04388 67 +16 3.04513 65 +17 3.04645 63 +18 3.04783 61 +19 3.04929 59 +20 3.05083 57 +21 3.05245 55 +22 3.05416 53 +23 3.05596 51 +24 3.05787 49 +25 3.05967 47.2 +26 3.06157 45.4 +27 3.06357 43.6 +28 3.06567 41.8 +29 3.06802 39.9 +30 3.07024 38.2 +31 3.07257 36.5 +32 3.07489 34.9 +33 3.07732 33.3 +34 3.07989 31.7 +35 3.08244 30.2 +36 3.08512 28.7 +37 3.08795 27.2 +38 3.09074 25.8 +39 3.09348 24.5 +40 3.09636 23.2 +41 3.09941 21.9 +42 3.10239 20.7 +43 3.10474 19.8 +44 3.10664 19.1 +45 3.1086 18.4 +46 3.11064 17.7 +47 3.1126 17.05 +48 3.11464 16.4 +49 3.11675 15.75 +50 3.11878 15.15 +51 3.12088 14.55 +52 3.12307 13.95 +53 3.12515 13.4 +54 3.12731 12.85 +55 3.12957 12.3 +56 3.13171 11.8 +57 3.13393 11.3 +58 3.13625 10.8 +59 3.13867 10.3 +60 3.14095 9.85 +61 3.14334 9.4 +62 3.14584 8.95 +63 3.14817 8.55 +64 3.15061 8.15 +65 3.15317 7.75 +66 3.15587 7.35 +67 3.15872 6.95 +68 3.16137 6.6 +69 3.16416 6.25 +70 3.1673 5.88 +71 3.17038 5.54 +72 3.17347 5.22 +73 3.17657 4.92 +74 3.17989 4.62 +75 3.18346 4.32 +76 3.18707 4.04 +77 3.18997 3.83 +78 3.19261 3.65 +79 3.19542 3.47 +80 3.19841 3.29 +81 3.20143 3.12 +82 3.20466 2.95 +83 3.20792 2.79 +84 3.21143 2.63 +85 3.21498 2.48 +86 3.21882 2.33 +87 3.22271 2.19 +88 3.22695 2.05 +89 3.23124 1.92 +90 3.23595 1.79 +91 3.24072 1.67 +92 3.24553 1.56 +93 3.25083 1.45 +94 3.25672 1.34 +95 3.26268 1.24 +96 3.26659 1.18 +97 3.26971 1.135 +98 3.27301 1.09 +99 3.2765 1.045 +100 3.28021 1 +101 3.28371 0.96 +102 3.28742 0.92 +103 3.29136 0.88 +104 3.29557 0.84 +105 3.30006 0.8 +106 3.30426 0.765 +107 3.30874 0.73 +108 3.31352 0.695 +109 3.31866 0.66 +110 3.32419 0.625 +111 3.32928 0.595 +112 3.33475 0.565 +113 3.34063 0.535 +114 3.34699 0.505 +115 3.35223 0.482 +116 3.35707 0.462 +117 3.36221 0.442 +118 3.36768 0.422 +119 3.37291 0.404 +120 3.38041 0.38 +121 3.38716 0.36 +122 3.39444 0.34 +123 3.40232 0.32 +124 3.41089 0.3 +125 3.42026 0.28 +126 3.43056 0.26 +127 3.44196 0.24 +128 3.45467 0.22 +129 3.46899 0.2 +130 3.47286 0.195 +131 3.47686 0.19 +132 3.48099 0.185 +133 3.48528 0.18 +134 3.48971 0.175 +135 3.49431 0.17 +136 3.49909 0.165 +137 3.50405 0.16 +138 3.50921 0.155 +139 3.51458 0.15 +140 3.52018 0.145 +141 3.52603 0.14 +142 3.53215 0.135 +143 3.53855 0.13 +144 3.54526 0.125 +145 3.55231 0.12 +146 3.55973 0.115 +147 3.56755 0.11 +148 3.57581 0.105 +149 3.58456 0.1 +150 3.59385 0.095 +151 3.60374 0.09 +152 3.6143 0.085 +153 3.62561 0.08 +154 3.63778 0.075 +155 3.65092 0.07 +156 3.66517 0.065 +157 3.68072 0.06 +158 3.69778 0.055 +159 3.71665 0.05 +160 3.72477 0.048 +161 3.72898 0.047 +162 3.73767 0.045 +163 3.74218 0.044 +164 3.75152 0.042 +165 3.76134 0.04 +166 3.76645 0.039 +167 3.77169 0.038 +168 3.77708 0.037 +169 3.78262 0.036 +170 3.78831 0.035 +171 3.79418 0.034 +172 3.80022 0.033 +173 3.80644 0.032 +174 3.81287 0.031 +175 3.8195 0.03 +176 3.82635 0.029 +177 3.83343 0.028 +178 3.84077 0.027 +179 3.84836 0.026 +180 3.85624 0.025 +181 3.86441 0.024 +182 3.87291 0.023 +183 3.88175 0.022 +184 3.89096 0.021 +185 3.90057 0.02 +186 3.91061 0.019 +187 3.9211 0.018 +188 3.9321 0.017 +189 3.94364 0.016 +190 3.95577 0.015 +191 3.96854 0.014 +192 3.98201 0.013 +193 3.99624 0.012 +194 4.01128 0.011 +195 4.02721 0.01 +196 4.04406 0.009 +197 4.06187 0.008 +198 4.08059 0.007 diff --git a/secop_psi/calcurves/rx03312.340 b/secop_psi/calcurves/rx03312.340 new file mode 100644 index 0000000..45fc08f --- /dev/null +++ b/secop_psi/calcurves/rx03312.340 @@ -0,0 +1,209 @@ +Sensor Model: RX-1000-BF0.007 +Serial Number: rx03312 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 100.0 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 198 + +No. Units Temperature (K) + + +1 3.0335 102 +2 3.03401 99 +3 3.03449 96.5 +4 3.03503 94 +5 3.03563 91.5 +6 3.03629 89 +7 3.03702 86.5 +8 3.03782 84 +9 3.03869 81.5 +10 3.03964 79 +11 3.04067 76.5 +12 3.04178 74 +13 3.04298 71.5 +14 3.04428 69 +15 3.04539 67 +16 3.04657 65 +17 3.04782 63 +18 3.04914 61 +19 3.05054 59 +20 3.05203 57 +21 3.0536 55 +22 3.05527 53 +23 3.05703 51 +24 3.05891 49 +25 3.06068 47.2 +26 3.06256 45.4 +27 3.06454 43.6 +28 3.06662 41.8 +29 3.06895 39.9 +30 3.07115 38.2 +31 3.07347 36.5 +32 3.07578 34.9 +33 3.0782 33.3 +34 3.08076 31.7 +35 3.08329 30.2 +36 3.08595 28.7 +37 3.08876 27.2 +38 3.09153 25.8 +39 3.09423 24.5 +40 3.09708 23.2 +41 3.10009 21.9 +42 3.10301 20.7 +43 3.10531 19.8 +44 3.10717 19.1 +45 3.10909 18.4 +46 3.11108 17.7 +47 3.11298 17.05 +48 3.11496 16.4 +49 3.11701 15.75 +50 3.11896 15.15 +51 3.12099 14.55 +52 3.12309 13.95 +53 3.12509 13.4 +54 3.12716 12.85 +55 3.12931 12.3 +56 3.13134 11.8 +57 3.13345 11.3 +58 3.13564 10.8 +59 3.13793 10.3 +60 3.14007 9.85 +61 3.14231 9.4 +62 3.14465 8.95 +63 3.14682 8.55 +64 3.14909 8.15 +65 3.15146 7.75 +66 3.15396 7.35 +67 3.15659 6.95 +68 3.15902 6.6 +69 3.16158 6.25 +70 3.16445 5.88 +71 3.16726 5.54 +72 3.17008 5.22 +73 3.17289 4.92 +74 3.1759 4.62 +75 3.17913 4.32 +76 3.18238 4.04 +77 3.185 3.83 +78 3.18738 3.65 +79 3.18991 3.47 +80 3.1926 3.29 +81 3.19531 3.12 +82 3.19821 2.95 +83 3.20114 2.79 +84 3.20429 2.63 +85 3.20748 2.48 +86 3.21093 2.33 +87 3.21442 2.19 +88 3.21822 2.05 +89 3.22207 1.92 +90 3.22629 1.79 +91 3.23058 1.67 +92 3.2349 1.56 +93 3.23966 1.45 +94 3.24494 1.34 +95 3.2503 1.24 +96 3.25381 1.18 +97 3.25662 1.135 +98 3.25958 1.09 +99 3.26272 1.045 +100 3.26605 1 +101 3.26919 0.96 +102 3.27253 0.92 +103 3.27607 0.88 +104 3.27984 0.84 +105 3.28387 0.8 +106 3.28764 0.765 +107 3.29166 0.73 +108 3.29595 0.695 +109 3.30055 0.66 +110 3.3055 0.625 +111 3.31006 0.595 +112 3.31495 0.565 +113 3.3202 0.535 +114 3.32588 0.505 +115 3.33055 0.482 +116 3.33487 0.462 +117 3.33945 0.442 +118 3.34431 0.422 +119 3.34896 0.404 +120 3.35561 0.38 +121 3.3616 0.36 +122 3.36804 0.34 +123 3.37501 0.32 +124 3.38257 0.3 +125 3.39082 0.28 +126 3.39988 0.26 +127 3.40987 0.24 +128 3.421 0.22 +129 3.43348 0.2 +130 3.43685 0.195 +131 3.44032 0.19 +132 3.44392 0.185 +133 3.44763 0.18 +134 3.45148 0.175 +135 3.45546 0.17 +136 3.4596 0.165 +137 3.46388 0.16 +138 3.46834 0.155 +139 3.47297 0.15 +140 3.4778 0.145 +141 3.48283 0.14 +142 3.48809 0.135 +143 3.49358 0.13 +144 3.49933 0.125 +145 3.50536 0.12 +146 3.5117 0.115 +147 3.51837 0.11 +148 3.5254 0.105 +149 3.53284 0.1 +150 3.54072 0.095 +151 3.54909 0.09 +152 3.55801 0.085 +153 3.56755 0.08 +154 3.57778 0.075 +155 3.5888 0.07 +156 3.60074 0.065 +157 3.61372 0.06 +158 3.62793 0.055 +159 3.64359 0.05 +160 3.65033 0.048 +161 3.65381 0.047 +162 3.661 0.045 +163 3.66473 0.044 +164 3.67245 0.042 +165 3.68055 0.04 +166 3.68476 0.039 +167 3.68908 0.038 +168 3.69352 0.037 +169 3.69808 0.036 +170 3.70277 0.035 +171 3.7076 0.034 +172 3.71257 0.033 +173 3.71768 0.032 +174 3.72296 0.031 +175 3.72841 0.03 +176 3.73404 0.029 +177 3.73986 0.028 +178 3.74589 0.027 +179 3.75213 0.026 +180 3.75861 0.025 +181 3.76533 0.024 +182 3.77232 0.023 +183 3.7796 0.022 +184 3.78719 0.021 +185 3.79512 0.02 +186 3.80342 0.019 +187 3.81212 0.018 +188 3.82125 0.017 +189 3.83087 0.016 +190 3.84103 0.015 +191 3.85178 0.014 +192 3.86319 0.013 +193 3.87536 0.012 +194 3.88838 0.011 +195 3.90237 0.01 +196 3.91748 0.009 +197 3.93392 0.008 +198 3.95193 0.007 + diff --git a/secop_psi/calcurves/rx078.inp b/secop_psi/calcurves/rx078.inp new file mode 100644 index 0000000..d1fc033 --- /dev/null +++ b/secop_psi/calcurves/rx078.inp @@ -0,0 +1,180 @@ +#sens=rx078 +#unit=Ohm +#type=Cernox ! Cernox and RuOx is the same type +# calibrated range 0.05 100 (other points extrapolated) +# created with /afs/psi.ch/project/SampleEnvironment/Neutronscattering/Dil_Thermometer_WL/Thermometer3_2014/combined_calibration/makecurve.m +#curv ! curve follows R[Ohm] T[K] +1147477. 0.015 +1075574. 0.016 +1012149. 0.017 +955788.6 0.018 +905374.8 0.019 +860014.5 0.02 +811244.2 0.0212 +767711.7 0.0224 +728616.8 0.0236 +687760.9 0.025 +646347.0 0.0266 +609643.7 0.0282 +573043.2 0.03 +537216.6 0.032 +505614.9 0.034 +477532.9 0.036 +452413.9 0.038 +429812.8 0.04 +404559.8 0.0425 +382119.4 0.045 +362046.8 0.0475 +343986.2 0.05 +323539.9 0.053 +303629.0 0.056 +278484.4 0.06 +255308.9 0.064 +234240.5 0.068 +215252.8 0.072 +198230.7 0.076 +183016.9 0.08 +166280.8 0.085 +151769.9 0.09 +139177.0 0.095 +128214.0 0.1 +116845.5 0.106 +107087.9 0.112 +98656.42 0.118 +90197.04 0.125 +82006.17 0.133 +75083.94 0.141 +68508.69 0.15 +62400.11 0.16 +57281.43 0.17 +52937.97 0.18 +49211.16 0.19 +45981.93 0.2 +42637.19 0.212 +39760.32 0.224 +37262.56 0.236 +34737.72 0.25 +32266.06 0.266 +30148.09 0.282 +28102.80 0.3 +26164.23 0.32 +24505.49 0.34 +23071.09 0.36 +21819.10 0.38 +20717.28 0.4 +19513.35 0.425 +18467.14 0.45 +17549.79 0.475 +16739.02 0.5 +15882.41 0.53 +15130.50 0.56 +14259.51 0.6 +13509.32 0.64 +12855.75 0.68 +12280.67 0.72 +11770.25 0.76 +11313.75 0.8 +10806.20 0.85 +10356.96 0.9 +9956.509 0.95 +9597.343 1 +9212.424 1.06 +8869.966 1.12 +8563.338 1.18 +8243.851 1.25 +7921.010 1.33 +7635.754 1.41 +7352.116 1.5 +7075.242 1.6 +6831.527 1.7 +6615.231 1.8 +6421.874 1.9 +6247.907 2 +6060.760 2.12 +5893.447 2.24 +5742.799 2.36 +5584.772 2.5 +5423.740 2.66 +5280.100 2.82 +5135.939 3 +4994.020 3.2 +4868.263 3.4 +4756.132 3.6 +4655.584 3.8 +4564.887 4 +4463.178 4.25 +4372.353 4.5 +4290.652 4.75 +4216.687 5 +4136.607 5.3 +4064.635 5.6 +3979.308 6 +3904.158 6.4 +3837.480 6.8 +3777.910 7.2 +3724.330 7.6 +3675.841 8 +3621.303 8.5 +3572.472 9 +3528.459 9.5 +3488.562 10 +3445.326 10.6 +3406.410 11.2 +3371.178 11.8 +3334.050 12.5 +3296.069 13.3 +3262.103 14.1 +3227.931 15 +3194.177 16 +3164.139 17 +3137.219 18 +3112.936 19 +3090.903 20 +3066.998 21.2 +3045.449 22.4 +3025.914 23.6 +3005.312 25 +2984.235 26.6 +2965.393 28.2 +2946.455 30 +2927.772 32 +2911.156 34 +2896.267 36 +2882.837 38 +2870.650 40 +2856.907 42.5 +2844.595 45 +2833.520 47.5 +2823.522 50 +2812.756 53 +2803.150 56 +2791.868 60 +2782.050 64 +2773.451 68 +2765.875 72 +2759.166 76 +2753.197 80 +2746.622 85 +2740.880 90 +2735.840 95 +2731.399 100 +2726.625 106 +2722.273 112 +2718.286 118 +2714.035 125 +2709.629 133 +2705.636 141 +2701.564 150 +2697.485 160 +2693.803 170 +2690.458 180 +2687.404 190 +2684.602 200 +2681.528 212 +2678.726 224 +2676.160 236 +2673.422 250 +2670.585 266 +2668.015 282 +2665.393 300 +2662.767 320 diff --git a/secop_psi/calcurves/rx102a.340 b/secop_psi/calcurves/rx102a.340 new file mode 100644 index 0000000..837b0d5 --- /dev/null +++ b/secop_psi/calcurves/rx102a.340 @@ -0,0 +1,76 @@ +Sensor Model: RX-102A-Lakeshore_hifi +Serial Number: RX102A +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 10 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 67 + +No. Units Temperature (K) + +1 3.0068937079 100 +2 3.0700378666 10 +3 3.116607744 5 +4 3.2255677134 2 +5 3.240100881 1.7969891485 +6 3.2602632162 1.6526535399 +7 3.2803958603 1.519911083 +8 3.3005541355 1.3978306066 +9 3.3207933646 1.2855557319 +10 3.34116887 1.1822988652 +11 3.3617359743 1.0873356727 +12 3.38255 1 +13 3.4036662697 0.9196791985 +14 3.4251401059 0.8458098282 +15 3.4470268311 0.7778737049 +16 3.469381768 0.7153942654 +17 3.4922602389 0.6579332247 +18 3.5157175666 0.6050875007 +19 3.5398090734 0.5564863877 +20 3.5645900821 0.511788955 +21 3.590115915 0.470681656 +22 3.6164418948 0.4328761281 +23 3.643623344 0.3981071706 +24 3.6717155851 0.3661308835 +25 3.7007739407 0.3367229575 +26 3.7308537333 0.3096770997 +27 3.7620102855 0.2848035868 +28 3.7942989198 0.2619279345 +29 3.8277749587 0.2408896729 +30 3.8624937248 0.2215412213 +31 3.8985105406 0.2037468528 +32 3.9358807288 0.1873817423 +33 3.9746596117 0.1723310906 +34 4.014902512 0.1584893192 +35 4.0566647522 0.1457593301 +36 4.1000016548 0.1340518239 +37 4.1449685425 0.1232846739 +38 4.1916207377 0.1133823501 +39 4.2400135628 0.1042753889 +40 4.2902023407 0.0958999061 +41 4.3422423936 0.0881971488 +42 4.3961890443 0.0811130831 +43 4.4520976153 0.0745980152 +44 4.5100234289 0.0686062429 +45 4.570021808 0.0630957344 +46 4.632148075 0.0580278345 +47 4.6964575522 0.0533669923 +48 4.7630055625 0.0490805127 +49 4.8318474283 0.0451383266 +50 4.903038472 0.04151278 +51 4.9766340165 0.0381784403 +52 5.0526893838 0.0351119173 +53 5.1312598971 0.0322917 +54 5.2124008785 0.0296980048 +55 5.2961676505 0.0273126372 +56 5.382615536 0.0251188643 +57 5.4717998573 0.023101297 +58 5.5637759368 0.0212457823 +59 5.6585990974 0.019539304 +60 5.7563246616 0.0179698915 +61 5.8570079514 0.0165265354 +62 5.9607042901 0.0151991108 +63 6.0674689995 0.0139783061 +64 6.1773574029 0.0128555573 +65 6.2904248225 0.0118229887 +66 6.4067265805 0.0108733567 +67 6.526318 0.01 diff --git a/secop_psi/calcurves/rx102aa.inp b/secop_psi/calcurves/rx102aa.inp new file mode 100644 index 0000000..015c957 --- /dev/null +++ b/secop_psi/calcurves/rx102aa.inp @@ -0,0 +1,147 @@ +#sens=rx102aa +#unit=Ohm +#type=Cernox ! LS Model:RX 102A-AA SN: U01731 +#curv ! curve follows R[Ohm] T[K] + 63765.0933339 0.050 + 52106.7061211 0.055 + 43515.7796269 0.060 + 37123.8961461 0.065 + 32601.2827893 0.070 + 29253.3099785 0.075 + 26563.6182357 0.080 + 24330.6768135 0.085 + 22443.6802733 0.090 + 20820.3413591 0.095 + 19400.4680946 0.100 + 17039.1291080 0.110 + 15165.4632433 0.120 + 13658.2172879 0.130 + 12431.6125712 0.140 + 11421.6091563 0.150 + 10579.5914102 0.160 + 9868.59570001 0.170 + 9261.10701331 0.180 + 8735.85845713 0.190 + 8277.05576410 0.200 + 7872.35206776 0.210 + 7512.68134086 0.220 + 7190.65168760 0.230 + 6900.15690502 0.240 + 6636.72171044 0.250 + 6396.62708610 0.260 + 6176.70026504 0.270 + 5974.48353777 0.280 + 5787.87193316 0.290 + 5615.03028796 0.300 + 5304.97595891 0.320 + 5034.68208252 0.340 + 4797.01645865 0.360 + 4586.34529128 0.380 + 4398.49069450 0.400 + 4230.01788395 0.420 + 4078.03401863 0.440 + 3940.32598408 0.460 + 3815.02503641 0.480 + 3700.51845926 0.500 + 3453.50101569 0.550 + 3250.52617257 0.600 + 3080.72512277 0.650 + 2936.56535035 0.700 + 2812.42460463 0.750 + 2704.59844206 0.800 + 2609.09645474 0.850 + 2523.00660493 0.900 + 2446.93929168 0.950 + 2380.76650498 1.000 + 2320.08458987 1.050 + 2263.64531088 1.100 + 2211.30001803 1.150 + 2162.93254821 1.200 + 2077.47996072 1.300 + 2005.17667395 1.400 + 1943.25369028 1.500 + 1889.42111477 1.600 + 1841.85409431 1.700 + 1799.37927722 1.800 + 1761.10110115 1.900 + 1726.40452444 2.000 + 1694.79792273 2.100 + 1665.90319585 2.200 + 1639.39796999 2.300 + 1615.01361993 2.400 + 1592.51243330 2.500 + 1571.69099648 2.600 + 1552.36705318 2.700 + 1534.38465376 2.800 + 1517.60367445 2.900 + 1501.90475554 3.000 + 1487.18051277 3.100 + 1473.33958617 3.200 + 1460.29958661 3.300 + 1447.99020896 3.400 + 1436.34780953 3.500 + 1425.31776148 3.600 + 1414.85035596 3.700 + 1404.90252771 3.800 + 1395.43489448 3.900 + 1386.41322552 4.000 + 1369.58445166 4.200 + 1354.19866287 4.400 + 1340.08262864 4.600 + 1327.08348445 4.800 + 1315.07273389 5.000 + 1303.93840911 5.200 + 1293.59871697 5.400 + 1283.98154797 5.600 + 1275.00982904 5.800 + 1266.57790893 6.000 + 1247.55587506 6.500 + 1231.55080107 7.000 + 1217.38786568 7.500 + 1204.74989903 8.000 + 1193.60221721 8.500 + 1183.72919164 9.000 + 1174.89204730 9.500 + 1166.91456887 10.000 + 1159.65124167 10.500 + 1153.00610065 11.000 + 1146.90146643 11.500 + 1141.27998480 12.000 + 1136.09190804 12.500 + 1131.29453814 13.000 + 1126.84859665 13.500 + 1122.71926196 14.000 + 1118.87425339 14.500 + 1115.28545283 15.000 + 1111.92700104 15.500 + 1108.77683953 16.000 + 1105.81481593 16.500 + 1103.02391674 17.000 + 1100.38862387 17.500 + 1097.89584346 18.000 + 1095.53360562 18.500 + 1093.29174577 19.000 + 1091.16092561 19.500 + 1089.13311714 20.000 + 1085.35786480 21.000 + 1081.91592289 22.000 + 1078.76581524 23.000 + 1075.87392349 24.000 + 1073.20998316 25.000 + 1070.74931461 26.000 + 1068.46969337 27.000 + 1066.35238764 28.000 + 1064.38032031 29.000 + 1062.53905823 30.000 + 1060.81540682 31.000 + 1059.19815673 32.000 + 1057.67699858 33.000 + 1056.24318470 34.000 + 1054.88864443 35.000 + 1053.60642065 36.000 + 1052.39013627 37.000 + 1051.23443630 38.000 + 1050.13424786 39.000 + 1049.08482090 40.000 + 998.0 299 + diff --git a/secop_psi/calcurves/rx102b.340 b/secop_psi/calcurves/rx102b.340 new file mode 100644 index 0000000..62590a3 --- /dev/null +++ b/secop_psi/calcurves/rx102b.340 @@ -0,0 +1,78 @@ +Sensor Model: RX-102B-Lakeshore_hifi +Serial Number: RX102B +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 10 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 68 + +No. Units Temperature (K) + + +1 3.0322157033 100 +2 3.1411360901 10 +3 3.179838928 5 +4 3.2255677134 2 +5 3.2342066802 1.9539304047 +6 3.2392328287 1.7969891485 +7 3.244515806 1.6526535399 +8 3.2500549501 1.519911083 +9 3.2558495989 1.3978306066 +10 3.2618990904 1.2855557319 +11 3.2682027624 1.1822988652 +12 3.274759953 1.0873356727 +13 3.28157 1 +14 3.2886322414 0.9196791985 +15 3.2959460151 0.8458098282 +16 3.303510659 0.7778737049 +17 3.3113255112 0.7153942654 +18 3.3193899094 0.6579332247 +19 3.3277031917 0.6050875007 +20 3.336264696 0.5564863877 +21 3.3450737602 0.511788955 +22 3.3541297222 0.470681656 +23 3.36343192 0.4328761281 +24 3.3729796915 0.3981071706 +25 3.3827723747 0.3661308835 +26 3.3928093074 0.3367229575 +27 3.4030898277 0.3096770997 +28 3.4136132734 0.2848035868 +29 3.4243789825 0.2619279345 +30 3.4353862929 0.2408896729 +31 3.4466345425 0.2215412213 +32 3.4581230693 0.2037468528 +33 3.4698512112 0.1873817423 +34 3.4818183062 0.1723310906 +35 3.4940236922 0.1584893192 +36 3.506466707 0.1457593301 +37 3.5191466887 0.1340518239 +38 3.5320629752 0.1232846739 +39 3.5452149044 0.1133823501 +40 3.5586018142 0.1042753889 +41 3.5722230427 0.0958999061 +42 3.5860779276 0.0881971488 +43 3.6001658069 0.0811130831 +44 3.6144860187 0.0745980152 +45 3.6290379007 0.0686062429 +46 3.643820791 0.0630957344 +47 3.6588340275 0.0580278345 +48 3.6740769481 0.0533669923 +49 3.6895488907 0.0490805127 +50 3.7052491934 0.0451383266 +51 3.7211771938 0.04151278 +52 3.7373322302 0.0381784403 +53 3.7537136403 0.0351119173 +54 3.7703207622 0.0322917 +55 3.7871529337 0.0296980048 +56 3.8042094927 0.0273126372 +57 3.8214897773 0.0251188643 +58 3.8389931253 0.023101297 +59 3.8567188747 0.0212457823 +60 3.8746663634 0.019539304 +61 3.8928349293 0.0179698915 +62 3.9112239104 0.0165265354 +63 3.9298326446 0.0151991108 +64 3.9486604699 0.0139783061 +65 3.9677067241 0.0128555573 +66 3.9869707453 0.0118229887 +67 4.0064518712 0.0108733567 +68 4.02614944 0.01 diff --git a/secop_psi/calcurves/rx1611.inp b/secop_psi/calcurves/rx1611.inp new file mode 100644 index 0000000..683c1c5 --- /dev/null +++ b/secop_psi/calcurves/rx1611.inp @@ -0,0 +1,89 @@ +sens=rx1611 +unit=V ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +excit=30uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +range=2 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (volts, cKelvin) +0.1 1206.521654 +0.105 993.8222225 +0.1103 824.4082243 +0.1158 691.0146685 +0.1216 583.2109748 +0.1277 495.6595691 +0.1341 424.1693739 +0.1408 365.4568244 +0.1478 316.9499646 +0.1552 276.1386601 +0.163 241.7266404 +0.1712 212.626728 +0.1798 187.9352325 +0.1888 166.905356 +0.1982 148.9221064 +0.2081 133.3368629 +0.2185 119.8072354 +0.2294 108.0366429 +0.2409 97.68815706 +0.2529 88.65305941 +0.2655 80.68121887 +0.2788 73.58832758 +0.2927 67.31900363 +0.3073 61.72973563 +0.3227 56.71224548 +0.3388 52.23482387 +0.3557 48.21039972 +0.3735 44.57191657 +0.3922 41.28323672 +0.4118 38.31003269 +0.4324 35.60812694 +0.454 33.15299196 +0.4767 30.91215327 +0.5005 28.86745908 +0.5255 26.99446317 +0.5518 25.27322246 +0.5794 23.69261318 +0.6084 22.23685759 +0.6388 20.89692543 +0.6707 19.66021856 +0.7042 18.51614313 +0.7394 17.45569276 +0.7764 16.47112933 +0.8152 15.55795099 +0.856 14.70755522 +0.8988 13.91657457 +0.9437 13.17986919 +0.9909 12.49152745 +1.0404 11.84919396 +1.0924 11.24811677 +1.147 10.68535851 +1.2044 10.15734895 +1.2646 9.662651321 +1.3278 9.198237347 +1.3942 8.761545253 +1.4639 8.350940465 +1.5371 7.9643521 +1.614 7.599982053 +1.6947 7.256655057 +1.7794 6.932848325 +1.8684 6.626884532 +1.9618 6.337944626 +2.0599 6.064660729 +2.1629 5.806107119 +2.271 5.561426086 +2.3846 5.329430748 +2.5038 5.109661957 +2.629 4.901140994 +2.7605 4.703186509 +2.8985 4.515313629 +3.0434 4.33680883 +3.1956 4.16705561 +3.3554 4.005611036 +3.5232 3.851970924 +3.6994 3.705686023 +3.8844 3.566351517 +4.0786 3.433598749 +4.2825 3.307029581 +4.4966 3.18629209 +4.7214 3.071071466 +4.9575 2.961038374 + diff --git a/secop_psi/calcurves/rx1976.inp b/secop_psi/calcurves/rx1976.inp new file mode 100644 index 0000000..9068974 --- /dev/null +++ b/secop_psi/calcurves/rx1976.inp @@ -0,0 +1,63 @@ +sens=rx1976 +unit=mV ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +range=0 +excit=30uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +curv ! curve mV,K (200 kOhm Range) +607.88 0.02 +593.99 0.021 +567.92 0.023 +543.86 0.025 +490.69 0.03 +445.36 0.035 +406.08 0.04 +371.81 0.045 +341.79 0.05 +254.67 0.07 +203.01 0.09 +170.69 0.11 +148.94 0.13 +133.29 0.15 +118.96 0.175 +108.21 0.20 +99.84 0.225 +93.09 0.25 +82.81 0.30 +75.29 0.35 +69.53 0.40 +64.95 0.45 +61.22 0.50 +55.49 0.60 +51.31 0.70 +48.11 0.80 +45.59 0.90 +43.56 1.00 +39.83 1.25 +37.29 1.50 +35.43 1.75 +34.01 2.00 +32.87 2.25 +31.94 2.50 +31.16 2.75 +30.50 3.00 +29.92 3.25 +29.42 3.50 +28.97 3.75 +28.57 4.00 +28.27 4.20 +27.45 5.00 +26.77 6.00 +25.82 8.00 +25.20 10.00 +24.60 13.00 +24.10 17.00 +23.71 22.00 +23.38 29.00 +23.15 37.00 +22.91 50.00 +22.75 67.00 +22.62 90.00 +22.51 120.00 +22.00 300.00 + diff --git a/secop_psi/calcurves/rx198.inp b/secop_psi/calcurves/rx198.inp new file mode 100644 index 0000000..3403b47 --- /dev/null +++ b/secop_psi/calcurves/rx198.inp @@ -0,0 +1,180 @@ +#sens=rx198 +#unit=Ohm +#type=Cernox ! Cernox and RuOx is the same type +# calibrated range 0.065 99.5 (other points extrapolated) +# created with /afs/psi.ch/project/SampleEnvironment/Neutronscattering/Dil_Thermometer_WL/Thermometer3_2014/combined_calibration/makecurve.m +#curv ! curve follows R[Ohm] T[K] +5865544. 0.015 +5124096. 0.016 +4513248. 0.017 +4004209. 0.018 +3575681. 0.019 +3211638. 0.02 +2842874. 0.0212 +2533444. 0.0224 +2271343. 0.0236 +2013326. 0.025 +1768277. 0.0266 +1564912. 0.0282 +1374972. 0.03 +1201417. 0.032 +1058432. 0.034 +939278.9 0.036 +838970.9 0.038 +753757.3 0.04 +664165.7 0.0425 +589506.3 0.045 +526655.1 0.0475 +473261.8 0.05 +419176.1 0.053 +373792.7 0.056 +323838.7 0.06 +283213.8 0.064 +249712.4 0.068 +221788.7 0.072 +198401.8 0.076 +178717.6 0.08 +158312.1 0.085 +141630.7 0.09 +127891.8 0.095 +116465.3 0.1 +105096.3 0.106 +95690.25 0.112 +87795.40 0.118 +80063.13 0.125 +72725.80 0.133 +66612.15 0.141 +60851.28 0.15 +55511.26 0.16 +51032.24 0.17 +47228.86 0.18 +43964.35 0.19 +41135.64 0.2 +38206.53 0.212 +35688.12 0.224 +33501.97 0.236 +31292.05 0.25 +29128.10 0.266 +27272.87 0.282 +25479.97 0.3 +23778.86 0.32 +22321.46 0.34 +21059.37 0.36 +19956.10 0.38 +18983.57 0.4 +17918.89 0.425 +16991.66 0.45 +16176.80 0.475 +15454.95 0.5 +14690.36 0.53 +14017.55 0.56 +13236.47 0.6 +12562.49 0.64 +11974.63 0.68 +11457.06 0.72 +10997.59 0.76 +10586.73 0.8 +10130.16 0.85 +9726.339 0.9 +9366.444 0.95 +9043.530 1 +8697.118 1.06 +8388.419 1.12 +8111.446 1.18 +7822.092 1.25 +7528.690 1.33 +7268.392 1.41 +7008.379 1.5 +6753.269 1.6 +6527.760 1.7 +6327.018 1.8 +6147.205 1.9 +5985.232 2 +5810.898 2.12 +5655.055 2.24 +5514.822 2.36 +5367.895 2.5 +5218.450 2.66 +5085.464 2.82 +4952.248 3 +4821.183 3.2 +4704.948 3.4 +4601.104 3.6 +4507.721 3.8 +4423.257 4 +4328.339 4.25 +4243.463 4.5 +4167.078 4.75 +4097.941 5 +4023.138 5.3 +3955.931 5.6 +3876.234 6 +3805.985 6.4 +3743.570 6.8 +3687.722 7.2 +3637.427 7.6 +3591.870 8 +3540.590 8.5 +3494.653 9 +3453.239 9.5 +3415.688 10 +3374.975 10.6 +3338.308 11.2 +3305.092 11.8 +3270.059 12.5 +3234.200 13.3 +3202.131 14.1 +3169.889 15 +3138.082 16 +3109.828 17 +3084.541 18 +3061.732 19 +3041.019 20 +3018.502 21.2 +2998.147 22.4 +2979.636 23.6 +2960.067 25 +2940.014 26.6 +2922.078 28.2 +2904.058 30 +2886.304 32 +2870.558 34 +2856.500 36 +2843.877 38 +2832.482 40 +2819.711 42.5 +2808.325 45 +2798.109 47.5 +2788.888 50 +2778.941 53 +2770.031 56 +2759.531 60 +2750.397 64 +2742.430 68 +2735.463 72 +2729.351 76 +2723.908 80 +2717.761 85 +2712.114 90 +2706.805 95 +2701.729 100 +2696.116 106 +2691.098 112 +2686.583 118 +2681.857 125 +2677.058 133 +2672.796 141 +2668.539 150 +2664.363 160 +2660.673 170 +2657.388 180 +2654.444 190 +2651.791 200 +2648.933 212 +2646.378 224 +2644.080 236 +2641.674 250 +2639.231 266 +2637.061 282 +2634.894 300 +2632.768 320 diff --git a/secop_psi/calcurves/rx19801.340 b/secop_psi/calcurves/rx19801.340 new file mode 100644 index 0000000..4356dbb --- /dev/null +++ b/secop_psi/calcurves/rx19801.340 @@ -0,0 +1,157 @@ +Sensor Model: RX-C-2500 +Serial Number: RX19801 +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 300 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 148 + +No. Units Temperature (K) + +1 3.42775 197.548242 +2 3.427776 185.272011 +3 3.427796 210.637903 +4 3.427873 173.758661 +5 3.427906 224.594893 +6 3.42803 162.960785 +7 3.428071 239.476681 +8 3.428274 152.83392 +9 3.428289 255.344545 +10 3.428555 272.263823 +11 3.42859 143.336369 +12 3.428858 290.304182 +13 3.428988 134.429024 +14 3.429185 309.539906 +15 3.429465 126.075207 +16 3.42952 330.0502 +17 3.430012 118.240522 +18 3.430656 110.892707 +19 3.431367 104.001506 +20 3.432165 97.538546 +21 3.433038 91.477212 +22 3.433996 85.792548 +23 3.435035 80.461146 +24 3.43616 75.461053 +25 3.437369 70.77168 +26 3.438662 66.373719 +27 3.440041 62.24906 +28 3.441509 58.38072 +29 3.443079 54.752769 +30 3.444744 51.350271 +31 3.446504 48.159213 +32 3.448373 45.166457 +33 3.450355 42.35968 +34 3.452437 39.727325 +35 3.454651 37.258552 +36 3.456972 34.943195 +37 3.459433 32.771722 +38 3.46202 30.73519 +39 3.464735 28.825215 +40 3.467592 27.033931 +41 3.470583 25.353962 +42 3.473732 23.778392 +43 3.477037 22.300733 +44 3.480483 20.914899 +45 3.484091 19.615186 +46 3.487873 18.39624 +47 3.491824 17.253044 +48 3.495961 16.180889 +49 3.500277 15.17536 +50 3.504789 14.232319 +51 3.509511 13.34788 +52 3.514435 12.518404 +53 3.519589 11.740473 +54 3.524958 11.010885 +55 3.53056 10.326636 +56 3.536419 9.684909 +57 3.542517 9.08306 +58 3.54887 8.518612 +59 3.555503 7.98924 +60 3.56239 7.492765 +61 3.569578 7.027143 +62 3.577053 6.590455 +63 3.584814 6.180905 +64 3.592869 5.796805 +65 3.601235 5.436575 +66 3.609936 5.09873 +67 3.618973 4.78188 +68 3.62831 4.48472 +69 3.637985 4.206026 +70 3.648004 3.944651 +71 3.658363 3.699519 +72 3.669083 3.46962 +73 3.680167 3.254007 +74 3.691603 3.051794 +75 3.703464 2.862146 +76 3.715719 2.684284 +77 3.72837 2.517475 +78 3.74143 2.361031 +79 3.754883 2.21431 +80 3.768758 2.076706 +81 3.783063 1.947653 +82 3.797765 1.826621 +83 3.812874 1.713109 +84 3.828254 1.606651 +85 3.843897 1.506809 +86 3.859279 1.413172 +87 3.876133 1.325353 +88 3.893514 1.242992 +89 3.910364 1.165748 +90 3.929153 1.093305 +91 3.949621 1.025364 +92 3.968448 0.961645 +93 3.987651 0.901886 +94 4.007614 0.84584 +95 4.027696 0.793277 +96 4.048759 0.74398 +97 4.069519 0.697747 +98 4.09202 0.654387 +99 4.114457 0.613721 +100 4.136817 0.575583 +101 4.160801 0.539815 +102 4.185246 0.506269 +103 4.210286 0.474808 +104 4.235599 0.445302 +105 4.261681 0.41763 +106 4.288367 0.391677 +107 4.313949 0.367337 +108 4.343747 0.344509 +109 4.372026 0.323101 +110 4.402018 0.303022 +111 4.432077 0.284191 +112 4.463249 0.266531 +113 4.495525 0.249968 +114 4.52849 0.234434 +115 4.561597 0.219866 +116 4.596634 0.206203 +117 4.632754 0.193389 +118 4.668199 0.181371 +119 4.70661 0.1701 +120 4.745497 0.159529 +121 4.786042 0.149616 +122 4.827088 0.140318 +123 4.869719 0.131598 +124 4.913572 0.123421 +125 4.957969 0.115751 +126 5.006383 0.108558 +127 5.052661 0.101812 +128 5.104482 0.095485 +129 5.155417 0.089551 +130 5.208789 0.083986 +131 5.265935 0.078767 +132 5.323424 0.073872 +133 5.384809 0.069282 +134 5.444202 0.064976 +135 5.51132 0.060938 +136 5.573934 0.057151 +137 5.648425 0.0536 +138 5.716027 0.050269 +139 5.795265 0.047145 +140 5.863628 0.044215 +141 5.949965 0.041468 +142 6.024455 0.038891 +143 6.109947 0.036474 +144 6.18535 0.034207 +145 6.264737 0.032082 +146 6.334741 0.030088 +147 6.401012 0.028218 +148 6.447682 0.026465 diff --git a/secop_psi/calcurves/rx2435.inp b/secop_psi/calcurves/rx2435.inp new file mode 100644 index 0000000..70e673b --- /dev/null +++ b/secop_psi/calcurves/rx2435.inp @@ -0,0 +1,65 @@ +#sens=rx2435 +#unit=Ohm +#type=Cernox ! Cernox and RuOx is the same type +#curv ! curve follows R[Ohm] T[K] +5643.8 0.2598 +5099.0 0.2961 +4765.4 0.3265 +4427.6 0.3645 +4150.0 0.3992 +3879.3 0.4408 +3648.4 0.4854 +3415.9 0.5364 +3208.4 0.5939 +3071.6 0.6399 +2967.5 0.6776 +2958.4 0.6811 +2887.6 0.7099 +2878.2 0.7129 +2793.8 0.7477 +2671.7 0.8060 +2646.3 0.8207 +2615.1 0.8420 +2499.6 0.9111 +2405.2 0.9808 +2344.0 1.029 +2197.6 1.166 +2150.1 1.225 +2045.8 1.359 +1939.0 1.527 +1822.4 1.779 +1757.2 1.928 +1705.6 2.100 +1646.8 2.305 +1594.3 2.553 +1544.4 2.832 +1491.6 3.172 +1464.1 3.381 +1437.6 3.610 +1411.5 3.868 +1384.9 4.169 +1350.1 4.638 +1330.1 4.953 +1303.8 5.427 +1277.8 5.995 +1257.2 6.528 +1241.9 6.999 +1227.9 7.495 +1216.0 7.976 +1202.4 8.583 +1194.3 8.990 +1176.5 10.04 +1163.0 10.99 +1151.3 11.99 +1141.3 12.99 +1132.6 13.99 +1125.1 14.98 +1118.9 15.92 +1113.2 16.87 +1111.6 17.15 +1107.9 17.84 +1103.1 18.85 +1099.1 19.77 +1095.3 20.69 +1033.0 77.4 +1001.8 295.0 diff --git a/secop_psi/calcurves/rx262.inp b/secop_psi/calcurves/rx262.inp new file mode 100644 index 0000000..3fff69c --- /dev/null +++ b/secop_psi/calcurves/rx262.inp @@ -0,0 +1,180 @@ +#sens=rx262 +#unit=Ohm +#type=Cernox ! Cernox and RuOx is the same type +# calibrated range 0.035 99.7 (other points extrapolated) +# created with /afs/psi.ch/project/SampleEnvironment/Neutronscattering/Dil_Thermometer_WL/Thermometer3_2014/combined_calibration/makecurve.m +#curv ! curve follows R[Ohm] T[K] +7069635. 0.015 +5953550. 0.016 +5066236. 0.017 +4351185. 0.018 +3767982. 0.019 +3287171. 0.02 +2815017. 0.0212 +2431405. 0.0224 +2116235. 0.0236 +1815489. 0.025 +1539394. 0.0266 +1317984. 0.0282 +1118132. 0.03 +941957.6 0.032 +801895.1 0.034 +689498.4 0.036 +600527.9 0.038 +529204.6 0.04 +458240.8 0.0425 +402096.9 0.045 +356821.5 0.0475 +319698.3 0.05 +283254.5 0.053 +253491.9 0.056 +221478.7 0.06 +195909.1 0.064 +175064.6 0.068 +157813.5 0.072 +143369.2 0.076 +131149.4 0.08 +118344.8 0.085 +107700.3 0.09 +98750.28 0.095 +91143.09 0.1 +83411.07 0.106 +76880.56 0.112 +71298.83 0.118 +65737.50 0.125 +60369.01 0.133 +55825.14 0.141 +51483.09 0.15 +47405.36 0.16 +43944.23 0.17 +40973.12 0.18 +38397.35 0.19 +36144.72 0.2 +33790.20 0.212 +31746.72 0.224 +29957.71 0.236 +28134.26 0.25 +26333.41 0.266 +24776.83 0.282 +23260.98 0.3 +21811.81 0.32 +20561.51 0.34 +19472.09 0.36 +18514.54 0.38 +17666.40 0.4 +16733.47 0.425 +15917.20 0.45 +15196.97 0.475 +14556.71 0.5 +13876.29 0.53 +13275.52 0.56 +12575.32 0.6 +11968.39 0.64 +11436.62 0.68 +10966.33 0.72 +10547.00 0.76 +10170.41 0.8 +9749.934 0.85 +9376.201 0.9 +9041.803 0.95 +8740.880 1 +8417.327 1.06 +8128.551 1.12 +7869.263 1.18 +7598.376 1.25 +7323.904 1.33 +7080.776 1.41 +6838.469 1.5 +6601.361 1.6 +6391.930 1.7 +6205.252 1.8 +6037.530 1.9 +5885.784 2 +5721.508 2.12 +5573.877 2.24 +5440.557 2.36 +5300.558 2.5 +5158.028 2.66 +5031.265 2.82 +4904.388 3 +4779.558 3.2 +4668.756 3.4 +4569.608 3.6 +4480.259 3.8 +4399.279 4 +4308.124 4.25 +4226.512 4.5 +4153.012 4.75 +4086.469 5 +4014.471 5.3 +3949.774 5.6 +3873.019 6 +3805.312 6.4 +3745.097 6.8 +3691.160 7.2 +3642.535 7.6 +3598.446 8 +3548.768 8.5 +3504.215 9 +3464.007 9.5 +3427.524 10 +3387.960 10.6 +3352.333 11.2 +3320.073 11.8 +3286.079 12.5 +3251.302 13.3 +3220.179 14.1 +3188.824 15 +3157.787 16 +3130.093 17 +3105.213 18 +3082.734 19 +3062.323 20 +3040.172 21.2 +3020.216 22.4 +3002.139 23.6 +2983.082 25 +2963.579 26.6 +2946.128 28.2 +2928.559 30 +2911.189 32 +2895.723 34 +2881.865 36 +2869.377 38 +2858.066 40 +2845.342 42.5 +2833.958 45 +2823.711 47.5 +2814.437 50 +2804.407 53 +2795.400 56 +2784.747 60 +2775.428 64 +2767.246 68 +2760.035 72 +2753.659 76 +2747.995 80 +2741.754 85 +2736.290 90 +2731.473 95 +2727.200 100 +2722.581 106 +2718.371 112 +2714.514 118 +2710.401 125 +2706.138 133 +2702.275 141 +2698.336 150 +2694.389 160 +2690.826 170 +2687.589 180 +2684.634 190 +2681.923 200 +2678.948 212 +2676.237 224 +2673.753 236 +2671.104 250 +2668.358 266 +2665.870 282 +2663.333 300 +2660.791 320 diff --git a/secop_psi/calcurves/rx270c.340 b/secop_psi/calcurves/rx270c.340 new file mode 100644 index 0000000..d8cd31e --- /dev/null +++ b/secop_psi/calcurves/rx270c.340 @@ -0,0 +1,68 @@ +Sensor Model: RX-2700C-Entropy_hifi +Serial Number: RX270C +Data Format: 4 (Log Ohms/Kelvin) +SetPoint Limit: 10 (Kelvin) +Temperature coefficient: 1 (Negative) +Number of Breakpoints: 58 + +No. Units Temperature (K) + + +1 3.4331295176 100 +2 3.5337720584 10 +3 3.614053106 5 +4 3.778802204 2 +5 3.7946586225 1.7969891485 +6 3.8226695127 1.6526535399 +7 3.8482906435 1.519911083 +8 3.8724035841 1.3978306066 +9 3.8957276844 1.2855557319 +10 3.9188391199 1.1822988652 +11 3.9421889231 1.0873356727 +12 3.96612 1 +13 3.9908831314 0.9196791985 +14 4.0166519602 0.8458098282 +15 4.0435369635 0.7778737049 +16 4.0715984104 0.7153942654 +17 4.1008583053 0.6579332247 +18 4.1313113158 0.6050875007 +19 4.1629346866 0.5564863877 +20 4.1956971389 0.511788955 +21 4.2295667539 0.470681656 +22 4.2645178435 0.4328761281 +23 4.3005368049 0.3981071706 +24 4.3376269607 0.3661308835 +25 4.3758123851 0.3367229575 +26 4.415140715 0.3096770997 +27 4.4556849461 0.2848035868 +28 4.4975442144 0.2619279345 +29 4.5408435644 0.2408896729 +30 4.5857326999 0.2215412213 +31 4.6323837235 0.2037468528 +32 4.6809878582 0.1873817423 +33 4.7317511565 0.1723310906 +34 4.7848891945 0.1584893192 +35 4.8406207503 0.1457593301 +36 4.8991604688 0.1340518239 +37 4.9607105118 0.1232846739 +38 5.0254511924 0.1133823501 +39 5.0935305959 0.1042753889 +40 5.165053186 0.0958999061 +41 5.2400673948 0.0881971488 +42 5.3185522007 0.0811130831 +43 5.4004026891 0.0745980152 +44 5.4854145995 0.0686062429 +45 5.5732678595 0.0630957344 +46 5.6635091006 0.0580278345 +47 5.7555331624 0.0533669923 +48 5.8485635819 0.0490805127 +49 5.9416320655 0.0451383266 +50 6.0335569491 0.04151278 +51 6.1229206436 0.0381784403 +52 6.2080460628 0.0351119173 +53 6.2869720404 0.0322917 +54 6.3574277291 0.0296980048 +55 6.4168059872 0.0273126372 +56 6.4621357501 0.0251188643 +57 6.4900533862 0.023101297 +58 6.4967730388 0.0212457823 diff --git a/secop_psi/calcurves/rxdil.inp b/secop_psi/calcurves/rxdil.inp new file mode 100644 index 0000000..fd8b3f7 --- /dev/null +++ b/secop_psi/calcurves/rxdil.inp @@ -0,0 +1,62 @@ +sens=rxdil +unit=mV ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=2 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +excit=30uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +range=2000 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (volts, cKelvin) +607.88 0.02 +593.99 0.021 +567.92 0.023 +543.86 0.025 +490.69 0.03 +445.36 0.035 +406.08 0.04 +371.81 0.045 +341.79 0.05 +254.67 0.07 +203.01 0.09 +170.69 0.11 +148.94 0.13 +133.29 0.15 +118.96 0.175 +108.21 0.20 +99.84 0.225 +93.09 0.25 +82.81 0.30 +75.29 0.35 +69.53 0.40 +64.95 0.45 +61.22 0.50 +55.49 0.60 +51.31 0.70 +48.11 0.80 +45.59 0.90 +43.56 1.00 +39.83 1.25 +37.29 1.50 +35.43 1.75 +34.01 2.00 +32.87 2.25 +31.94 2.50 +31.16 2.75 +30.50 3.00 +29.92 3.25 +29.42 3.50 +28.97 3.75 +28.57 4.00 +28.27 4.20 +27.45 5.00 +26.77 6.00 +25.82 8.00 +25.20 10.00 +24.60 13.00 +24.10 17.00 +23.71 22.00 +23.38 29.00 +23.15 37.00 +22.91 50.00 +22.75 67.00 +22.62 90.00 +22.51 120.00 +22.00 300.00 diff --git a/secop_psi/calcurves/speer220.inp b/secop_psi/calcurves/speer220.inp new file mode 100644 index 0000000..ce0e06c --- /dev/null +++ b/secop_psi/calcurves/speer220.inp @@ -0,0 +1,70 @@ +#sens=speer220 +#unit=Ohm +#type=Special ! Model:Speer +#curv ! Curve follows R[Ohm] T[K] +401.5437612 4.730213903 +404.522976 4.529649125 +415.3349392 4.183773474 +415.9489106 3.864308249 +434.0114716 3.320588032 +433.4034269 3.059660592 +446.977608 2.853370945 +459.3280753 2.551230339 +472.0327645 2.434251434 +482.4200437 2.15526572 +500.789196 1.939011072 +508.9724596 1.810455871 +522.8522061 1.694089727 +548.7137255 1.544525715 +588.2069799 1.346512696 +606.7699586 1.277064559 +640.435479 1.165439478 +700.5712605 1.045801306 +802.8948638 0.885768727 +820.4756345 0.836720676 +863.6149465 0.781022795 +918.4523474 0.71841483 +987.2794555 0.663079017 +1070.589863 0.608480202 +1180.921295 0.556186216 +1278.376343 0.515833591 +1376.327614 0.477491045 +1461.794933 0.446063706 +1604.231724 0.412003104 +1724.055274 0.383301152 +1905.236868 0.352757054 +2091.257913 0.326999678 +2325.00748 0.299857481 +2504.53067 0.284049884 +2641.186969 0.267354042 +3012.037688 0.246741333 +3285.337688 0.232891488 +3645.931444 0.218237455 +4053.194455 0.20376845 +4398.809231 0.193724562 +4914.850202 0.180880747 +5164.903939 0.17383777 +5925.090977 0.161727465 +6340.263168 0.154534962 +7022.631557 0.147768997 +8185.047205 0.136048303 +9129.637671 0.127897659 +10264.22823 0.119850064 +11671.15146 0.111904081 +12716.54693 0.108326263 +14015.5839 0.104108349 +15612.12995 0.099334778 +17294.90306 0.093894519 +19952.89127 0.087859496 +22364.60505 0.082628981 +25049.58958 0.079125447 +26310.67702 0.074954188 +29613.98131 0.069686788 +33212.25966 0.065581181 +38575.3891 0.060939123 +40498.86006 0.057796108 +45733.9009 0.052238908 +50328.07606 0.048424563 +57175.34891 0.044969839 +59692.05018 0.043037177 +64341.89533 0.04049942 diff --git a/secop_psi/calcurves/std1.inp b/secop_psi/calcurves/std1.inp new file mode 100644 index 0000000..6fe5488 --- /dev/null +++ b/secop_psi/calcurves/std1.inp @@ -0,0 +1,2 @@ +sens=std1 +curv=1 diff --git a/secop_psi/calcurves/std4.inp b/secop_psi/calcurves/std4.inp new file mode 100644 index 0000000..5d7aaf7 --- /dev/null +++ b/secop_psi/calcurves/std4.inp @@ -0,0 +1,2 @@ +sens=std4 +curv=4 diff --git a/secop_psi/calcurves/std6.inp b/secop_psi/calcurves/std6.inp new file mode 100644 index 0000000..87845e0 --- /dev/null +++ b/secop_psi/calcurves/std6.inp @@ -0,0 +1,2 @@ +sens=std6 +curv=6 diff --git a/secop_psi/calcurves/tpr010.inp b/secop_psi/calcurves/tpr010.inp new file mode 100644 index 0000000..fd7dc01 --- /dev/null +++ b/secop_psi/calcurves/tpr010.inp @@ -0,0 +1,33 @@ +sens=tpr010 +unit=V +curv +10 1000 +9.75 200 +9.61 100 +9.55 80 +9.44 60 +9.34 48 +9.24 40 +9.01 30 +8.53 20 +8.11 15 +7.5 10 +7.25 8 +6.99 6 +6 2 +4.95 0.6 +4 0.2 +3.4 0.1 +2.95 0.06 +2.6 0.04 +1.97 0.02 +1.68 0.015 +1.35 0.012 +1.04 0.01 +0.83 0.008 +0.66 0.006 +0.52 0.004 +0.37 0.002 +0.25 0.001 +0.16 0.0005 +0 0.0001 diff --git a/secop_psi/calcurves/type-c-k1000.inp b/secop_psi/calcurves/type-c-k1000.inp new file mode 100644 index 0000000..97e3a6d --- /dev/null +++ b/secop_psi/calcurves/type-c-k1000.inp @@ -0,0 +1 @@ +sens=type-c-k1000 unit=mV type=TC ! kinked at 1000 K (scale=2) curv -0.135 263.15 0.135 283.15 0.273 293.15 0.412 303.15 0.554 313.15 0.699 323.15 0.845 333.15 0.994 343.15 1.144 353.15 1.297 363.15 1.451 373.15 1.607 383.15 1.766 393.15 1.925 403.15 2.087 413.15 2.25 423.15 2.415 433.15 2.581 443.15 2.749 453.15 2.919 463.15 3.089 473.15 3.261 483.15 3.435 493.15 3.609 503.15 3.785 513.15 3.962 523.15 4.141 533.15 4.32 543.15 4.5 553.15 4.682 563.15 4.864 573.15 5.047 583.15 5.231 593.15 5.416 603.15 5.602 613.15 5.788 623.15 5.976 633.15 6.164 643.15 6.352 653.15 6.541 663.15 6.731 673.15 6.922 683.15 7.113 693.15 7.304 703.15 7.496 713.15 7.688 723.15 7.881 733.15 8.074 743.15 8.268 753.15 8.461 763.15 8.655 773.15 8.85 783.15 9.044 793.15 9.239 803.15 9.434 813.15 9.629 823.15 9.824 833.15 10.02 843.15 10.215 853.15 10.411 863.15 10.606 873.15 10.802 883.15 10.997 893.15 11.193 903.15 11.388 913.15 11.584 923.15 11.779 933.15 11.974 943.15 12.169 953.15 12.364 963.15 12.559 973.15 12.753 983.15 12.948 993.15 13.142 1001.575 13.336 1006.575 13.53 1011.575 13.723 1016.575 13.916 1021.575 14.109 1026.575 14.302 1031.575 14.494 1036.575 14.686 1041.575 14.878 1046.575 15.069 1051.575 15.26 1056.575 15.451 1061.575 15.641 1066.575 15.831 1071.575 16.02 1076.575 16.209 1081.575 16.397 1086.575 16.585 1091.575 16.773 1096.575 16.96 1101.575 17.147 1106.575 17.333 1111.575 17.519 1116.575 17.704 1121.575 17.889 1126.575 18.074 1131.575 18.257 1136.575 18.623 1146.575 18.987 1156.575 19.349 1166.575 19.709 1176.575 20.066 1186.575 20.422 1196.575 20.775 1206.575 21.125 1216.575 21.474 1226.575 21.82 1236.575 22.163 1246.575 22.505 1256.575 22.844 1266.575 23.18 1276.575 23.514 1286.575 23.846 1296.575 24.175 1306.575 24.502 1316.575 24.827 1326.575 25.149 1336.575 25.468 1346.575 25.785 1356.575 26.1 1366.575 26.413 1376.575 26.723 1386.575 27.03 1396.575 27.335 1406.575 27.638 1416.575 27.938 1426.575 28.236 1436.575 28.531 1446.575 28.824 1456.575 29.115 1466.575 29.403 1476.575 29.688 1486.575 29.971 1496.575 \ No newline at end of file diff --git a/secop_psi/calcurves/type-c-k333.inp b/secop_psi/calcurves/type-c-k333.inp new file mode 100644 index 0000000..cbaee24 --- /dev/null +++ b/secop_psi/calcurves/type-c-k333.inp @@ -0,0 +1,157 @@ +sens=type_c +unit=mV +type=TC ! kinked at 333.15 (scale=2) +curv +-0.135 263.15 +0.135 283.15 +0.273 293.15 +0.412 303.15 +0.554 313.15 +0.699 323.15 +0.845 333.15 +0.994 338.15 +1.144 343.15 +1.297 348.15 +1.451 353.15 +1.607 358.15 +1.766 363.15 +1.925 368.15 +2.087 373.15 +2.25 378.15 +2.415 383.15 +2.581 388.15 +2.749 393.15 +2.919 398.15 +3.089 403.15 +3.261 408.15 +3.435 413.15 +3.609 418.15 +3.785 423.15 +3.962 428.15 +4.141 433.15 +4.32 438.15 +4.5 443.15 +4.682 448.15 +4.864 453.15 +5.047 458.15 +5.231 463.15 +5.416 468.15 +5.602 473.15 +5.788 478.15 +5.976 483.15 +6.164 488.15 +6.352 493.15 +6.541 498.15 +6.731 503.15 +6.922 508.15 +7.113 513.15 +7.304 518.15 +7.496 523.15 +7.688 528.15 +7.881 533.15 +8.074 538.15 +8.268 543.15 +8.461 548.15 +8.655 553.15 +8.85 558.15 +9.044 563.15 +9.239 568.15 +9.434 573.15 +9.629 578.15 +9.824 583.15 +10.02 588.15 +10.215 593.15 +10.411 598.15 +10.606 603.15 +10.802 608.15 +10.997 613.15 +11.193 618.15 +11.388 623.15 +11.584 628.15 +11.779 633.15 +11.974 638.15 +12.169 643.15 +12.364 648.15 +12.559 653.15 +12.753 658.15 +12.948 663.15 +13.142 668.15 +13.336 673.15 +13.53 678.15 +13.723 683.15 +13.916 688.15 +14.109 693.15 +14.302 698.15 +14.494 703.15 +14.686 708.15 +14.878 713.15 +15.069 718.15 +15.26 723.15 +15.451 728.15 +15.641 733.15 +15.831 738.15 +16.02 743.15 +16.209 748.15 +16.397 753.15 +16.585 758.15 +16.773 763.15 +16.96 768.15 +17.147 773.15 +17.333 778.15 +17.519 783.15 +17.704 788.15 +17.889 793.15 +18.074 798.15 +18.257 803.15 +18.623 813.15 +18.987 823.15 +19.349 833.15 +19.709 843.15 +20.066 853.15 +20.422 863.15 +20.775 873.15 +21.125 883.15 +21.474 893.15 +21.82 903.15 +22.163 913.15 +22.505 923.15 +22.844 933.15 +23.18 943.15 +23.514 953.15 +23.846 963.15 +24.175 973.15 +24.502 983.15 +24.827 993.15 +25.149 1003.15 +25.468 1013.15 +25.785 1023.15 +26.1 1033.15 +26.413 1043.15 +26.723 1053.15 +27.03 1063.15 +27.335 1073.15 +27.638 1083.15 +27.938 1093.15 +28.236 1103.15 +28.531 1113.15 +28.824 1123.15 +29.115 1133.15 +29.403 1143.15 +29.688 1153.15 +29.971 1163.15 +30.252 1173.15 +30.53 1183.15 +30.806 1193.15 +31.079 1203.15 +31.349 1213.15 +31.617 1223.15 +31.882 1233.15 +32.145 1243.15 +32.404 1253.15 +32.661 1263.15 +32.915 1273.15 +33.167 1283.15 +33.415 1293.15 +33.66 1303.15 + + diff --git a/secop_psi/calcurves/type-c.inp b/secop_psi/calcurves/type-c.inp new file mode 100644 index 0000000..5c81305 --- /dev/null +++ b/secop_psi/calcurves/type-c.inp @@ -0,0 +1,166 @@ +sens=type-c +unit=mV +type=TC ! not kinked +curv +-0.135 263.15 +0.135 283.15 +0.273 293.15 +0.412 303.15 +0.554 313.15 +0.699 323.15 +0.845 333.15 +0.994 343.15 +1.144 353.15 +1.297 363.15 +1.451 373.15 +1.607 383.15 +1.766 393.15 +1.925 403.15 +2.087 413.15 +2.25 423.15 +2.415 433.15 +2.581 443.15 +2.749 453.15 +2.919 463.15 +3.089 473.15 +3.261 483.15 +3.435 493.15 +3.609 503.15 +3.785 513.15 +3.962 523.15 +4.141 533.15 +4.32 543.15 +4.5 553.15 +4.682 563.15 +4.864 573.15 +5.047 583.15 +5.231 593.15 +5.416 603.15 +5.602 613.15 +5.788 623.15 +5.976 633.15 +6.164 643.15 +6.352 653.15 +6.541 663.15 +6.731 673.15 +6.922 683.15 +7.113 693.15 +7.304 703.15 +7.496 713.15 +7.688 723.15 +7.881 733.15 +8.074 743.15 +8.268 753.15 +8.461 763.15 +8.655 773.15 +8.85 783.15 +9.044 793.15 +9.239 803.15 +9.434 813.15 +9.629 823.15 +9.824 833.15 +10.02 843.15 +10.215 853.15 +10.411 863.15 +10.606 873.15 +10.802 883.15 +10.997 893.15 +11.193 903.15 +11.388 913.15 +11.584 923.15 +11.779 933.15 +11.974 943.15 +12.169 953.15 +12.364 963.15 +12.559 973.15 +12.753 983.15 +12.948 993.15 +13.142 1003.15 +13.336 1013.15 +13.53 1023.15 +13.723 1033.15 +13.916 1043.15 +14.109 1053.15 +14.302 1063.15 +14.494 1073.15 +14.686 1083.15 +14.878 1093.15 +15.069 1103.15 +15.26 1113.15 +15.451 1123.15 +15.641 1133.15 +15.831 1143.15 +16.02 1153.15 +16.209 1163.15 +16.397 1173.15 +16.585 1183.15 +16.773 1193.15 +16.96 1203.15 +17.147 1213.15 +17.333 1223.15 +17.519 1233.15 +17.704 1243.15 +17.889 1253.15 +18.074 1263.15 +18.257 1273.15 +18.623 1293.15 +18.987 1313.15 +19.349 1333.15 +19.709 1353.15 +20.066 1373.15 +20.422 1393.15 +20.775 1413.15 +21.125 1433.15 +21.474 1453.15 +21.82 1473.15 +22.163 1493.15 +22.504 1513.15 +22.674 1523.15 +22.843 1533.15 +23.012 1543.15 +23.18 1553.15 +23.347 1563.15 +23.514 1573.15 +23.68 1583.15 +23.846 1593.15 +24.01 1603.15 +24.175 1613.15 +24.339 1623.15 +24.502 1633.15 +24.664 1643.15 +24.826 1653.15 +24.988 1663.15 +25.148 1673.15 +25.308 1683.15 +25.468 1693.15 +25.627 1703.15 +25.785 1713.15 +25.943 1723.15 +26.1 1733.15 +26.256 1743.15 +26.412 1753.15 +26.568 1763.15 +26.722 1773.15 +26.876 1783.15 +27.03 1793.15 +27.183 1803.15 +27.335 1813.15 +27.486 1823.15 +27.637 1833.15 +27.788 1843.15 +27.938 1853.15 +28.087 1863.15 +28.236 1873.15 +28.384 1883.15 +28.531 1893.15 +28.678 1903.15 +28.824 1913.15 +28.969 1923.15 +29.114 1933.15 +29.259 1943.15 +29.402 1953.15 +29.546 1963.15 +29.688 1973.15 +29.83 1983.15 +29.971 1993.15 +30.112 2003.15 diff --git a/secop_psi/calcurves/type-k.inp b/secop_psi/calcurves/type-k.inp new file mode 100644 index 0000000..2665b99 --- /dev/null +++ b/secop_psi/calcurves/type-k.inp @@ -0,0 +1,130 @@ +sens=type-k +unit=mV +type=TC ! not kinked +curv +-4.99801 119.5 +-4.92813 122.5 +-4.85687 125.5 +-4.78426 128.5 +-4.71031 131.5 +-4.63503 134.5 +-4.55845 137.5 +-4.48056 140.5 +-4.38814 144 +-4.29393 147.5 +-4.19806 151 +-4.10051 154.5 +-4.00133 158 +-3.90053 161.5 +-3.79815 165 +-3.6942 168.5 +-3.58873 172 +-3.46638 176 +-3.34204 180 +-3.21584 184 +-3.08778 188 +-2.95792 192 +-2.82629 196 +-2.6762 200.5 +-2.52392 205 +-2.36961 209.5 +-2.21329 214 +-2.05503 218.5 +-1.87703 223.5 +-1.69672 228.5 +-1.51427 233.5 +-1.32972 238.5 +-1.12444 244 +-0.91675 249.5 +-0.70686 255 +-0.47553 261 +-0.22228 267.5 +0.053112 274.5 +0.350783 282 +0.651006 289.5 +0.973714 297.5 +1.31919 306 +1.70801 315.5 +2.14052 326 +2.69954 339.5 +3.75883 365 +4.29687 378 +4.74986 389 +5.17977 399.5 +5.60705 410 +6.03172 420.5 +6.49428 432 +7.09465 447 +8.15226 473.5 +8.75291 488.5 +9.25576 501 +9.74087 513 +10.2285 525 +10.7186 537 +11.2317 549.5 +11.7883 563 +12.3888 577.5 +13.054 593.5 +13.7844 611 +14.5592 629.5 +15.3786 649 +16.2428 669.5 +17.1518 691 +18.1482 714.5 +19.2959 741.5 +20.8082 777 +23.1752 832.5 +24.5166 864 +25.6001 889.5 +26.5536 912 +27.4199 932.5 +28.2413 952 +29.0181 970.5 +29.7714 988.5 +30.5011 1006 +31.2074 1023 +31.8905 1039.5 +32.571 1056 +33.2489 1072.5 +33.9038 1088.5 +34.5561 1104.5 +35.2059 1120.5 +35.8532 1136.5 +36.4979 1152.5 +37.14 1168.5 +37.7596 1184 +38.3767 1199.5 +38.9915 1215 +39.6038 1230.5 +40.2136 1246 +40.821 1261.5 +41.4063 1276.5 +41.9893 1291.5 +42.5699 1306.5 +43.1288 1321 +43.6853 1335.5 +44.2394 1350 +44.7721 1364 +45.3024 1378 +45.8114 1391.5 +46.3182 1405 +46.8038 1418 +47.2873 1431 +47.7684 1444 +48.2287 1456.5 +48.6868 1469 +49.1426 1481.5 +49.5779 1493.5 +50.0111 1505.5 +50.442 1517.5 +50.8706 1529.5 +51.2969 1541.5 +51.721 1553.5 +52.1428 1565.5 +52.5623 1577.5 +52.9795 1589.5 +53.3945 1601.5 +53.8074 1613.5 +54.2182 1625.5 +54.6439 1638 +54.8813 1645 diff --git a/secop_psi/calcurves/type-k.std b/secop_psi/calcurves/type-k.std new file mode 100644 index 0000000..97f7fb2 --- /dev/null +++ b/secop_psi/calcurves/type-k.std @@ -0,0 +1,3 @@ +set nr(340) 6 +set nr(336) 12 +set nr(335) 12 diff --git a/secop_psi/calcurves/type_c.inp b/secop_psi/calcurves/type_c.inp new file mode 100644 index 0000000..cbaee24 --- /dev/null +++ b/secop_psi/calcurves/type_c.inp @@ -0,0 +1,157 @@ +sens=type_c +unit=mV +type=TC ! kinked at 333.15 (scale=2) +curv +-0.135 263.15 +0.135 283.15 +0.273 293.15 +0.412 303.15 +0.554 313.15 +0.699 323.15 +0.845 333.15 +0.994 338.15 +1.144 343.15 +1.297 348.15 +1.451 353.15 +1.607 358.15 +1.766 363.15 +1.925 368.15 +2.087 373.15 +2.25 378.15 +2.415 383.15 +2.581 388.15 +2.749 393.15 +2.919 398.15 +3.089 403.15 +3.261 408.15 +3.435 413.15 +3.609 418.15 +3.785 423.15 +3.962 428.15 +4.141 433.15 +4.32 438.15 +4.5 443.15 +4.682 448.15 +4.864 453.15 +5.047 458.15 +5.231 463.15 +5.416 468.15 +5.602 473.15 +5.788 478.15 +5.976 483.15 +6.164 488.15 +6.352 493.15 +6.541 498.15 +6.731 503.15 +6.922 508.15 +7.113 513.15 +7.304 518.15 +7.496 523.15 +7.688 528.15 +7.881 533.15 +8.074 538.15 +8.268 543.15 +8.461 548.15 +8.655 553.15 +8.85 558.15 +9.044 563.15 +9.239 568.15 +9.434 573.15 +9.629 578.15 +9.824 583.15 +10.02 588.15 +10.215 593.15 +10.411 598.15 +10.606 603.15 +10.802 608.15 +10.997 613.15 +11.193 618.15 +11.388 623.15 +11.584 628.15 +11.779 633.15 +11.974 638.15 +12.169 643.15 +12.364 648.15 +12.559 653.15 +12.753 658.15 +12.948 663.15 +13.142 668.15 +13.336 673.15 +13.53 678.15 +13.723 683.15 +13.916 688.15 +14.109 693.15 +14.302 698.15 +14.494 703.15 +14.686 708.15 +14.878 713.15 +15.069 718.15 +15.26 723.15 +15.451 728.15 +15.641 733.15 +15.831 738.15 +16.02 743.15 +16.209 748.15 +16.397 753.15 +16.585 758.15 +16.773 763.15 +16.96 768.15 +17.147 773.15 +17.333 778.15 +17.519 783.15 +17.704 788.15 +17.889 793.15 +18.074 798.15 +18.257 803.15 +18.623 813.15 +18.987 823.15 +19.349 833.15 +19.709 843.15 +20.066 853.15 +20.422 863.15 +20.775 873.15 +21.125 883.15 +21.474 893.15 +21.82 903.15 +22.163 913.15 +22.505 923.15 +22.844 933.15 +23.18 943.15 +23.514 953.15 +23.846 963.15 +24.175 973.15 +24.502 983.15 +24.827 993.15 +25.149 1003.15 +25.468 1013.15 +25.785 1023.15 +26.1 1033.15 +26.413 1043.15 +26.723 1053.15 +27.03 1063.15 +27.335 1073.15 +27.638 1083.15 +27.938 1093.15 +28.236 1103.15 +28.531 1113.15 +28.824 1123.15 +29.115 1133.15 +29.403 1143.15 +29.688 1153.15 +29.971 1163.15 +30.252 1173.15 +30.53 1183.15 +30.806 1193.15 +31.079 1203.15 +31.349 1213.15 +31.617 1223.15 +31.882 1233.15 +32.145 1243.15 +32.404 1253.15 +32.661 1263.15 +32.915 1273.15 +33.167 1283.15 +33.415 1293.15 +33.66 1303.15 + + diff --git a/secop_psi/calcurves/type_n.inp b/secop_psi/calcurves/type_n.inp new file mode 100644 index 0000000..c432de3 --- /dev/null +++ b/secop_psi/calcurves/type_n.inp @@ -0,0 +1,140 @@ +sens=type_n +unit=mV +type=TC +curv +-4.345 3.15 +-4.313 23.15 +-4.227 43.15 +-4.083 63.15 +-3.884 83.15 +-3.634 103.15 +-3.336 123.15 +-2.994 143.15 +-2.612 163.15 +-2.193 183.15 +-1.744 203.15 +-1.268 223.15 +-0.772 243.15 +-0.26 263.15 +0.261 283.15 +0.525 293.15 +0.793 303.15 +1.064 313.15 +1.339 323.15 +1.619 333.15 +1.902 343.15 +2.188 353.15 +2.479 363.15 +2.774 373.15 +3.072 383.15 +3.374 393.15 +3.679 403.15 +3.988 413.15 +4.301 423.15 +4.618 433.15 +4.936 443.15 +5.258 453.15 +5.584 463.15 +5.912 473.15 +6.243 483.15 +6.577 493.15 +6.914 503.15 +7.254 513.15 +7.596 523.15 +7.94 533.15 +8.287 543.15 +8.636 553.15 +8.987 563.15 +9.34 573.15 +9.696 583.15 +10.053 593.15 +10.412 603.15 +10.773 613.15 +11.135 623.15 +11.5 633.15 +11.866 643.15 +12.233 653.15 +12.602 663.15 +12.972 673.15 +13.344 683.15 +13.717 693.15 +14.092 703.15 +14.468 713.15 +14.844 723.15 +15.222 733.15 +15.601 743.15 +15.981 753.15 +16.362 763.15 +16.744 773.15 +17.127 783.15 +17.511 793.15 +17.896 803.15 +18.281 813.15 +18.668 823.15 +19.055 833.15 +19.442 843.15 +19.831 853.15 +20.22 863.15 +20.609 873.15 +20.999 883.15 +21.39 893.15 +21.78 903.15 +22.172 913.15 +22.563 923.15 +22.955 933.15 +23.348 943.15 +23.74 953.15 +24.133 963.15 +24.526 973.15 +24.919 983.15 +25.312 993.15 +25.705 1003.15 +26.098 1013.15 +26.492 1023.15 +26.885 1033.15 +27.278 1043.15 +27.671 1053.15 +28.064 1063.15 +28.456 1073.15 +28.849 1083.15 +29.241 1093.15 +29.634 1103.15 +30.025 1113.15 +30.417 1123.15 +30.808 1133.15 +31.199 1143.15 +31.589 1153.15 +31.98 1163.15 +32.37 1173.15 +32.759 1183.15 +33.149 1193.15 +33.538 1203.15 +33.926 1213.15 +34.314 1223.15 +34.702 1233.15 +35.089 1243.15 +35.476 1253.15 +35.862 1263.15 +36.248 1273.15 +36.633 1283.15 +37.018 1293.15 +37.403 1303.15 +37.786 1313.15 +38.169 1323.15 +38.551 1333.15 +38.933 1343.15 +39.315 1353.15 +39.696 1363.15 +40.076 1373.15 +40.455 1383.15 +40.834 1393.15 +41.212 1403.15 +41.59 1413.15 +41.966 1423.15 +42.342 1433.15 +42.717 1443.15 +43.091 1453.15 +43.464 1463.15 +43.836 1473.15 +44.207 1483.15 +44.577 1493.15 diff --git a/secop_psi/calcurves/u02045.inp b/secop_psi/calcurves/u02045.inp new file mode 100644 index 0000000..701c234 --- /dev/null +++ b/secop_psi/calcurves/u02045.inp @@ -0,0 +1,94 @@ +sens=u02045 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Special ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1050.630756 45.04769855 +1053.297236 42.05245516 +1056.244806 39.05342016 +1059.733137 36.06222675 +1063.899175 33.0598741 +1067.185557 30.95175407 +1070.44488 29.13190063 +1073.686031 27.52112241 +1077.304821 25.90565603 +1081.318833 24.31392015 +1085.899831 22.71570579 +1091.120797 21.13246108 +1095.21646 20.04532365 +1099.25013 19.05885796 +1103.690075 18.07516393 +1108.684423 17.08911271 +1114.468294 16.10391242 +1120.732593 15.11034556 +1127.796677 14.11799947 +1136.346731 13.11439279 +1146.111804 12.10721035 +1157.688754 11.09642589 +1171.574586 10.07881142 +1188.38888 9.068189459 +1209.110867 8.061325739 +1235.669728 7.050289056 +1262.685171 6.241877036 +1292.309451 5.540751806 +1318.461737 5.036025421 +1343.007458 4.637503252 +1374.655627 4.204162329 +1391.412572 4.004446465 +1410.317739 3.800525718 +1430.790755 3.599305705 +1453.549251 3.400424568 +1478.837849 3.200075378 +1507.517441 2.999753034 +1540.059086 2.799982707 +1578.161917 2.596266817 +1620.216997 2.401310572 +1671.217132 2.200829421 +1731.956012 2.000145548 +1805.237621 1.799711573 +1895.919875 1.599840015 +2013.602334 1.39823578 +2084.552769 1.299352072 +2167.597863 1.199468936 +2212.47 1.148267396 +2320.99 1.048725686 +2450.95 0.949206693 +2603.33 0.854934863 +2781.9 0.764666662 +2981.17 0.684571057 +3217.7 0.609863008 +3529.11 0.534357926 +3842.93 0.476116267 +4252.64 0.418014977 +4721.55 0.367715248 +5177.8 0.330145915 +5475.3 0.309628108 +5811 0.289733996 +6422.3 0.259932033 +7216.3 0.229984301 +8137.1 0.203829023 +9163.2 0.182018692 +10393.2 0.162291076 +11701.2 0.146010224 +13715.1 0.127904394 +16251.5 0.11202734 +20216.3 0.095631077 +24533.1 0.083949635 +29871 0.073620366 +37015 0.063682051 +43979 0.056721378 +50360 0.051941482 +56988 0.048093007 +65303 0.04394173 +73271.17112 0.041142987 +82211.60617 0.038589535 +92242.93928 0.036256857 +103498.2801 0.034123262 +116126.9803 0.032169514 +130296.615 0.030378517 +146195.2065 0.028735054 +164033.7196 0.027225553 +184048.8606 0.025837888 +206506.218 0.02456121 +231703.7876 0.023385797 +259975.9256 0.022302926 diff --git a/secop_psi/calcurves/x09629.inp b/secop_psi/calcurves/x09629.inp new file mode 100644 index 0000000..8991d33 --- /dev/null +++ b/secop_psi/calcurves/x09629.inp @@ -0,0 +1,91 @@ +sens=x09629 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K taken from CX105_X09629.TAB +119398 1.19703 +88996.1 1.30157 +68038.8 1.40772 +44561.1 1.60572 +31465.7 1.80531 +24008.1 1.99091 +18251.6 2.21197 +15485.4 2.3637 +12453.6 2.59161 +10444.3 2.80023 +9021.47 2.99586 +7846.78 3.20169 +6939.62 3.40271 +6166.87 3.61346 +5593.41 3.80386 +5070.32 4.01067 +4652.90 4.20576 +3820.51 4.71216 +3348.74 5.10062 +2893.34 5.58879 +2417.99 6.28229 +2033.69 7.07557 +1693.31 8.07788 +1448.86 9.09053 +1263.02 10.1288 +1123.84 11.1396 +1014.08 12.1481 +925.388 13.1459 +852.546 14.1343 +791.718 15.1055 +739.496 16.0780 +694.852 17.0327 +655.346 17.9951 +620.324 18.9630 +588.377 19.9540 +557.477 21.0290 +516.978 22.6596 +483.989 24.2116 +453.805 25.8564 +427.922 27.4683 +404.482 29.1244 +380.733 31.0335 +357.549 33.1816 +329.025 36.2871 +305.842 39.2933 +285.998 42.3186 +268.697 45.3678 +254.054 48.3309 +245.124 50.3304 +225.690 55.3217 +209.568 60.2852 +195.936 65.2357 +184.127 70.2031 +174.002 75.0902 +164.907 80.0684 +156.826 85.0328 +149.591 90.0104 +143.090 94.9915 +136.990 100.127 +126.663 110.094 +117.937 120.053 +110.430 130.030 +103.859 140.047 +98.1120 150.051 +93.0197 160.043 +88.4615 170.060 +84.3833 180.081 +80.6980 190.097 +77.3459 200.127 +74.3175 210.107 +71.5411 220.126 +68.9747 230.135 +66.6457 240.088 +64.4895 250.053 +62.5019 259.973 +60.6463 269.988 +58.9182 280.004 +57.3026 290.019 +55.7989 300.055 +54.3829 310.148 +53.7131 315.144 +53.0595 320.211 +52.3154 326.228 +51.8232 330.244 diff --git a/secop_psi/calcurves/x09882.inp b/secop_psi/calcurves/x09882.inp new file mode 100644 index 0000000..eccf5aa --- /dev/null +++ b/secop_psi/calcurves/x09882.inp @@ -0,0 +1,93 @@ +sens=x09882 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +30000.0 1.0 +14797.9 1.19193 +12448.4 1.29974 +10982.6 1.38715 +8547.47 1.59428 +7041.63 1.79221 +5911 2.00599 +5115.55 2.21219 +4531.17 2.41069 +4078.98 2.6051 +3727.92 2.79063 +3402.6 2.99993 +3128.16 3.21371 +2913.34 3.41252 +2734.11 3.60403 +2569.37 3.80774 +2431.76 4.0002 +2312.38 4.1892 +2096.39 4.59514 +1922.56 4.99537 +1744.81 5.50526 +1549.77 6.22335 +1383.86 7.02472 +1222.31 8.06177 +1100.15 9.09066 +1002.21 10.1355 +924.021 11.1589 +859.364 12.1735 +804.651 13.185 +758.845 14.162 +718.001 15.1556 +681.881 16.1464 +650.369 17.1142 +621.743 18.0865 +596.067 19.0522 +572.129 20.0353 +548.69 21.0945 +516.935 22.695 +490.347 24.2048 +465.176 25.8072 +442.439 27.4145 +422.126 29.018 +401.43 30.8186 +379.561 32.9565 +352.698 35.9509 +329.394 38.968 +309.122 41.9784 +291.451 44.9523 +275.567 47.9705 +266.007 49.9734 +244.814 54.9644 +226.895 59.9372 +211.835 64.8041 +198.257 69.8265 +186.421 74.8073 +175.994 79.76 +166.615 84.7645 +158.17 89.757 +150.595 94.7278 +143.445 99.88 +131.348 109.891 +121.126 119.886 +112.336 129.879 +104.767 139.858 +98.1002 149.874 +92.2394 159.86 +87.0447 169.871 +82.4096 179.84 +78.2514 189.848 +74.5122 199.87 +71.1115 209.86 +68.0321 219.844 +65.2143 229.889 +62.6401 239.915 +60.2922 249.884 +58.1205 259.897 +56.124 269.929 +54.28 279.941 +52.5664 289.964 +50.9743 300.009 +49.4965 310.068 +48.7925 315.086 +48.1168 320.089 +47.3448 326.091 +46.8369 330.089 + diff --git a/secop_psi/calcurves/x09883.inp b/secop_psi/calcurves/x09883.inp new file mode 100644 index 0000000..54a81f3 --- /dev/null +++ b/secop_psi/calcurves/x09883.inp @@ -0,0 +1,95 @@ +sens=x09883 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +120000 0.9 +86666 1 +50697.2 1.19172 +40559.1 1.2997 +34512.9 1.38772 +25063.8 1.59429 +19577.5 1.79224 +15681.2 2.00579 +13072.2 2.21208 +11222.3 2.41069 +9847.35 2.6034 +8791.26 2.7906 +7846.7 3.00005 +7069.93 3.21374 +6474.44 3.41239 +5988.04 3.60402 +5544.72 3.80786 +5182.73 4.00017 +4871.97 4.1891 +4322.43 4.59508 +3890.99 4.99554 +3458.11 5.50564 +2996.38 6.22351 +2615.51 7.0249 +2254.83 8.06193 +1988.83 9.09068 +1780.29 10.1358 +1617.51 11.1589 +1484.58 12.1733 +1373.99 13.1848 +1282.45 14.1616 +1202 15.1558 +1131.5 16.1467 +1070.43 17.1145 +1015.81 18.0864 +967.127 19.0523 +922.097 20.0348 +878.301 21.0942 +819.492 22.695 +771.027 24.2035 +725.442 25.8078 +684.833 27.4152 +648.656 29.0175 +612.282 30.8184 +574.104 32.9566 +527.93 35.951 +488.247 38.9681 +454.161 41.9788 +424.745 44.9516 +398.466 47.9702 +382.78 49.9734 +348.448 54.9642 +319.762 59.9372 +295.798 64.8036 +274.497 69.8262 +256.115 74.8066 +240.064 79.7602 +225.652 84.764 +212.863 89.7568 +201.482 94.7284 +190.788 99.8804 +172.849 109.891 +157.882 119.887 +145.172 129.88 +134.301 139.858 +124.826 149.873 +116.577 159.861 +109.293 169.871 +102.863 179.841 +97.1221 189.85 +91.9646 199.871 +87.3432 209.859 +83.1778 219.842 +79.3655 229.891 +75.9226 239.917 +72.7733 249.883 +69.8839 259.896 +67.2351 269.927 +64.7933 279.942 +62.5416 289.965 +60.4496 300.008 +58.5077 310.066 +57.5961 315.084 +56.712 320.09 +55.6983 326.087 +55.0466 330.089 + diff --git a/secop_psi/calcurves/x10045m.inp b/secop_psi/calcurves/x10045m.inp new file mode 100644 index 0000000..4c303bb --- /dev/null +++ b/secop_psi/calcurves/x10045m.inp @@ -0,0 +1,89 @@ +sens=x10045m +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +14660.90306 1.049887785 +13754.24495 1.275855927 +12674.48887 1.550459363 +11894.1154 1.75557277 +11040.01571 1.987821044 +10422.80643 2.162412567 +9785.229203 2.35233857 +8788.251677 2.6713522 +7989.704459 2.954705632 +7286.655618 3.239907747 +6732.86304 3.495353785 +6251.098886 3.744333505 +5847.432327 3.975506155 +5191.478606 4.414432834 +4648.86278 4.854857074 +4096.7535 5.407680622 +3531.813507 6.147281193 +3061.567702 6.969085764 +2632.586667 7.985907803 +2308.809844 9.015178241 +2050.115691 10.08695457 +1856.065086 11.1032285 +1697.939632 12.11052242 +1566.241253 13.11988767 +1456.905801 14.09704534 +1361.213594 15.09293905 +1277.653195 16.08998776 +1205.321893 17.06507732 +1140.225621 18.05262353 +1082.497021 19.031083 +1029.299845 20.03345265 +978.7301404 21.09197235 +909.7052218 22.72586918 +853.6474417 24.24230862 +800.4013622 25.88646126 +754.2905397 27.49036598 +712.4078269 29.14169598 +670.7126389 30.97229099 +627.7691435 33.09676743 +575.1713405 36.13175392 +530.9271979 39.13507843 +493.6372768 42.07116508 +460.4204351 45.08211136 +431.344044 48.07953453 +413.5443388 50.11058044 +375.6941402 55.06404877 +343.7844255 60.05997467 +316.5557099 65.08597946 +293.3070433 70.08469391 +273.2720797 75.05005646 +255.8364317 79.95571518 +240.2177908 84.94446182 +226.3417365 89.90671921 +213.7399247 94.94441986 +202.290575 100.0309563 +182.836437 110.0102921 +166.6070332 120.016922 +152.8936908 130.0197296 +141.1122505 140.0428009 +130.9833926 150.0209808 +122.1217608 160.0074768 +114.3245474 170.0121689 +107.4602859 179.9772949 +101.3318808 189.9621048 +95.84227734 199.9853439 +90.91929929 209.9731979 +87.21012645 218.2335968 +82.43730345 229.9926758 +78.78173797 239.9560928 +75.43740052 249.9537582 +72.39056663 259.9496765 +69.58110202 269.9509277 +66.99775356 279.9595947 +64.61902665 289.9429169 +62.42460824 299.9438019 +60.37761496 309.9502869 +59.41308694 314.9428101 +58.49246424 319.9327393 +57.41458757 325.8934326 +56.75585142 329.7308502 + + diff --git a/secop_psi/calcurves/x112329.inp b/secop_psi/calcurves/x112329.inp new file mode 100644 index 0000000..271bf77 --- /dev/null +++ b/secop_psi/calcurves/x112329.inp @@ -0,0 +1,99 @@ +sens=x112329 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +89142.1703 1.200567906 +69756.30956 1.299726662 +56299.04998 1.39910475 +39055.65345 1.599404674 +29070.48914 1.799887265 +22786.56777 1.999681601 +18486.70026 2.201913256 +15473.84207 2.401563555 +13247.65352 2.600758227 +11542.82928 2.800292165 +10215.559 2.998532253 +9125.484214 3.202383678 +8267.77095 3.399449556 +7552.464078 3.597408189 +6941.826529 3.798016061 +6428.572179 3.996259006 +5988.034862 4.193414147 +5366.397978 4.532203066 +4768.173509 4.941644789 +4189.636048 5.455809034 +3592.000954 6.179850093 +3104.716682 6.998395861 +2665.508835 8.028108554 +2346.079049 9.056732407 +2101.708486 10.08800014 +1908.091829 11.12133508 +1752.794259 12.14179193 +1624.689063 13.15296132 +1516.812163 14.15585943 +1424.231359 15.1531127 +1344.387831 16.13787912 +1273.871605 17.11965315 +1211.309171 18.09703319 +1154.846301 19.07766753 +1103.921024 20.05529199 +1052.981142 21.1346284 +986.7171657 22.71433359 +927.9249233 24.31466963 +875.4389362 25.93274948 +828.8009991 27.54612881 +786.6649931 29.16923178 +744.5069595 30.98184619 +700.792715 33.09387042 +646.8364963 36.09507055 +600.5811407 39.09489925 +560.4481002 42.09708199 +525.377947 45.09174849 +494.4006281 48.08492173 +475.6336023 50.08881641 +434.4477781 55.0733271 +399.6566186 60.06356099 +369.9489125 65.0537086 +344.2596673 70.0465929 +321.7943556 75.03332532 +301.9837292 80.03961366 +284.368169 85.03309082 +268.6411914 90.0260108 +254.4822477 95.00921828 +241.6652105 100.0202049 +219.4190564 110.0051458 +200.7139238 120.0128959 +184.7960577 130.0168673 +171.0903263 140.0139572 +159.1698841 150.0164129 +148.7294938 160.0135216 +139.5126884 170.0051287 +131.3260767 180.0027562 +124.0083173 190.0145347 +117.4307427 200.0144674 +111.500317 210.0236889 +106.1507312 220.017421 +101.2842764 230.0253584 +96.83836183 240.0268434 +92.78495266 250.0178855 +89.04571021 260.0345274 +85.62639515 270.0290475 +82.45445183 280.0436828 +79.53567751 290.0347799 +76.82669925 300.0468659 +74.31618932 310.0293852 +71.97188533 320.0430653 +69.78598886 330.0545246 +67.84186668 339.582016 +65.94582758 349.5073259 +64.16680814 359.4239972 +62.49876699 369.3274652 +60.92827173 379.2622311 +59.44584968 389.1984168 +58.04861255 399.1443079 +56.72434492 409.1077322 +55.47983669 419.0496781 +54.883449 424.0120205 diff --git a/secop_psi/calcurves/x112386.inp b/secop_psi/calcurves/x112386.inp new file mode 100644 index 0000000..5d0466b --- /dev/null +++ b/secop_psi/calcurves/x112386.inp @@ -0,0 +1,99 @@ +sens=x112386 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +75235.3454 1.199644516 +59258.1047 1.298706572 +48201.40047 1.396487194 +33667.3558 1.599686036 +25178.87485 1.803069488 +19952.04196 1.999622096 +16300.3063 2.200610627 +13739.70182 2.397394941 +11702.29391 2.609731314 +10303.83555 2.799972866 +9091.640475 3.009509139 +8187.563591 3.204737098 +7434.138874 3.403114688 +6808.916945 3.600406253 +6263.142776 3.805144321 +5809.824779 4.005251564 +5440.988115 4.192344876 +4687.893403 4.674721885 +4196.13901 5.087796052 +3715.877589 5.604741894 +3215.942336 6.324957036 +2798.183621 7.151790475 +2417.611965 8.1928019 +2137.127368 9.236984089 +1923.022058 10.27366513 +1753.380794 11.30586287 +1617.546116 12.31451532 +1505.031886 13.31120974 +1410.310851 14.29409158 +1328.604761 15.26777599 +1257.545586 16.23153677 +1194.623645 17.19370267 +1138.378433 18.15126832 +1087.491823 19.11148268 +1040.919919 20.07965314 +994.2630117 21.14838796 +932.9254038 22.72792141 +878.803367 24.31559101 +830.6461901 25.91170676 +787.5846333 27.50517579 +748.7984017 29.11053211 +709.608913 30.90578852 +668.8287123 33.00162874 +618.0690852 35.99563958 +574.5735621 38.99130849 +536.7528511 41.99035495 +503.5809513 44.98698452 +474.2555693 47.98784506 +456.5445997 49.9848261 +417.4393427 54.98213641 +384.422269 59.98060124 +356.1939103 64.97563009 +331.7746054 69.96664443 +310.4083475 74.96068359 +291.5713231 79.9524287 +274.7974849 84.94986024 +259.7614644 89.95402294 +246.2591938 94.95160858 +234.0404962 99.94793726 +212.7536043 109.9335288 +194.8364763 119.9403162 +179.5548691 129.9457315 +166.4009588 139.9410344 +154.9615326 149.926413 +144.9131788 159.929423 +136.0331908 169.9311152 +128.1342905 179.9412122 +121.0685669 189.9534338 +114.7318681 199.9610281 +109.0119616 209.9697167 +103.8374207 219.9769745 +99.12560993 229.9903248 +94.83213579 239.9779072 +90.90012437 249.9899424 +87.28705477 260.0015984 +83.97104744 270.0040068 +80.90474377 280.0036934 +78.06940894 290.0202332 +75.44133847 300.0213497 +72.99499791 310.0327037 +70.7239669 320.0537277 +68.60601575 330.0608826 +66.71722926 339.5816055 +64.87770723 349.5065313 +63.14954047 359.4296945 +61.53104082 369.3312958 +60.00465951 379.2632584 +58.56504898 389.200785 +57.20723281 399.1482925 +55.92396718 409.1081871 +54.71412522 419.0472203 +54.13418334 424.0160223 diff --git a/secop_psi/calcurves/x12905.inp b/secop_psi/calcurves/x12905.inp new file mode 100644 index 0000000..41a5889 --- /dev/null +++ b/secop_psi/calcurves/x12905.inp @@ -0,0 +1,157 @@ +sens=x12905 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=30uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +12126.7 1.4 +10474.9 1.5 +9167.68 1.6 +8118.49 1.7 +7266.4 1.8 +6566.56 1.9 +5984.89 2 +5495.55 2.1 +5079.27 2.2 +4721.32 2.3 +4410.66 2.4 +4138.66 2.5 +3898.73 2.6 +3685.6 2.7 +3495.13 2.8 +3323.95 2.9 +3169.36 3 +3029.1 3.1 +2901.33 3.2 +2784.5 3.3 +2677.29 3.4 +2578.6 3.5 +2487.48 3.6 +2403.11 3.7 +2324.8 3.8 +2251.92 3.9 +2183.95 4 +2060.92 4.2 +1952.57 4.4 +1856.5 4.6 +1770.74 4.8 +1693.73 5 +1624.2 5.2 +1561.13 5.4 +1503.63 5.6 +1451.01 5.8 +1402.66 6 +1297.34 6.5 +1209.65 7 +1135.4 7.5 +1071.67 8 +1016.26 8.5 +967.592 9 +924.447 9.5 +885.899 10 +851.205 10.5 +819.79 11 +791.181 11.5 +764.995 12 +740.91 12.5 +718.686 13 +698.12 13.5 +678.996 14 +661.11 14.5 +644.343 15 +628.606 15.5 +613.803 16 +599.837 16.5 +586.63 17 +574.117 17.5 +562.238 18 +550.939 18.5 +540.174 19 +529.9 19.5 +520.081 20 +501.678 21 +484.734 22 +469.064 23 +454.514 24 +440.955 25 +428.28 26 +416.397 27 +405.227 28 +394.702 29 +384.763 30 +375.36 31 +366.447 32 +357.984 33 +349.935 34 +342.27 35 +334.959 36 +327.978 37 +321.303 38 +314.915 39 +308.793 40 +297.283 42 +286.654 44 +276.805 46 +267.65 48 +259.116 50 +251.14 52 +243.668 54 +236.652 56 +230.05 58 +223.825 60 +209.71 65 +197.346 70 +186.416 75 +181.699 77.35 +176.668 80 +167.922 85 +160.02 90 +152.839 95 +146.283 100 +140.272 105 +134.739 110 +129.628 115 +124.893 120 +120.493 125 +116.393 130 +112.564 135 +108.98 140 +105.619 145 +102.459 150 +99.4844 155 +96.6792 160 +94.0294 165 +91.523 170 +89.1489 175 +86.8973 180 +84.7593 185 +82.7268 190 +80.7927 195 +78.9503 200 +77.1935 205 +75.5169 210 +73.9154 215 +72.3845 220 +70.9197 225 +69.5173 230 +68.1735 235 +66.8851 240 +65.6488 245 +64.4619 250 +63.3217 255 +62.2255 260 +61.1711 265 +60.1563 270 +59.5364 273.15 +59.1791 275 +58.2376 280 +57.3299 285 +56.4544 290 +55.6095 295 +54.7938 300 +54.0058 305 +53.2442 310 +52.5078 315 +51.7955 320 +51.106 325 diff --git a/secop_psi/calcurves/x14667.inp b/secop_psi/calcurves/x14667.inp new file mode 100644 index 0000000..82854b7 --- /dev/null +++ b/secop_psi/calcurves/x14667.inp @@ -0,0 +1,55 @@ +sens=x14667 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +27000 1.1 +15213.49 1.407016 +13018.43 1.5035 +11293.78 1.601262 +7083.645 2.006758 +5077.505 2.408741 +3940.486 2.808387 +3226.933 3.201544 +2720.156 3.609121 +2364.470 4.004881 +2216.706 4.209672 +1979.804 4.607776 +1639.450 5.406221 +1408.674 6.202614 +1238.024 7.018838 +1075.552 8.090369 +965.5173 9.070532 +878.9260 10.05435 +811.1776 11.00538 +702.1754 13.01645 +660.2551 14.00823 +590.8182 16.03379 +537.7225 18.01233 +493.8470 20.03132 +450.0727 22.50681 +413.7147 25.02309 +383.6522 27.51456 +357.7065 30.04403 +335.9463 32.50384 +316.5779 35.01109 +283.8034 40.1232 +237.4676 50.04377 +204.4723 60.18116 +180.2791 70.24019 +160.4228 81.00268 +146.9475 90.11372 +133.9208 100.8123 +111.2495 125.8419 +95.20267 151.2575 +83.41541 176.6167 +74.72184 200.9261 +67.59927 226.0847 +61.54781 252.7727 +57.69399 273.2733 +57.65295 273.5096 +53.45707 300.0828 +49 335 + diff --git a/secop_psi/calcurves/x15430.inp b/secop_psi/calcurves/x15430.inp new file mode 100644 index 0000000..385fb8a --- /dev/null +++ b/secop_psi/calcurves/x15430.inp @@ -0,0 +1,91 @@ +sens=x15430 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K taken from CX105_X15430.DAT +8.02078780541574E+04 1.19926186921276E+00 +6.14139368328991E+04 1.29972402782349E+00 +4.82836517677421E+04 1.40276064639827E+00 +3.21912379797132E+04 1.61135381317348E+00 +2.37938220702228E+04 1.80381366212765E+00 +1.83368668808541E+04 2.00210132082254E+00 +1.47093551817249E+04 2.19907621164979E+00 +1.20425511091897E+04 2.40555751614868E+00 +1.02340081043899E+04 2.59791204629072E+00 +8.79797103185852E+03 2.80007601316587E+00 +7.68449984005811E+03 3.00270014410957E+00 +6.81190352479034E+03 3.20467220705619E+00 +6.11430217307274E+03 3.40391064928415E+00 +5.52909981800335E+03 3.60679830915368E+00 +5.06890772119676E+03 3.79783445603294E+00 +4.66224216985394E+03 3.99655279403998E+00 +4.30051038279819E+03 4.20429609764068E+00 +3.72990959611631E+03 4.61322948322824E+00 +3.30423925340383E+03 5.01302380434218E+00 +2.88793616128612E+03 5.51858744997818E+00 +2.46168388158203E+03 6.22427377402779E+00 +2.11243116466543E+03 7.02891378357641E+00 +1.80166255292316E+03 8.03600374373340E+00 +1.57584121939691E+03 9.04623827036540E+00 +1.40453174441237E+03 1.00577424310194E+01 +1.27010923897593E+03 1.10668115814473E+01 +1.16198220066275E+03 1.20730868339570E+01 +1.07285927836138E+03 1.30771658552812E+01 +9.98062823789405E+02 1.40744152993626E+01 +9.33918455883933E+02 1.50716521818097E+01 +8.78714544105495E+02 1.60661956628711E+01 +8.30121639516028E+02 1.70616180705450E+01 +7.87164124625015E+02 1.80549697699059E+01 +7.48975000685355E+02 1.90496803126378E+01 +7.14504413960394E+02 2.00465571153869E+01 +6.80531377175080E+02 2.11425885798886E+01 +6.36871997728904E+02 2.27313462586452E+01 +5.98907282130007E+02 2.43184862198313E+01 +5.64277098224651E+02 2.59689940196843E+01 +5.32906382453567E+02 2.76654604567313E+01 +5.05411088706558E+02 2.93349055090444E+01 +4.78145810854197E+02 3.11932959015692E+01 +4.50500704214300E+02 3.33287076133108E+01 +4.16725007835327E+02 3.63378329309277E+01 +3.88112477749629E+02 3.93214873932549E+01 +3.63552526962929E+02 4.22872180122789E+01 +3.41984500846718E+02 4.52643831879735E+01 +3.22783959307462E+02 4.82509519578583E+01 +3.11371313723088E+02 5.02392535493845E+01 +2.85991470535089E+02 5.52428200738494E+01 +2.64473097014548E+02 6.02593807561679E+01 +2.46177718199911E+02 6.52698771847913E+01 +2.30345338068543E+02 7.02783866747736E+01 +2.16656593558811E+02 7.52745807406005E+01 +2.04478984079467E+02 8.02642735215022E+01 +1.93736962345888E+02 8.52607479669191E+01 +1.84016028908552E+02 9.02563135347960E+01 +1.75345276735820E+02 9.52494181048757E+01 +1.67462461833253E+02 1.00238329980190E+02 +1.53694422681765E+02 1.10215095998946E+02 +1.42067762519612E+02 1.20191489312268E+02 +1.32096005964589E+02 1.30190187440918E+02 +1.23479621030902E+02 1.40184818984845E+02 +1.15927821048394E+02 1.50179680073915E+02 +1.09282550856541E+02 1.60176584626478E+02 +1.03366771937276E+02 1.70169786231164E+02 +9.80907149025608E+01 1.80166121128079E+02 +9.33579550609513E+01 1.90167021816104E+02 +8.90492654370556E+01 2.00161493488610E+02 +8.51830350960010E+01 2.10158077481660E+02 +8.16514117424743E+01 2.20146267834828E+02 +7.84143472043939E+01 2.30159591256515E+02 +7.54485891468822E+01 2.40160534820618E+02 +7.27232779428802E+01 2.50145571645409E+02 +7.02094719234167E+01 2.60166495245123E+02 +6.78964625253723E+01 2.70153862870138E+02 +6.57328545738547E+01 2.80165094239621E+02 +6.37486942680804E+01 2.90153362928818E+02 +6.18860368536458E+01 3.00161984068307E+02 +6.01620283716467E+01 3.10077429820713E+02 +5.93259450809037E+01 3.15121778786237E+02 +5.85314099640211E+01 3.20129769977735E+02 +5.76085259564935E+01 3.26124000571498E+02 +5.70105489705977E+01 3.30115798315728E+02 diff --git a/secop_psi/calcurves/x15445.inp b/secop_psi/calcurves/x15445.inp new file mode 100644 index 0000000..9cbb21f --- /dev/null +++ b/secop_psi/calcurves/x15445.inp @@ -0,0 +1,91 @@ +sens=x15445 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K taken CX105_X15445.DAT +1.03663692195452E+05 1.19922708241133E+00 +7.82929444598166E+04 1.29967827955901E+00 +6.07351984750061E+04 1.40260681202042E+00 +3.96062998267336E+04 1.61119714230585E+00 +2.87905530415879E+04 1.80372204472195E+00 +2.18629287361491E+04 2.00220629287984E+00 +1.73214596624174E+04 2.19907467265660E+00 +1.40290093024266E+04 2.40557354874123E+00 +1.18138083223071E+04 2.59779931792367E+00 +1.00673009204172E+04 2.80035677250285E+00 +8.73030568702768E+03 3.00316707753526E+00 +7.68811708155114E+03 3.20444385854971E+00 +6.85852994379416E+03 3.40387573963729E+00 +6.16951650668095E+03 3.60675593440543E+00 +5.62871999332660E+03 3.79796434456449E+00 +5.15518902555382E+03 3.99664717738620E+00 +4.73377323417849E+03 4.20442601784734E+00 +4.07491374476177E+03 4.61300769171663E+00 +3.58682218230114E+03 5.01286521310086E+00 +3.11375249112620E+03 5.51819357871921E+00 +2.63377261353502E+03 6.22418581699209E+00 +2.24288344490988E+03 7.02876017197527E+00 +1.89872473655448E+03 8.03607620157180E+00 +1.65119449479425E+03 9.04642125378179E+00 +1.46430968930560E+03 1.00556747968435E+01 +1.31872975081188E+03 1.10678142140491E+01 +1.20222027391186E+03 1.20727208581205E+01 +1.10652680914153E+03 1.30762219701199E+01 +1.02643987348072E+03 1.40752553682745E+01 +9.58289649414924E+02 1.50723200769265E+01 +8.99567850604689E+02 1.60663838599566E+01 +8.48273102719687E+02 1.70615918075026E+01 +8.03022326746988E+02 1.80557117632900E+01 +7.62700602137405E+02 1.90503435105753E+01 +7.26457322386649E+02 2.00464287113723E+01 +6.90802185406359E+02 2.11412082603040E+01 +6.45312859178365E+02 2.27314549957707E+01 +6.05841088000000E+02 2.43181957214012E+01 +5.69768929398171E+02 2.59653135702073E+01 +5.37201957072777E+02 2.76654664480374E+01 +5.08789616254156E+02 2.93351433139853E+01 +4.80704571750379E+02 3.11936380631194E+01 +4.52225144997964E+02 3.33288477948113E+01 +4.17622900363636E+02 3.63385022625123E+01 +3.88390801935371E+02 3.93220119994832E+01 +3.63370825739839E+02 4.22867559099253E+01 +3.41408852367983E+02 4.52647191466272E+01 +3.22004390688539E+02 4.82516736291202E+01 +3.10353754348958E+02 5.02393831202895E+01 +2.84585541150920E+02 5.52423794654486E+01 +2.62925682660567E+02 6.02604374534293E+01 +2.44502328145254E+02 6.52699594457839E+01 +2.28673177009879E+02 7.02802849324032E+01 +2.14850549747176E+02 7.52751439939228E+01 +2.02669670592098E+02 8.02655767573252E+01 +1.91843143511064E+02 8.52605866818749E+01 +1.82240574279286E+02 9.02575230820226E+01 +1.73509178707173E+02 9.52481989907832E+01 +1.65633512937257E+02 1.00239289510384E+02 +1.51913139058852E+02 1.10216010229743E+02 +1.40369221866166E+02 1.20191844011587E+02 +1.30454431928350E+02 1.30190596592163E+02 +1.21902893400545E+02 1.40185967488261E+02 +1.14427391306593E+02 1.50180736146581E+02 +1.07841715774667E+02 1.60177181332337E+02 +1.01973240130900E+02 1.70170573127481E+02 +9.67555286609950E+01 1.80166550641501E+02 +9.20634113629487E+01 1.90167814889348E+02 +8.78162976663831E+01 2.00161352186883E+02 +8.39774121618173E+01 2.10158715110274E+02 +8.04898236151079E+01 2.20148052884611E+02 +7.72984591281453E+01 2.30161425121644E+02 +7.43689257672993E+01 2.40161150062930E+02 +7.16792733556359E+01 2.50147951158957E+02 +6.92083075151281E+01 2.60166871938729E+02 +6.69102950743997E+01 2.70155334049860E+02 +6.47871629954459E+01 2.80162754990848E+02 +6.28241384839240E+01 2.90155687566990E+02 +6.09833559273582E+01 3.00159097604503E+02 +5.92841872681297E+01 3.10081971433725E+02 +5.84676060296350E+01 3.15125593820288E+02 +5.76769907896074E+01 3.20126803713554E+02 +5.67711054409776E+01 3.26125116617214E+02 +5.61835477156447E+01 3.30116348398798E+02 diff --git a/secop_psi/calcurves/x17627.inp b/secop_psi/calcurves/x17627.inp new file mode 100644 index 0000000..a15e8d8 --- /dev/null +++ b/secop_psi/calcurves/x17627.inp @@ -0,0 +1,58 @@ +sens=x17627 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +35.5745979 325 +35.64921737 324 +36.83155035 309 +38.14081773 294 +39.59588005 279 +41.21734373 264 +43.03283913 249 +45.07544262 234 +47.38381238 219 +50.00921069 204 +53.01759216 189 +56.49239668 174 +60.54245115 159 +65.31606311 144 +71.01825549 129 +77.95428634 114 +86.59244451 99 +97.69897334 84 +112.621161 69 +125.1670452 59.5 +141.4881278 50 +152.2684756 45 +165.1657524 40 +180.929757 35 +200.7150787 30 +221.8400733 25.8 +245.4821962 22.1 +271.6376721 18.9 +299.9576897 16.2 +331.0548845 13.9 +366.2013998 11.9 +402.7263073 10.3 +444.1707955 8.9 +490.5575905 7.7 +541.1030726 6.7 +593.4580155 5.9 +652.4842006 5.2 +717.7777636 4.6 +787.6621925 4.1 +858.3412811 3.7 +948.0691174 3.3 +1033.213329 3 +1140.328556 2.7 +1228.655135 2.5 +1335.580286 2.3 +1467.87813 2.1 +1546.678327 2 +1739.40214 1.8 +2169.002237 1.5 +2372.684537 1.4 +3360.000000 1.0 diff --git a/secop_psi/calcurves/x2060.inp b/secop_psi/calcurves/x2060.inp new file mode 100644 index 0000000..1198474 --- /dev/null +++ b/secop_psi/calcurves/x2060.inp @@ -0,0 +1,91 @@ +sens=x2060 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=Cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +68000 1.0 +44881.28899 1.2 +36817.49567 1.309 +31135.18899 1.403 +21987.20345 1.604 +16114.99662 1.8 +12258.05661 1.996 +9918.666931 2.168 +7915.149596 2.385 +6521.88091 2.604 +5617.346366 2.796 +4894.762604 3 +4329.19174 3.206 +3898.635478 3.402 +3541.829 3.6 +3258.390355 3.79 +2984.005729 4.008 +2766.634389 4.208 +2446.004452 4.583 +2155.218862 5.037 +1900.670937 5.555 +1642.521599 6.262 +1428.551021 7.074 +1234.644114 8.097 +1092.227708 9.12 +980.9691976 10.168 +894.9346698 11.189 +825.2867872 12.198 +767.6953785 13.194 +719.0106414 14.182 +677.2773451 15.159 +640.4098623 16.138 +608.3465142 17.103 +579.6429399 18.071 +553.709856 19.038 +529.6610169 20.026 +506.2778453 21.091 +474.856356 22.692 +448.7524681 24.208 +424.6284501 25.792 +402.9983074 27.367 +383.0390317 29.007 +363.2532965 30.805 +342.3719529 32.938 +320.7389826 35.453 +295.3162837 38.904 +276.640478 41.85 +260.0577328 44.825 +245.1701481 47.852 +236.2055933 49.856 +216.3050767 54.918 +199.7722596 59.894 +185.5735149 64.889 +173.2922053 69.877 +162.4378675 74.916 +153.0620054 79.837 +144.6319839 84.804 +137.0163323 89.804 +127.6014751 96.795 +120.8444611 102.471 +109.8273514 113.175 +103.8928657 119.86 +96.20883586 129.725 +89.42109592 139.773 +83.5152527 149.804 +78.34370646 159.81 +73.77685637 169.797 +69.71875787 179.768 +66.09775467 189.689 +62.84505418 199.59 +59.90371916 209.464 +57.26569688 219.289 +54.85259174 229.086 +52.65354288 238.856 +50.64578201 248.587 +48.80362619 258.316 +47.10439353 268.003 +45.54155793 277.656 +44.10190663 287.254 +42.75989139 296.854 +41.52116147 306.381 +40.92174382 311.132 +40.35810065 315.861 +39.70434603 321.478 +39.27574259 325.239 + diff --git a/secop_psi/calcurves/x22297.inp b/secop_psi/calcurves/x22297.inp new file mode 100644 index 0000000..9da5a10 --- /dev/null +++ b/secop_psi/calcurves/x22297.inp @@ -0,0 +1,91 @@ +sens=x22297 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +65060.61128 1.233320025 +54993.00227 1.303009016 +44399.15409 1.401409469 +30649.13308 1.60332219 +23095.27631 1.793231363 +17865.83619 2.001346609 +14418.31054 2.207258103 +12100.42022 2.40177158 +10326.75577 2.602290165 +8975.126761 2.802519876 +7930.578934 3.00158977 +7074.760912 3.204268115 +6402.039837 3.400563606 +5800.981528 3.612872577 +5324.901665 3.814377368 +4903.251335 4.024987327 +4598.814261 4.200932779 +4091.240357 4.556267234 +3627.406694 4.966859976 +3180.323325 5.481732172 +2716.701848 6.206633746 +2382.269762 6.917542676 +2035.041446 7.936900108 +1783.603138 8.953233055 +1592.16355 9.967971211 +1442.131732 10.97690832 +1320.877366 11.98088778 +1220.802267 12.98310853 +1136.214914 13.98217849 +1064.239882 14.97489564 +1001.489735 15.97314739 +946.529932 16.96521363 +897.6736343 17.96022645 +853.9248969 18.95695655 +814.5034899 19.95563142 +775.2268459 21.06320668 +724.4968102 22.68062825 +680.084991 24.31205437 +641.5290501 25.927304 +607.4007249 27.53257371 +577.1148324 29.12684663 +546.72418 30.91494356 +515.3331934 32.98870994 +476.4490429 35.96056596 +443.2040458 38.9374948 +414.3241266 41.92856568 +389.005439 44.93857443 +366.6283094 47.96337305 +353.0367019 49.99223038 +323.3475299 55.05208565 +298.5189123 60.10212622 +277.3657367 65.14145406 +259.1887619 70.16816086 +243.2991383 75.19348306 +229.3705199 80.20786045 +216.9955961 85.21685873 +205.9138913 90.22907878 +195.9516476 95.23326389 +186.9275887 100.2418915 +171.0723194 110.3318643 +157.9774621 120.2173689 +146.6536864 130.2270054 +136.8711836 140.1966901 +128.3220484 150.1784856 +120.7991796 160.164249 +114.1131517 170.1510299 +108.1455965 180.1275392 +102.7945523 190.1061773 +97.95499217 200.107688 +93.57891983 210.0893312 +89.59453257 220.0863056 +85.96208692 230.0710467 +82.6201836 240.0884142 +79.56075041 250.0890894 +76.74054858 260.0941076 +74.13819022 270.0990715 +71.72566241 280.0847875 +69.48132606 290.102323 +67.42099473 300.0202871 +65.47864368 309.9996764 +64.56220411 314.94794 +63.45603948 321.2119058 +62.18066035 328.7136629 +61.36276302 333.7031159 diff --git a/secop_psi/calcurves/x22644k.inp b/secop_psi/calcurves/x22644k.inp new file mode 100644 index 0000000..275db6d --- /dev/null +++ b/secop_psi/calcurves/x22644k.inp @@ -0,0 +1,91 @@ +sens=x22644k +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +15490.92284 1.200721786 +12954.34936 1.298891069 +11076.20151 1.39943304 +8520.068684 1.599937175 +6861.930851 1.800442288 +5720.174664 2.00019607 +4893.450319 2.199969718 +4267.228514 2.400603038 +3782.811454 2.600633851 +3392.064692 2.802896079 +3088.314838 2.998094443 +2829.143213 3.198715722 +2612.128987 3.399484728 +2426.727308 3.602485184 +2270.720446 3.800490872 +2135.786463 3.998439887 +2016.497011 4.197156641 +1806.950796 4.621681363 +1647.078313 5.030523733 +1488.052584 5.540281439 +1316.419467 6.25898771 +1170.596974 7.076289652 +1035.166504 8.098257051 +932.58957 9.126725378 +852.5687804 10.14989046 +787.9348812 11.1730348 +735.021783 12.18383727 +690.2662946 13.19332605 +652.4786656 14.18572326 +619.4583612 15.17662749 +590.5019897 16.16073706 +564.7767246 17.14074973 +541.6403519 18.11815111 +520.7037071 19.09726974 +501.6387006 20.07459081 +482.4285499 21.15478955 +457.2366045 22.73367042 +434.7225473 24.3324661 +413.7720569 26.00456745 +395.5849007 27.6242651 +378.8673435 29.26937996 +361.8337601 31.1270676 +344.3419371 33.25128091 +322.7895815 36.23921994 +304.3358536 39.19190152 +287.5609455 42.22413357 +272.9208287 45.23979471 +260.0010408 48.23143543 +252.1127299 50.22289595 +234.5726345 55.19735291 +219.515172 60.20938313 +206.5074101 65.20351886 +195.1473491 70.19674071 +185.0886532 75.18080073 +176.0899553 80.17225392 +168.0303614 85.16939558 +160.7208948 90.16147891 +154.1269009 95.15586553 +148.0544602 100.1540934 +137.4049343 110.1362537 +128.24325 120.1370202 +120.3276383 130.13073 +113.3847137 140.1252385 +107.2580994 150.1234354 +101.7952486 160.1165839 +96.90661397 170.1168663 +92.49554787 180.1290119 +88.51495284 190.1274068 +84.89564499 200.1278156 +81.58162485 210.1345051 +78.55077213 220.1302898 +75.7862976 230.1260865 +73.21691146 240.1285934 +70.85353186 250.1146862 +68.6579939 260.1210378 +66.6252623 270.1122296 +64.72753475 280.1125128 +62.9861357 289.9881766 +61.34094329 299.992933 +59.78554947 310.0918565 +59.04516028 315.0849843 +58.33273711 320.106081 +57.5088645 326.0894698 +56.9937258 329.9611435 diff --git a/secop_psi/calcurves/x23167.inp b/secop_psi/calcurves/x23167.inp new file mode 100644 index 0000000..2679a43 --- /dev/null +++ b/secop_psi/calcurves/x23167.inp @@ -0,0 +1,93 @@ +sens=x23167 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +13256 1.2667 +12339.6 1.3079 +10612.8 1.39837 +7934.84 1.60472 +6312.15 1.80457 +5224.59 2.00258 +4433.62 2.2052 +3863.64 2.40137 +3426.28 2.59562 +3067.44 2.79823 +2778.05 3.00127 +2541.71 3.20258 +2346.56 3.40243 +2184.08 3.59835 +2042.33 3.79824 +1918.02 4.00071 +1813.42 4.19502 +1694.48 4.45245 +1537 4.86219 +1381.08 5.37833 +1215.82 6.10426 +1077.33 6.92914 +950.998 7.9563 +856.643 8.98452 +783.22 10.0107 +724.578 11.0289 +676.273 12.0438 +635.753 13.0532 +601.137 14.0575 +571.214 15.0536 +544.709 16.0521 +521.305 17.0418 +500.196 18.0334 +481.084 19.0239 +463.678 20.0156 +446.061 21.113 +423.091 22.7127 +402.738 24.3079 +384.836 25.8768 +368.433 27.4697 +353.481 29.0617 +338.199 30.8555 +322.143 32.9398 +301.914 35.9259 +284.313 38.9125 +268.731 41.9037 +254.904 44.8993 +242.513 47.8951 +234.929 49.9002 +218.03 54.9006 +203.575 59.8998 +191.007 64.8988 +179.981 69.9006 +170.203 74.9064 +161.499 79.9104 +153.673 84.9088 +146.601 89.9149 +140.162 94.9156 +134.278 99.9209 +123.944 109.916 +115.077 119.911 +107.406 129.936 +100.731 139.921 +94.837 149.926 +89.5989 159.934 +84.9318 169.936 +80.7333 179.94 +76.9532 189.936 +73.4975 200.03 +70.4028 209.958 +67.5519 219.963 +64.9471 229.952 +62.5757 239.834 +60.3399 249.974 +58.2975 259.981 +56.4271 269.906 +54.6748 279.898 +53.0525 289.876 +51.5345 299.863 +50.1175 309.88 +49.465 314.737 +48.6236 321.219 +47.6911 328.739 +47.0917 333.74 + + diff --git a/secop_psi/calcurves/x28611.inp b/secop_psi/calcurves/x28611.inp new file mode 100644 index 0000000..3fa9b26 --- /dev/null +++ b/secop_psi/calcurves/x28611.inp @@ -0,0 +1,63 @@ +sens=x28611 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +24.49627249 780 +48.99254498 325 +49.1122691 324 +50.99880502 309 +53.08355502 294 +55.39620325 279 +57.973564 264 +60.86112838 249 +64.11357589 234 +67.80004779 219 +72.00455985 204 +76.83869848 189 +82.4498747 174 +89.03074346 159 +96.85454383 144 +106.3016486 129 +117.9505581 114 +132.6966625 99 +152.0652569 84 +178.8504347 69 +202.0179687 59.5 +233.0129188 50 +254.0095236 45 +279.6726516 40 +311.8171516 35 +353.3621267 30 +405.5085354 25.3 +462.3171455 21.5 +528.8713 18.2 +602.7954978 15.5 +688.6047276 13.2 +785.8506197 11.3 +898.4005311 9.7 +1023.929369 8.4 +1169.364755 7.3 +1331.864367 6.4 +1501.343265 5.7 +1693.245773 5.1 +1902.917675 4.6 +2181.574256 4.1 +2479.990402 3.7 +2769.555037 3.4 +3141.376568 3.1 +3453.26574 2.9 +3835.924053 2.7 +4315.190768 2.5 +4930.602596 2.3 +5307.988827 2.2 +5745.925622 2.1 +6259.793402 2 +6869.41889 1.9 +7602.037367 1.8 +8494.933823 1.7 +10990.81759 1.5 +12772.62025 1.4 +25545.24049 1.0183 diff --git a/secop_psi/calcurves/x29630.inp b/secop_psi/calcurves/x29630.inp new file mode 100644 index 0000000..2f9e530 --- /dev/null +++ b/secop_psi/calcurves/x29630.inp @@ -0,0 +1,54 @@ +sens=x29630 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +48169.55684 1.4156 +39885.13082 1.5093 +33567.18472 1.6042 +18364.12385 2.025 +12342.47911 2.4072 +8837.044892 2.8225 +6892.748828 3.2075 +5551.237926 3.6128 +4511.413877 4.0785 +4292.582418 4.2035 +3718.163227 4.5988 +2896.451846 5.4278 +2394.808056 6.2113 +2036.162241 7.0161 +1689.6744 8.1367 +1470.891066 9.1364 +1295.118698 10.2046 +1167.106277 11.2029 +986.8745682 13.092 +917.2628875 14.0398 +797.0667942 16.1077 +708.1149979 18.1232 +638.1213707 20.1642 +572.8689276 22.5405 +516.7157547 25.102 +473.3055661 27.5305 +434.3482604 30.1509 +403.209548 32.6337 +377.515195 35.0112 +329.2506256 40.5518 +268.6438857 50.546 +227.6556026 60.5653 +198.3103954 70.4865 +174.8129501 81.0062 +158.1702861 90.4686 +143.4637897 100.7613 +117.0960187 126.0159 +99.40357853 150.7981 +86.65511265 175.2525 +76.27183281 201.6172 +68.46032724 227.2484 +62.66842138 250.8951 +58.17674094 273.0018 +58.08212813 273.5107 +53.61355351 300.0167 +49 330 + diff --git a/secop_psi/calcurves/x29746.inp b/secop_psi/calcurves/x29746.inp new file mode 100644 index 0000000..7537ae2 --- /dev/null +++ b/secop_psi/calcurves/x29746.inp @@ -0,0 +1,55 @@ +sens=x29746 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +49333.99112 1.4116 +40387.72213 1.5146 +34106.41201 1.6114 +19665.68338 2.0075 +13089.00524 2.4137 +9648.784253 2.8112 +7540.340823 3.2138 +6185.056903 3.6051 +5157.829585 4.0308 +4828.585225 4.2045 +4206.629648 4.6054 +3333.444448 5.4221 +2771.772271 6.2256 +2352.775098 7.0895 +2020.773552 8.0461 +1766.784452 9.0416 +1561.889887 10.1022 +1409.284365 11.112 +1193.773279 13.0209 +1100.352113 14.1043 +963.5767971 16.1061 +860.437102 18.0749 +776.8800497 20.0802 +696.4273278 22.4982 +628.8912647 25.0358 +574.5343399 27.5292 +529.1929279 30.0186 +490.2369315 32.5414 +457.1533064 35.0344 +401.8032932 40.1605 +324.0503704 50.4402 +273.4616415 60.4027 +236.7071199 70.4182 +210.2098946 79.8848 +187.6771203 90.0922 +169.5349149 100.3197 +136.4565509 126.0394 +114.9441142 150.7499 +99.12060202 175.8608 +87.23339294 200.8987 +78.00312012 225.9038 +70.09231157 253.0469 +65.28864108 273.1334 +65.2239137 273.4244 +59.74857798 300.9599 +54.5 330 + + diff --git a/secop_psi/calcurves/x30906.inp b/secop_psi/calcurves/x30906.inp new file mode 100644 index 0000000..fb74675 --- /dev/null +++ b/secop_psi/calcurves/x30906.inp @@ -0,0 +1,63 @@ +sens=x30906 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +35.79892655 773 +71.59785311 325 +71.77447095 324 +74.57787422 309 +77.67656285 294 +81.11851656 279 +84.95716272 264 +89.25858546 249 +94.10658202 234 +99.60015172 219 +105.8741654 204 +113.0941133 189 +121.4842565 174 +131.3409037 159 +143.0836466 144 +157.3040847 129 +174.8799418 114 +197.2150255 99 +226.6992065 84 +267.7133324 69 +303.4659719 59.5 +351.6333029 50 +384.4678243 45 +424.8444997 40 +475.7841828 35 +542.2505485 30 +630.913761 25.1 +725.6212623 21.3 +838.397549 18 +965.8507024 15.3 +1117.094722 13 +1281.150056 11.2 +1483.81583 9.6 +1693.869702 8.4 +1958.97999 7.3 +2260.476518 6.4 +2580.358212 5.7 +2948.695996 5.1 +3357.840013 4.6 +3911.289841 4.1 +4514.815423 3.7 +5110.107072 3.4 +5887.351963 3.1 +6549.678763 2.9 +7374.456191 2.7 +8425.777762 2.5 +9804.602701 2.3 +10664.97889 2.2 +11677.23445 2.1 +12881.90227 2 +14333.42572 1.9 +16104.60213 1.8 +18295.74085 1.7 +24540.30748 1.5 +29071.00193 1.4 +58142.00387 1.0557 \ No newline at end of file diff --git a/secop_psi/calcurves/x31254.inp b/secop_psi/calcurves/x31254.inp new file mode 100644 index 0000000..aa4d401 --- /dev/null +++ b/secop_psi/calcurves/x31254.inp @@ -0,0 +1,88 @@ +sens=x31254 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=Cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +52347.11499 1.209999291 +42271.82728 1.30181012 +35185.81163 1.391206683 +24457.13878 1.603713185 +18634.59743 1.801228992 +14728.00679 2.005946839 +12170.87795 2.200918388 +10323.55353 2.394086422 +8866.282769 2.598839433 +7780.734748 2.797896739 +6945.471525 2.99104283 +6259.560038 3.187196075 +5660.111445 3.396607069 +5184.653488 3.596583563 +4761.864024 3.807950828 +4431.482698 4.001245348 +4116.444266 4.214711767 +3859.296011 4.418476535 +3424.959981 4.830595781 +3006.125698 5.350731526 +2571.075199 6.083930567 +2216.474077 6.914999071 +1901.60927 7.947469564 +1671.428165 8.985353543 +1495.691975 10.02431926 +1358.335177 11.04995526 +1246.779832 12.0689424 +1154.608581 13.08005493 +1076.886162 14.08475097 +1010.562768 15.07982915 +952.7152338 16.07575904 +902.0417435 17.0630006 +856.8631492 18.05229681 +816.4195908 19.04057786 +779.7421237 20.02710193 +743.1649234 21.12206865 +695.739151 22.7181486 +654.2089136 24.31993581 +617.6629647 25.92154758 +584.8117234 27.54013387 +555.348725 29.15933421 +525.8750985 30.96666619 +495.4990377 33.06225035 +457.9256098 36.05607535 +425.8173983 39.04464177 +398.0726057 42.03406128 +373.8206374 45.02461512 +352.3791581 48.01746595 +339.3680963 50.01933837 +310.896345 55.01431022 +286.9674979 60.01022035 +266.5912722 65.00764183 +248.924222 70.00936406 +233.524196 75.01602078 +219.9661819 80.01539475 +207.9129974 85.01097718 +197.1500267 90.01414022 +187.4488393 95.01052134 +178.672813 100.0097913 +163.2602032 110.093534 +150.5589056 119.9896691 +139.5949517 130.0131237 +130.1269767 139.9943891 +121.8684469 149.9901986 +114.610524 159.9908725 +108.1779125 169.9798973 +102.4573322 179.9742653 +97.33483438 189.9604564 +92.70819751 199.9652726 +88.52790337 209.964409 +84.74072667 219.9603524 +81.28151655 229.946308 +78.10992665 239.9592886 +75.20995643 249.9549619 +72.53536869 259.9550268 +70.07430293 269.9541612 +67.79773092 279.932554 +65.68546584 289.9492522 +63.74325054 299.8635787 +61.91925396 309.8417766 +61.05986271 314.7929166 +60.01513245 321.0655121 +58.8228076 328.5661356 +58.06224787 333.5550606 diff --git a/secop_psi/calcurves/x37342.inp b/secop_psi/calcurves/x37342.inp new file mode 100644 index 0000000..1a5ce80 --- /dev/null +++ b/secop_psi/calcurves/x37342.inp @@ -0,0 +1,88 @@ +sens=x37342 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=Cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +5415.493374 1.206752613 +4747.986725 1.299090896 +4180.676443 1.399849988 +3373.518006 1.600691945 +2833.112672 1.800317833 +2446.259346 1.999351695 +2155.746629 2.19904102 +1930.936718 2.398457238 +1750.825962 2.599780609 +1603.999702 2.802110593 +1486.56402 2.997456677 +1384.241772 3.199426263 +1298.306853 3.398382823 +1223.094888 3.599951554 +1157.673728 3.8005973 +1100.91193 3.998225773 +1051.451368 4.191612886 +965.0359425 4.591180816 +893.1152109 4.996417888 +819.8481588 5.503743652 +739.352187 6.210638537 +668.5319342 7.020777422 +600.8417719 8.032881997 +548.6714557 9.041711926 +506.9104706 10.04721234 +472.1997804 11.06281225 +443.2149916 12.07199761 +418.4514779 13.08021171 +396.9793756 14.08524473 +378.2961725 15.08105001 +361.6388231 16.0776196 +346.7520949 17.06826977 +333.3229963 18.05892179 +321.1295517 19.04743552 +309.9544517 20.03626438 +298.6946745 21.12616944 +283.8478521 22.71800965 +270.6691904 24.31285067 +258.6727612 25.93298422 +247.768787 27.56451225 +237.9641129 29.18601637 +227.9254232 31.0030598 +217.4183451 33.11826043 +204.2665322 36.12296457 +192.8157725 39.12772964 +182.8064699 42.11247422 +173.8963947 45.11153437 +165.9188961 48.10303508 +161.0350302 50.10484635 +150.1755882 55.10098825 +140.8655317 60.1034188 +132.7853527 65.09901632 +125.6860893 70.10437511 +119.3985515 75.09806481 +113.7930326 80.09501075 +108.7413724 85.09261262 +104.1727159 90.08703311 +99.9981164 95.0899334 +96.18604309 100.0922684 +89.46221937 110.0771918 +83.68245162 120.0790457 +78.66179354 130.0741289 +74.25609722 140.0697789 +70.3608622 150.0655921 +66.89165633 160.0683035 +63.77569002 170.0708132 +60.96786868 180.0736291 +58.42889208 190.0695589 +56.12020923 200.0788513 +54.00696273 210.0877227 +52.07877723 220.0849127 +50.30351224 230.0812 +48.6691464 240.0969195 +47.15854869 250.0896564 +45.76003996 260.0992008 +44.46302665 270.0979475 +43.2586392 280.1084345 +42.13569868 290.1197964 +41.08823336 300.1322266 +40.1061292 310.1430744 +39.63806835 315.1577652 +39.18737989 320.1617401 +38.66500317 326.1611063 +38.32671309 330.1678422 diff --git a/secop_psi/calcurves/x37346.inp b/secop_psi/calcurves/x37346.inp new file mode 100644 index 0000000..fd63189 --- /dev/null +++ b/secop_psi/calcurves/x37346.inp @@ -0,0 +1,88 @@ +sens=x37346 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=Cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +1976.784871 1.206868208 +1789.357045 1.29910956 +1623.598312 1.399829728 +1376.943235 1.600682367 +1202.922899 1.800218421 +1072.854429 1.999359328 +971.6816439 2.199013893 +891.0343229 2.398349934 +824.5804594 2.599758134 +769.2084602 2.802189598 +724.0169028 2.997521915 +683.9414168 3.199362498 +649.6944837 3.398338997 +619.2829636 3.599901484 +592.4934601 3.800585658 +568.91858 3.998274195 +548.1988515 4.191520857 +511.3207173 4.591416301 +480.0994172 4.996645076 +447.7052961 5.503831359 +411.3997054 6.210932759 +378.7054625 7.020640523 +346.7634731 8.033380233 +321.6360921 9.042073285 +301.1808217 10.04770239 +283.9448891 11.06296541 +269.3184883 12.07201154 +256.6735798 13.0801988 +245.630938 14.08532095 +235.9068829 15.08031446 +227.1467855 16.07754937 +219.2854498 17.06887521 +212.1123582 18.05925945 +205.5606 19.04763718 +199.5055587 20.03639205 +193.3672587 21.12646064 +185.2369533 22.71812022 +177.9155379 24.31298111 +171.1990357 25.93368543 +165.0517753 27.56488875 +159.4613693 29.18602801 +153.7319457 31.00282121 +147.6633858 33.11882201 +139.9827866 36.12397249 +133.2387386 39.12763525 +127.2827692 42.11258687 +121.9162945 45.11099883 +117.0922134 48.10385061 +114.1140088 50.10506205 +107.4450238 55.10133071 +101.6686949 60.10332248 +96.60311371 65.09908372 +92.1078183 70.10440069 +88.10487284 75.09877026 +84.49953504 80.09490857 +81.23342616 85.09291599 +78.25677185 90.08711052 +75.52865596 95.09021775 +73.00482398 100.0918862 +68.53237199 110.0772099 +64.64664752 120.0790936 +61.23873719 130.0745096 +58.22613822 140.0696374 +55.53799558 150.0659629 +53.12466939 160.0680131 +50.94642602 170.0712268 +48.97135712 180.0748498 +47.17207959 190.0700854 +45.52495895 200.0789463 +44.01361105 210.0877304 +42.6248401 220.0843037 +41.34625697 230.0815437 +40.15899378 240.0955939 +39.06102816 250.0897281 +38.03939608 260.0978307 +37.08936918 270.0989519 +36.20281317 280.1053756 +35.37594228 290.1196531 +34.60059255 300.1328077 +33.87116658 310.1482353 +33.52546443 315.1545815 +33.1905672 320.1622943 +32.80264842 326.1651962 +32.55010406 330.167843 diff --git a/secop_psi/calcurves/x38604.inp b/secop_psi/calcurves/x38604.inp new file mode 100644 index 0000000..fe9c812 --- /dev/null +++ b/secop_psi/calcurves/x38604.inp @@ -0,0 +1,91 @@ +sens=x38604 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +20412.46386 1.20156719 +16860.20606 1.300302394 +14206.29133 1.400156017 +10633.56121 1.600120723 +8406.167574 1.800112844 +6918.352774 1.99972441 +5850.895981 2.201559744 +5069.838597 2.400629364 +4461.387484 2.60256272 +3986.471662 2.80351442 +3606.722449 3.003201331 +3300.718438 3.198657564 +3037.819815 3.399937307 +2818.763343 3.598351289 +2628.712788 3.799225495 +2465.867828 3.998603972 +2321.258711 4.201211048 +2075.527643 4.619816788 +1887.875976 5.021544652 +1701.844495 5.521269477 +1501.439148 6.223302018 +1329.043444 7.034212629 +1169.547277 8.040539291 +1049.886271 9.046693569 +956.3076605 10.05234973 +880.0127515 11.06857718 +817.3965588 12.07728365 +764.714201 13.08311877 +719.740466 14.08602025 +680.9115009 15.08223458 +646.8629683 16.07310415 +616.7225982 17.06283961 +589.7505702 18.05011292 +565.376056 19.03905573 +543.2341322 20.02734526 +521.1420718 21.11245219 +492.1927074 22.70786968 +466.7200773 24.30075015 +444.0273202 25.89807467 +423.5133521 27.50688551 +405.1019135 29.10870327 +386.3572801 30.91864112 +366.8638012 33.02239447 +342.5502763 36.02500279 +321.7070362 39.01618225 +303.470571 42.01458869 +287.434302 45.00920339 +273.1480073 48.01221373 +264.469519 50.01346007 +245.2823612 55.01068434 +228.9876412 60.01089012 +214.9336014 65.01141017 +202.7070782 70.01099979 +191.9239911 75.00634629 +182.3575066 80.00259085 +173.8041831 84.99943465 +166.0773404 89.99212138 +159.0671861 94.99411182 +152.6734392 99.99826535 +141.4308445 110.002616 +131.8571802 119.9963004 +123.5771834 129.990347 +116.3486814 139.9877493 +109.9756229 149.9838087 +104.3129902 159.9887737 +99.23561636 169.9961821 +94.67666818 179.9982237 +90.56330163 189.9978526 +86.81888041 199.9894891 +83.41295629 209.9978469 +80.28422905 220.0037705 +77.42146178 229.9988311 +74.79006811 239.9999779 +72.34626786 250.0105629 +70.09506174 259.9982974 +67.99754598 270.0147417 +66.05217741 280.0050937 +64.23514763 290.025808 +62.54174861 300.0249605 +60.95513586 310.0390022 +60.19851967 315.0460851 +59.46511146 320.0491529 +58.62156062 326.0484808 +58.06956208 330.0726156 diff --git a/secop_psi/calcurves/x38622.inp b/secop_psi/calcurves/x38622.inp new file mode 100644 index 0000000..b8fbd03 --- /dev/null +++ b/secop_psi/calcurves/x38622.inp @@ -0,0 +1,94 @@ +sens=x38622 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +300000 0.5 +50000 0.8 +25000 1 +15453.30114 1.201390483 +12933.98712 1.300214311 +11034.4649 1.399887714 +8424.025493 1.600041142 +6765.520271 1.800251849 +5641.414912 1.9995488 +4825.596882 2.200686253 +4218.310807 2.400271552 +3741.288325 2.602866026 +3366.108822 2.803777221 +3065.896093 3.002383061 +2820.775914 3.198131733 +2607.99059 3.400368026 +2431.721514 3.597583192 +2276.702132 3.798907035 +2143.807566 3.998131437 +2024.837736 4.20125159 +1821.670244 4.621000206 +1666.056816 5.022185848 +1510.041822 5.52315617 +1341.463446 6.225737889 +1195.120579 7.036711748 +1058.871933 8.042940617 +955.8898376 9.048163535 +874.7352885 10.05559249 +808.5212229 11.0671681 +753.6211919 12.0770092 +707.2526538 13.08351477 +667.6086193 14.08654991 +633.2789651 15.08019912 +603.1052751 16.0724308 +576.1655167 17.06299644 +552.0576188 18.04961444 +530.2431413 19.03935964 +510.3861991 20.02705871 +490.4830005 21.11310453 +464.3747951 22.70620002 +441.2997254 24.30035606 +420.6898026 25.89717613 +402.0656484 27.50700789 +385.2466189 29.10810008 +368.1127672 30.91706208 +350.2386088 33.02231247 +327.8701799 36.028182 +308.6263414 39.0147806 +291.739001 42.01198266 +276.8073376 45.00927648 +263.4709735 48.01345304 +255.3943899 50.012299 +237.4349811 55.01187706 +222.1325912 60.01176014 +208.9067335 65.00854426 +197.3466096 70.01094832 +187.1416471 75.00711548 +178.0650634 80.00343132 +169.90989 85.00099444 +162.5472513 89.99602198 +155.8646577 94.99314896 +149.7520628 99.99940478 +138.9729204 110.0040869 +129.7653271 119.9984141 +121.7887435 129.9915381 +114.7969181 139.9865 +108.6268904 149.9876441 +103.1235556 159.9916643 +98.19129551 169.9975333 +93.75197322 180.0004201 +89.72897538 189.9992774 +86.0728896 199.9904115 +82.73482086 209.9989221 +79.68074532 220.0043206 +76.87013076 229.9988719 +74.27775917 240.0013253 +71.87883432 250.0103348 +69.66047872 259.9988441 +67.5938408 270.0150322 +65.6760198 280.0038708 +63.87931678 290.0129751 +62.20342806 300.0258092 +60.63184876 310.0414238 +59.88468604 315.0473514 +59.16030428 320.0518899 +58.31898067 326.0515678 +57.77086996 330.0746148 diff --git a/secop_psi/calcurves/x40188.inp b/secop_psi/calcurves/x40188.inp new file mode 100644 index 0000000..42bb00b --- /dev/null +++ b/secop_psi/calcurves/x40188.inp @@ -0,0 +1,91 @@ +sens=x40188 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +10462.91955 1.206635152 +8974.502112 1.30029511 +7747.980015 1.401139015 +6062.20743 1.600639649 +4962.79579 1.800502563 +4200.914173 1.999917288 +3633.446321 2.20354039 +3211.799506 2.402805921 +2887.263332 2.598104712 +2620.881342 2.797345247 +2398.551353 3.001233389 +2217.027433 3.201520724 +2058.540551 3.409323788 +1929.639525 3.607148504 +1815.49335 3.809424314 +1727.151467 3.987691686 +1632.231758 4.203983687 +1471.915898 4.648154268 +1355.910456 5.047971611 +1238.358199 5.548631426 +1110.026155 6.24980331 +997.4370658 7.056663428 +890.9549559 8.067039886 +809.938991 9.071371924 +745.1914158 10.08057096 +692.1648627 11.09241081 +647.9654801 12.10248436 +610.4273954 13.11063973 +578.0749228 14.11478886 +550.0645488 15.10724305 +525.1100025 16.10210735 +502.959179 17.08857814 +482.9611922 18.07591937 +464.8017468 19.06177134 +448.2094572 20.04891373 +431.4683285 21.13695075 +409.5604327 22.71801927 +389.7710854 24.32961735 +371.9591952 25.95043929 +355.770266 27.58587213 +341.1896493 29.20941257 +326.320331 31.03649945 +310.8145273 33.15262383 +291.3622934 36.16308841 +274.5095016 39.15879132 +259.6764734 42.16003287 +246.5268606 45.15600757 +234.7717768 48.15592299 +227.6297636 50.14461018 +211.632099 55.14324822 +197.9236764 60.14470542 +186.060592 65.1357733 +175.6458849 70.13511412 +166.4329113 75.12821909 +158.2109297 80.12024513 +150.8216663 85.11708767 +144.1365607 90.11031559 +138.0583199 95.10510171 +132.4894167 100.1096345 +122.6752872 110.0997968 +114.2750813 120.1003868 +107.0051393 130.0921869 +100.6297303 140.0914321 +95.00450444 150.0848981 +90.00103925 160.0857667 +85.523374 170.0848037 +81.49711559 180.0832634 +77.85746374 190.0724539 +74.54398366 200.0800677 +71.52999539 210.0822512 +68.77095991 220.0747082 +66.24009616 230.0681616 +63.90665977 240.0777178 +61.75992367 250.0685213 +59.77018951 260.070832 +57.92308575 270.0682251 +56.21115163 280.0687088 +54.61181749 290.0701741 +53.11794082 300.0730231 +51.72613191 310.0727086 +51.0609983 315.0774127 +50.4201932 320.0714867 +49.67881399 326.0537885 +49.20460912 330.0332773 diff --git a/secop_psi/calcurves/x48581.inp b/secop_psi/calcurves/x48581.inp new file mode 100644 index 0000000..f3d0ab6 --- /dev/null +++ b/secop_psi/calcurves/x48581.inp @@ -0,0 +1,88 @@ +sens=x48581 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +type=Cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +27898.78467 1.204632628 +22948.41991 1.306664364 +19616.43275 1.398544182 +14681.62267 1.601259917 +11672.12924 1.80032368 +9642.452265 1.999253712 +8190.142859 2.199541383 +7105.478913 2.400535447 +6277.124091 2.601455486 +5637.441733 2.797978815 +5107.870335 3.00013616 +4673.754537 3.202432764 +4327.616468 3.395158564 +4015.262623 3.600377585 +3755.933137 3.799446091 +3529.49525 4.000339304 +3325.631312 4.207132147 +2981.940187 4.632639571 +2727.958361 5.02751322 +2470.752067 5.526513724 +2191.332161 6.230890899 +1951.429935 7.037623095 +1728.489628 8.042630003 +1559.201517 9.053290424 +1426.345362 10.06235509 +1318.693078 11.07254667 +1229.644533 12.07944857 +1154.385384 13.08438071 +1090.105302 14.08258607 +1033.975402 15.08104637 +984.6601723 16.07322679 +940.7609115 17.06591715 +901.3863341 18.05572908 +865.651708 19.04658875 +833.2475694 20.03466392 +800.7700568 21.12021778 +758.1061865 22.70918254 +719.7860001 24.32299625 +685.2788816 25.95288222 +654.3531428 27.57934514 +626.5038265 29.19760265 +598.1406515 31.01814882 +568.5834715 33.1346414 +531.6359194 36.14276385 +499.69094 39.13958035 +471.6821689 42.13440874 +446.9197489 45.12310662 +424.7494405 48.12450658 +411.2885842 50.11900034 +381.2504942 55.12164385 +355.586534 60.123347 +333.3557884 65.12580717 +313.9406686 70.12626141 +296.7957832 75.12080918 +281.4814591 80.11573238 +267.7703049 85.10859565 +255.3459281 90.10566899 +244.102097 95.09540085 +233.8163943 100.0886046 +215.6674208 110.0981452 +200.1847712 120.0953113 +186.8010582 130.085487 +175.1182312 140.0804034 +164.8211986 150.0730749 +155.6644277 160.0685656 +147.489738 170.0710701 +140.1407823 180.0657901 +133.4967132 190.0602568 +127.4983121 200.050938 +122.0146049 210.0522741 +117.0155857 220.0551987 +112.4226821 230.0470973 +108.2084727 240.0441251 +104.3122546 250.0491089 +100.719854 260.0271367 +97.3852907 270.0449404 +94.29097003 280.0297388 +91.40796939 290.0394604 +88.71689416 300.0322984 +86.20372876 310.0318651 +85.01051029 315.0321814 +83.85716454 320.028503 +82.45820137 326.3160617 +81.33656521 331.4971228 diff --git a/secop_psi/calcurves/x55918.inp b/secop_psi/calcurves/x55918.inp new file mode 100644 index 0000000..46a3d1d --- /dev/null +++ b/secop_psi/calcurves/x55918.inp @@ -0,0 +1,100 @@ +sens=x55918 ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +!200000.0 0.9 +!119913.2367 1.20030252 +curv ! R Ohm vs temp K +92425.07006 1.298894196 +73171.9299 1.400290823 +49514.01477 1.601365363 +36116.2812 1.801868524 +27891.26536 1.999881019 +22327.85952 2.201105904 +18459.98159 2.400218764 +15604.49271 2.60092116 +13481.97565 2.798002667 +11788.98725 3.000320629 +10450.69173 3.202135643 +9386.471359 3.400651119 +8500.634822 3.601343994 +7761.684592 3.801905018 +7147.411374 3.997840486 +6592.03013 4.205552546 +5627.372651 4.66347413 +4981.275437 5.065204905 +4357.333569 5.566668445 +3710.672326 6.267993885 +3170.528293 7.079577601 +2688.064875 8.089463141 +2337.693353 9.099810932 +2070.377995 10.11279908 +1858.836179 11.13142905 +1688.835121 12.14567033 +1549.203167 13.15250844 +1432.603186 14.15123598 +1333.457374 15.14433587 +1248.421212 16.12599899 +1173.946534 17.10433473 +1108.070898 18.08266081 +1049.361301 19.06005953 +996.5710963 20.03789019 +944.3038926 21.11576014 +876.475238 22.7084853 +818.3609836 24.28205784 +767.0803552 25.86971015 +721.3009051 27.4768062 +680.3176894 29.09426328 +639.4809273 30.91134032 +597.8345776 33.01826594 +546.9460686 36.0217328 +503.9948622 39.02135053 +467.3434869 42.01243029 +435.5500268 45.01422815 +407.7826118 48.01474343 +391.1233939 50.01224448 +354.84538 55.01187963 +324.6891606 60.00644542 +299.2366791 64.99967994 +277.470305 69.99432967 +258.5747436 74.99185619 +242.0866428 79.9886749 +227.526838 84.98627617 +214.5832558 89.98363363 +203.0282493 94.97889264 +192.6206631 99.98286634 +174.6324065 109.9900883 +159.6659546 119.9817588 +146.9948363 129.9769527 +136.1510654 139.9731082 +126.7667519 149.9744374 +118.5545217 159.9803932 +111.3449884 169.9868857 +104.9510865 179.9908107 +99.25429097 189.9948791 +94.15652437 199.9906474 +89.56327596 209.9867658 +85.4133561 219.9943071 +81.64850719 229.9912609 +78.22174101 239.9862336 +75.08463122 249.994465 +72.2105101 259.9866728 +69.57009216 269.9934567 +67.13473897 279.9844315 +64.88039244 289.9958482 +62.80168725 299.9874146 +60.87128632 309.9971112 +59.0659484 319.9996661 +57.3921629 330.0003449 +55.90387303 339.47063 +54.44083711 349.4312576 +53.07271042 359.386549 +51.78755774 369.3455802 +50.57620016 379.358127 +49.43720173 389.336507 +48.36091187 399.3291729 +47.3515066 409.3055221 +46.39910782 419.2677755 +45.93860303 424.2385016 diff --git a/secop_psi/calcurves/xcond.inp b/secop_psi/calcurves/xcond.inp new file mode 100644 index 0000000..f94ce55 --- /dev/null +++ b/secop_psi/calcurves/xcond.inp @@ -0,0 +1,13 @@ +sens=xcond ! S/N of sensor +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen +!tlim=325 ! setpoint limit (automatic if omitted) +type=cernox ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=1mV ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!rang=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +curv ! R Ohm vs temp K +100000 0.01 +10000 0.1 +1000 1 +100 10 +10 100 +1 1000 diff --git a/secop_psi/calcurves/z030114.inp b/secop_psi/calcurves/z030114.inp new file mode 100644 index 0000000..6c36195 --- /dev/null +++ b/secop_psi/calcurves/z030114.inp @@ -0,0 +1,67 @@ +sens=z030114 +unit=Ohm ! sensor format (mV,V,Ohm), log formats are choosen automatically +!tlim=3250 ! setpoint limit (automatic if omitted) +type=C ! sensor type (Special,Si,GaAlAs,Pt250,Pt500,Pt2500,RhFe,C,Cernox,RuOx,Ge) (special if omitted) +!excit=300uA ! (off,30nA,100nA,300nA,1uA,3uA,10uA,30uA,100uA,300uA,1mA,10mV,1mV) (if omitted: default from sensor type) +!range=0 ! range in sensor units (if rang=0: determine range from table, if omitted: default from sensor type) +form=loglog +curv ! curve (sensor,temp/K) follows, must be ordered, but can be increasing or decreasing +7648.1 1.4745 +7197.9 1.5035 +6260.3 1.6022 +5522.5 1.7084 +4949.6 1.8062 +4464.5 1.8998 +3972.3 2.0088 +3247 2.211 +2731.2 2.4097 +2339.2 2.6156 +2058.7 2.8087 +1831 3.0063 +1562.9 3.3066 +1360 3.6039 +1152.1 4.0042 +1020.9 4.3323 +917.19 4.6551 +825.64 5.0141 +722.6 5.5186 +644.91 6.0149 +531.85 7.0282 +455.52 8.0262 +399.1 9.0341 +357.79 10.002 +286.16 12.501 +242.7 14.958 +211.27 17.569 +189.13 20.119 +169.22 23.232 +153.02 26.642 +139.23 30.499 +129.38 34.113 +121.06 37.908 +113.89 41.867 +108.04 46.054 +103.24 49.949 +97.819 55.114 +93.356 60.074 +89.546 64.945 +86.122 69.922 +83.087 74.929 +80.293 80.139 +75.959 89.602 +72.171 99.514 +68.786 109.9 +65.991 119.82 +61.366 139.58 +57.467 160.28 +54.38 180 +51.734 199.9 +49.442 219.83 +47.343 239.72 +45.471 260.1 +43.772 280.4 +42.983 290.42 +42.303 299.51 +41.908 305.15 +36 450 + diff --git a/secop_psi/dg645.py b/secop_psi/dg645.py new file mode 100644 index 0000000..cc642fa --- /dev/null +++ b/secop_psi/dg645.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""Delay generator stanford 645""" + +from secop.core import Module, Parameter, Override, FloatRange, HasIodev, StringIO, Done + + +class DG645(StringIO): + end_of_line = '\n' + + +class Delay(HasIodev, Module): + parameters = { + 'on1': Parameter('on delay 1', FloatRange(unit='sec'), readonly=False, default=0), + 'off1': Parameter('off delay 1', FloatRange(unit='sec'), readonly=False, default=60e-9), + 'on2': Parameter('on delay 2', FloatRange(unit='sec'), readonly=False, default=0), + 'off2': Parameter('off delay 2', FloatRange(unit='sec'), readonly=False, default=150e-9), + } + iodevClass = DG645 + + def read_on1(self): + return self.sendRecv('DLAY?2').split(',')[1] + + def read_off1(self): + return self.sendRecv('DLAY?3').split(',')[1] + + def read_on2(self): + return self.sendRecv('DLAY?4').split(',')[1] + + def read_off2(self): + return self.sendRecv('DLAY?5').split(',')[1] + + def write_on1(self, value): + return self.sendRecv('DLAY 2,0,%g;DLAY?2' % value).split(',')[1] + + def write_off1(self, value): + result = self.sendRecv('DLAY 3,0,%g;DLAY?3' % value) + return result.split(',')[1] + + def write_on2(self, value): + return self.sendRecv('DLAY 4,0,%g;DLAY?4' % value).split(',')[1] + + def write_off2(self, value): + return self.sendRecv('DLAY 5,0,%g;DLAY?5' % value).split(',')[1] diff --git a/secop_psi/ls370res.py b/secop_psi/ls370res.py index bf0e4cc..999449f 100644 --- a/secop_psi/ls370res.py +++ b/secop_psi/ls370res.py @@ -27,6 +27,7 @@ from secop.metaclass import Done from secop.datatypes import FloatRange, IntRange, EnumType, BoolType from secop.stringio import HasIodev from secop.poller import Poller, REGULAR +from secop.lib import formatStatusBits import secop.iohandler Status = Drivable.Status @@ -49,10 +50,7 @@ filterhdl = IOHandler('filter', 'FILTER?%(channel)d', '%d,%d,%d') scan = IOHandler('scan', 'SCAN?', '%d,%d') -STATUS_TEXT = {0: ''} -for bit, text in enumerate('CS_OVL VCM_OVL VMIX_OVL VDIF_OVL R_OVER R_UNDER T_OVER T_UNDER'.split()): - for i in range(1 << bit, 2 << bit): - STATUS_TEXT[i] = text +STATUS_BIT_LABELS = 'CS_OVL VCM_OVL VMIX_OVL VDIF_OVL R_OVER R_UNDER T_OVER T_UNDER'.split() class StringIO(secop.stringio.StringIO): @@ -183,7 +181,7 @@ class ResChannel(HasIodev, Readable): return Done result = int(self.sendRecv('RDGST?%d' % self.channel)) result &= 0x37 # mask T_OVER and T_UNDER (change this when implementing temperatures instead of resistivities) - statustext = STATUS_TEXT[result] + statustext = ' '.join(formatStatusBits(result, STATUS_BIT_LABELS)) if statustext: return [self.Status.ERROR, statustext] return [self.Status.IDLE, ''] diff --git a/secop_psi/ls370sim.py b/secop_psi/ls370sim.py index 8fc0ece..02a36bf 100644 --- a/secop_psi/ls370sim.py +++ b/secop_psi/ls370sim.py @@ -47,7 +47,7 @@ class Ls370Sim(Communicator): for channel in range(1,17): _, _, _, _, excoff = self._data['RDGRNG?%d' % channel].split(',') if excoff == '1': - self._data['RDGST?%d' % channel] = '4' + self._data['RDGST?%d' % channel] = '6' else: self._data['RDGST?%d' % channel] = '0' diff --git a/secop_psi/ppmsf.py b/secop_psi/ppmsf.py new file mode 100644 index 0000000..2498bbb --- /dev/null +++ b/secop_psi/ppmsf.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""PPMS mf proxy""" + +from secop.core import Enum, FloatRange, EnumType, Override, Parameter, Drivable +from secop.datatypes import StatusType +import secop_psi.ppms +from secop.proxy import proxy_class + + +class Field(proxy_class(secop_psi.ppms.Field)): + """magnetic field""" + + # pylint: disable=invalid-name + Status = Enum(Drivable.Status, + PREPARED = 150, + PREPARING = 340, + RAMPING = 370, + FINALIZING = 390, + ) + # pylint: disable=invalid-name + PersistentMode = Enum('PersistentMode', persistent=0, driven=1) + ApproachMode = Enum('ApproachMode', linear=0, no_overshoot=1, oscillate=2) + + remoteParameters = { + 'value': + Override(datatype=FloatRange(-1, 1, unit='T'), poll=True), + 'status': + Override(datatype=StatusType(Status), poll=True), + 'target': + Override(datatype=FloatRange(-15, 15, unit='T'), poll=True), + 'ramp': + Parameter('ramping speed', readonly=False, + datatype=FloatRange(0.064, 1.19, unit='T/min'), poll=True), + 'approachmode': + Parameter('how to approach target', readonly=False, + datatype=EnumType(ApproachMode), poll=True), + 'persistentmode': + Parameter('what to do after changing field', readonly=False, + datatype=EnumType(PersistentMode), poll=True), + 'pollinterval': + Override(visibility=3), + } diff --git a/secop_psi/sea.py b/secop_psi/sea.py new file mode 100644 index 0000000..af20724 --- /dev/null +++ b/secop_psi/sea.py @@ -0,0 +1,476 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""generic SEA driver + +a object or subobject in sea may be assigned to a SECoP module + +Examples: + +SECoP SEA hipadaba path mod.obj mod.sub par.sub mod.path +------------------------------------------------------------------------------- +tt:maxwait tt /tt/maxwait tt maxwait /tt +tt:ramp tt set/ramp /tt/set/ramp tt set/ramp /tt +t1:raw tt t1/raw /tt/t1/raw tt t1 raw /tt/t1 +rx:bla rx bla /some/rx_a/bla rx bla /some/rx_a +""" + +import threading +import time +import json +from os.path import join, expanduser + +from secop.modules import Module, Parameter, Command, Override, Drivable, Readable, Writable, Property, Attached +from secop.datatypes import StringType, FloatRange, ArrayOf, BoolType, IntRange, EnumType +from secop.lib import mkthread, getGeneralConfig +from secop.lib.asynconn import AsynConn, ConnectionClosed +from secop.metaclass import Done +from secop.errors import HardwareError, secop_error, ConfigError +from secop.client import ProxyClient +from secop.protocol.dispatcher import make_update + + +CFG_HEADER = """[NODE] +id = %(samenv)s.psi.ch +description = %(samenv)s over SEA + +[seaconn] +class = secop_psi.sea.SeaClient +description = a SEA connection +uri = %(uri)s +""" + +CFG_MODULE = """ +[%(module)s] +class = secop_psi.sea.%(modcls)s +iodev = seaconn +json_descr = %(descr)s +remote_paths = . +""" + + +SEA_DIR = expanduser('~/sea') + + +def get_sea_port(instance): + for filename in ('sea_%s.tcl' % instance, 'sea.tcl'): + try: + with open(join(SEA_DIR, filename)) as f: + for line in f: + linesplit = line.split() + if len(linesplit) == 3: + cmd, var, value = line.split() + if var == 'serverport': + return value + except FileNotFoundError: + pass + return None + + +class SeaClient(ProxyClient, Module): + """connection to SEA""" + + properties = { + 'json_path': Property('path to SEA json descriptors', + datatype=StringType(), + default=join(expanduser('~'), 'sea/tcl/json')) + } + parameters = { + 'uri': + Parameter('hostname:portnumber', datatype=StringType(), default='localhost:5000'), + 'timeout': + Parameter('timeout', datatype=FloatRange(0), default=10), + } + commands = { + 'communicate': + Command('send a command to SEA', argument=StringType(), result=StringType()), + 'describe': + Command('save objects (and sub-objects) description', result=StringType()), + } + + def __init__(self, name, log, opts, srv): + instance = srv.node_cfg['name'].rsplit('_', 1)[0] + if 'uri' not in opts: + port = get_sea_port(instance) + if port is None: + raise ConfigError('missing sea port for %s' % instance) + opts['uri'] = 'tcp://localhost:%s' % port + self.objects = [] + self.shutdown = False + self.path2param = {} + self._write_lock = threading.Lock() + self.io = None + ProxyClient.__init__(self) + Module.__init__(self, name, log, opts, srv) + + def register_obj(self, module, obj): + self.objects.append(obj) + self.path2param.update(module.path2param) + self.register_callback(module.name, module.updateEvent) + + def startModule(self, started_callback): + mkthread(self._connect, started_callback) + + def _connect(self, started_callback): + if '//' not in self.uri: + self.uri = 'tcp://' + self.uri + self.asyncio = AsynConn(self.uri) + assert self.asyncio.readline() == b'OK' + self.asyncio.writeline(b'Spy 007') + assert self.asyncio.readline() == b'Login OK' + # the json protocol is better for updates + self.asyncio.writeline(b'protocol set json') + self.asyncio.writeline(('get_all_param ' + ' '.join(self.objects)).encode()) + mkthread(self._rxthread, started_callback) + + def request(self, command): + """send a request and wait for reply""" + with self._write_lock: + if not self.io: + self.io = AsynConn(self.uri) + assert self.io.readline() == b'OK' + self.io.writeline(b'seauser seaser') + assert self.io.readline() == b'Login OK' + # do this before changing to user rights (avoid cluttering log) + #self.io.writeline(b'protocol set json') + #self.io.writeline(b'config rights seauser seaser') + self.io.writeline(('fulltransact %s' % command).encode()) + result = None + deadline = time.time() + 10 + while time.time() < deadline: + try: + reply = self.io.readline() + if reply is None: + continue + except ConnectionClosed: + break + reply = reply.decode() + if reply.startswith('TRANSACTIONSTART'): + result = [] + continue + if reply == 'TRANSACTIONFINISHED': + if result is None: + print('missing TRANSACTIONSTART on: %s' % command) + return '' + if not result: + print('missing return value on: %s' % command) + return '' + return '\n'.join(result) + if result is None: + print('swallow: %s' % reply) + continue + if not result: + result = [reply.split('=', 1)[-1]] + else: + result.append(reply) + raise TimeoutError('no response within 10s') + + def _rxthread(self, started_callback): + while not self.shutdown: + try: + reply = self.asyncio.readline() + if reply is None: + continue + except ConnectionClosed: + break + try: + msg = json.loads(reply) + except Exception as e: + print(repr(e), reply) + continue + if isinstance(msg, str): + if msg.startswith('_E '): + try: + _, path, readerror = msg.split(None, 2) + except Exception as e: + continue + else: + continue + data = {'error %s' % path: readerror.replace('ERROR: ', '')} + obj = None + flag = 'hdbevent' + else: + obj = msg['object'] + flag = msg['flag'] + data = msg['data'] + if flag == 'finish' and obj == 'get_all_param': + # first updates have finished + if started_callback: + started_callback() + started_callback = None + continue + if flag != 'hdbevent': + print('SKIP', msg) + continue + if data is None: + continue + for path, value in data.items(): + readerror = None + if path.startswith('error '): + readerror = HardwareError(value) + value = None + path = path[6:] + try: + module, param = self.path2param[path] + self.updateValue(module, param, value, time.time(), readerror) + except KeyError: + # print('UNUSED', msg) + pass # unused parameters + + def do_communicate(self, command): + reply = self.request(command) + return reply + + def do_describe(self): + reply = self.request('describe_all') + reply = ''.join('' if line.startswith('WARNING') else line for line in reply.split('\n')) + samenv, reply = json.loads(reply) + samenv = samenv.replace('/', '_') + confdir = getGeneralConfig()['confdir'] + result = [] + with open(join(confdir, 'sea', samenv + '.cfg'), 'w') as cfp: + cfp.write(CFG_HEADER % dict(samenv=samenv, uri=self.uri)) + for filename, obj, descr in reply: + content = json.dumps([obj, descr]).replace('}, {', '},\n{') + with open(join(confdir, 'sea', filename + '.json'), 'w') as fp: + fp.write(content + '\n') + if descr[0].get('cmd', '').startswith('run '): + modcls = 'SeaDrivable' + else: + modcls = 'SeaReadable' + cfp.write(CFG_MODULE % dict(modcls=modcls, module=obj, descr=filename)) + result.append(filename) + return '\n'.join(result) + + +SEA_TO_SECOPTYPE = { + 'float': FloatRange(), + 'text': StringType(), + 'int': IntRange(), + 'bool': BoolType(), + 'none': None, + 'floatvarar': ArrayOf(FloatRange(), 0, 400), # 400 is the current limit for proper notify events in SEA +} + + +def get_datatype(paramdesc): + typ = paramdesc['type'] + result = SEA_TO_SECOPTYPE.get(typ, False) + if result is not False: # general case + return result + # special cases + if typ == 'enum': + return EnumType(paramdesc['enum']) + raise ValueError('unknown SEA type %r' % typ) + + +class SeaModule(Module): + properties = { + 'iodev': Attached(), + } + + # pollerClass=None + path2param = None + sea_object = None + + def __init__(self, name, logger, cfgdict, dispatcher): + self.buildParams(cfgdict, name) + Module.__init__(self, name, logger, cfgdict, dispatcher) + + def buildParams(self, cfgdict, name): + visibility_level = cfgdict.pop('visibility_level', 2) + json_descr = cfgdict.pop('json_descr') + remote_paths = cfgdict.pop('remote_paths', '') + if 'description' not in cfgdict: + cfgdict['description'] = '%s (remote_paths=%s)' % (json_descr, remote_paths) + with open(join(getGeneralConfig()['confdir'], 'sea', json_descr + '.json')) as fp: + obj, descr = json.load(fp) + remote_paths = remote_paths.split() + self.sea_object = obj + if remote_paths: + result = [] + for rpath in remote_paths: + include = True + for paramdesc in descr: + if paramdesc.get('visibility', 1) > visibility_level: + continue + path = paramdesc['path'] + sub = path.split('/', 1) + if rpath == '.': # take all except subpaths with readonly node at top + if len(sub) == 1: + include = paramdesc.get('kids', 0) == 0 or not paramdesc.get('readonly', True) + if include or path == '': + result.append(paramdesc) + elif sub[0] == rpath: + result.append(paramdesc) + descr = result + main = remote_paths[0] + if main == '.': + main = '' + else: # take all + main = '' + self.path2param = {} + accessibles = {} + for paramdesc in descr: + path = paramdesc['path'] + readonly = paramdesc.get('readonly', True) + dt = get_datatype(paramdesc) + kwds = dict(description=paramdesc.get('description', path), + datatype=dt, + visibility=paramdesc.get('visibility', 1), + needscfg=False, poll=False, readonly=readonly) + if kwds['datatype'] is None: + kwds.update(visibility=3, default='', datatype=StringType()) + pathlist = path.split('/') if path else [] + if path == main: + key = 'value' + else: + if len(pathlist) > 0: + if len(pathlist) == 1: + kwds['group'] = 'more' + else: + kwds['group'] = pathlist[-2] + # flatten path to parameter name + for i in reversed(range(len(pathlist))): + key = '_'.join(pathlist[i:]) + if not key in self.accessibles: + break + if key == 'is_running': + kwds['export'] = False + self.path2param['/'.join(['', obj] + pathlist)] = (name, key) + if key in self.accessibles: + pobj = Override(**kwds).apply(self.accessibles[key]) + else: + pobj = Parameter(**kwds) + accessibles[key] = pobj + + if not hasattr(self, 'read_' + key): + def rfunc(module=self, cmd='hval %s' % path): + print('READ', cmd) + module._iodev.request(cmd) + # an updateEvent will be handled before above returns + return Done + + setattr(self, 'read_' + key, rfunc) + + if not (readonly or hasattr(self, 'write_' + key)): + # pylint wrongly complains 'Cell variable pobj defined in loop' + # pylint: disable=cell-var-from-loop + def wfunc(value, module=self, datatype=pobj.datatype, command=paramdesc['cmd']): + # TODO: convert to valid tcl data + cmd = "%s %s" % (command, datatype.export_value(value)) + print('WRITE', cmd) + module._iodev.request(cmd) + # an updateEvent will be handled before above returns + return Done + + setattr(self, 'write_' + key, wfunc) + # create standard parameters like value and status, if not yet there + for pname, pobj in self.accessibles.items(): + if pname not in accessibles and isinstance(pobj, Parameter) and pname != 'pollinterval': + accessibles[pname] = Override(poll=False, needscfg=False).apply(pobj) + self.accessibles = accessibles + + def updateEvent(self, module, parameter, value, timestamp, readerror): + upd = getattr(self, 'update_' + parameter, None) + if upd: + upd(value, timestamp, readerror) + return + pobj = self.parameters[parameter] + pobj.timestamp = timestamp + #if not pobj.readonly and pobj.value != value: + # print('UPDATE', module, parameter, value) + # should be done here: deal with clock differences + if not readerror: + try: + pobj.value = value # store the value even in case of a validation error + pobj.value = pobj.datatype(value) + except Exception as e: + readerror = secop_error(e) + pobj.readerror = readerror + self.DISPATCHER.broadcast_event(make_update(self.name, pobj)) + + #def earlyInit(self): + # self.path2param = {k % subst: v for k, v in self.path2param.items()} + + def initModule(self): + self._iodev.register_obj(self, self.sea_object) + super().initModule() + + +class SeaReadable(SeaModule, Readable): + + def update_status(self, value, timestamp, readerror): + if readerror: + value = repr(readerror) + if value == '': + self.status = [self.Status.IDLE, ''] + else: + self.status = [self.Status.ERROR, value] + + def read_status(self): + return self.status + + +class SeaWritable(SeaModule, Writable): + pass + + +class SeaDrivable(SeaModule, Drivable): + _sea_status = '' + _is_running = 0 + + #def buildParams(self, cfgdict, name): + # # insert here special treatment for status and target + # super().buildParams(cfgdict) + + def read_status(self): + return self.status + + def read_target(self): + return self.target + + def write_target(self, value): + self._iodev.request('run %s %s' % (self.sea_object, value)) + #self.status = [self.Status.BUSY, 'driving'] + print('TARGET', self.status) + return value + + def update_status(self, value, timestamp, readerror): + if not readerror: + self._sea_status = value + self.updateStatus() + + def update_is_running(self, value, timestamp, readerror): + if not readerror: + self._is_running = value + self.updateStatus() + + def updateStatus(self): + if self._sea_status: + self.status = [self.Status.ERROR, self._sea_status] + elif self._is_running: + self.status = [self.Status.BUSY, 'driving'] + else: + self.status = [self.Status.IDLE, ''] + + def updateTarget(self, module, parameter, value, timestamp, readerror): + if value is not None: + self.target = value diff --git a/secop_psi/senis.py b/secop_psi/senis.py new file mode 100644 index 0000000..5dc4d80 --- /dev/null +++ b/secop_psi/senis.py @@ -0,0 +1,313 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""senis hall sensor""" + + +import time +import threading +import numpy as np +from serial import Serial +from secop.core import Property, Parameter, Override, Readable, BoolType, \ + FloatRange, TupleOf, StringType, IntRange, Attached + + +class Temperature(Readable): + pollerClass = None + parameters = { + 'value': Override(datatype=FloatRange(unit='degC')), + } + + +class Bcomp(Readable): + pollerClass = None + parameters = { + 'value': Override(datatype=FloatRange(unit='T')), + 'range': Parameter('working range', FloatRange(unit='T'), default=0), + } + +class Raw(Readable): + pollerClass = None + parameters = { + 'value': Override(datatype=FloatRange()), + } + + +class TeslameterBase(Readable): + """code for both models + + the protocol is somewhat weird as the read command 'B' initiates a permanent update + which has to be stopped in between the value polls and for other communication. + + the B components (and temperatures for 3MH6) are implemented as separate modules + """ + properties = { + 'x': Attached(), + 'y': Attached(), + 'z': Attached(), + } + parameters = { + 'value': Override('B vector', poll=True, + datatype=TupleOf(FloatRange(unit='T'), FloatRange(unit='T'), FloatRange(unit='T'))), + 'usb': Parameter('usb device', StringType(), readonly=False), + 'enabled': Parameter('enable data acq', datatype=BoolType(), readonly=False, default=True), + 'nsample': Parameter('number of samples for average', datatype=IntRange(1, 1000), readonly=False, default=1), + } + + def init_serial(self, baud): + self._conn = Serial(self.usb, baud, timeout=0.1) + self._lock = threading.Lock() + self.stop_reading() + + def write_bytes(self, msg): + with self._lock: + self._conn.write(msg) + + def read_bytes(self, cnt): + with self._lock: + return self._conn.read(cnt) + + def stop_reading(self): + self.write_bytes(b'S') + self.read_bytes(9999) # swallow bytes until timeout + + def write_enabled(self, value): + if value: + self.status = self.Status.IDLE, '' + else: + self.status = self.Status.DISABLED, 'disabled' + self._x.status = self._y.status = self._z.status = self.status + return value + + +class Teslameter3MH3(TeslameterBase): + """simpler model without temperature and auto range + + remark: no query for the sample rate is possible, therefore set always to + a default rate (therefore initwrite=True on the rate parameter) + """ + properties = { + 'range': Property('full scale', datatype=FloatRange(), default=2), + } + + def earlyInit(self): + self.init_serial(115200) + self.write_bytes(b'C') # put into calibrated mode + if self.read_bytes(1) != b'!': + self.log.error('missing response to C command') + self.write_bytes(b'A\x80\r') # set to 90 SPS + self.read_bytes(1) # wait 0.1 sec as we get no reply + + def read_value(self): + if not self.enabled: + return self.value + s = self._conn + s.timeout = 0.1 + 0.02 * self.nsample + for _ in range(2): + self.write_bytes(b'B') + t = time.time() + reply = self.read_bytes(8 * self.nsample) + s.timeout = 0.1 + self.stop_reading() + remainder = len(reply) % 8 + if remainder: + reply = reply[:-remainder] + if not reply: + continue + data = np.frombuffer(reply, dtype='i1,3f4'), ('thc', '>f4'), ('y', '>f4'), ('z', '>f4'), + ('_ted', '>i2'), ('tec', '>f4'), ('_tail', 'i2')]) + + mean = {} + for key in data.dtype.fields: + if not key.startswith('_'): + mean[key] = np.average(data[key]) + + self._x.value = mean['x'] * 0.001 + self._y.value = mean['y'] * 0.001 + self._z.value = mean['z'] * 0.001 + self._probe_temp.value = mean['thc'] + self._box_temp.value = mean['tec'] + + self.write_bytes(b'D') # put into NONcalibrated mode + if self.read_bytes(1) != b'd': + self.log.error('missing response to D command') + reply = self.get_data() + data = np.frombuffer(reply, + dtype=[('_head', 'i1'), + ('x', '>i4'), ('thc', '>i4'), ('y', '>i4'), ('z', '>i4'), + ('_ted', '>i2'), ('tec', '>i4'), ('_tail', 'i2')]) + for key in data.dtype.fields: + if not key.startswith('_'): + mean[key] = np.average(data[key]) + + self._x_direct.value = mean['x'] + self._y_direct.value = mean['y'] + self._z_direct.value = mean['z'] + self._probe_temp_direct.value = mean['thc'] + self._box_temp_direct.value = mean['tec'] * 0.01 + + self.avtime = time.time() - t0 + return self._x.value, self._y.value, self._z.value + + def get_rate_code(self, value): + for rate_code, sr in sorted(self.SAMPLING_RATES.items(), key=lambda kv: kv[1]): + if value < sr * 1.1: + break + return sr, rate_code + + def write_rate(self, value): + sr, code = self.get_rate_code(value) + for _ in range(2): + self.write_bytes(b'K%2.2x' % code) + if self.read_bytes(2) == b'k%c' % code: + break + self.stop_reading() + else: + raise ValueError('bad response from rate command') + return sr + + def read_rate(self): + self.write_bytes(b'K?') + reply = self.read_bytes(2) + if reply[0:1] != b'k': + raise ValueError('bad response from rate query') + return self.SAMPLING_RATES[reply[1]] + + def read_range(self): + self.write_bytes(b'amr?') + reply = self.read_bytes(5) + if reply == b'arng:': + ranges = [self.RANGES[c] for c in self.read_bytes(3)] + result = 0 + elif reply == b'mrng:': + ranges = [self.RANGES[self.read_bytes(1)[0]]] * 3 + result = ranges[0] + else: + raise ValueError('bad reply to range query') + self._x.range, self._y.range, self._z.range = ranges + return result + + def write_range(self, value): + status = None + for _ in range(2): + if status: + self.stop_reading() + try: + rng = self.read_range() + except ValueError: + status = 'can not read range' + continue + if value == rng: + return value + if value == 0: + self.write_bytes(b'T') + if self.read_bytes(3) != b'T-1': + status = 'bad reply to auto range command' + continue + return 0 + if rng == 0: + self.write_bytes(b'T') + if self.read_bytes(3) != b'T-0': + status = 'bad reply to toggle manual range command' + continue + for code, rng in sorted(self.RANGES.items()): + if value < rng * 1.1: + break + self.write_bytes(b'mr%c' % code) + if self.read_bytes(6) != b'mrng:%c' % code: + status = 'bad reply to manual range command' + continue + return rng + raise ValueError(status) diff --git a/secop_psi/softcal.py b/secop_psi/softcal.py index f8c0d78..7b4e405 100644 --- a/secop_psi/softcal.py +++ b/secop_psi/softcal.py @@ -110,9 +110,10 @@ class CalCurve: break # then try adding all kinds as extension for kind in KINDS: - filename = join(path.strip(), '%s.%s' % (calibname, kind)) - if exists(filename): - break + for nam in {calibname, calibname.upper(), calibname.lower()}: + filename = join(path.strip(), '%s.%s' % (nam, kind)) + if exists(filename): + break else: continue break diff --git a/secop_psi/testcmd.py b/secop_psi/testcmd.py new file mode 100644 index 0000000..5ba52a2 --- /dev/null +++ b/secop_psi/testcmd.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""Test command arguments""" + +from secop.core import Module, Parameter, Command, FloatRange, StringType, BoolType, TupleOf, StructOf, ArrayOf + + +class TestCmd(Module): + + commands = { + 'arg': + Command('5 args', + argument=TupleOf(StringType(), FloatRange(), BoolType(), TupleOf(BoolType()), StructOf(a=StringType())), + result=StringType()), + 'keyed': + Command('keyworded arg', argument=StructOf(a=StringType(), b=FloatRange(), c=BoolType(), optional=['b']), result=StringType()), + 'one': + Command('1 arg', argument=FloatRange(), result=StringType()), + 'none': + Command('no arg', result=StringType()), + } + parameters = { + 'struct': Parameter('struct', StructOf(a=StringType(), b=FloatRange(), c=BoolType(), optional=['b']), + readonly=False, default=dict(a='',c=True)), + 'array': Parameter('array', ArrayOf(BoolType()), + readonly=False, default=[]), + 'tuple': Parameter('tuple', TupleOf(StringType(), FloatRange(), BoolType(), TupleOf(BoolType()), StructOf(a=StringType())), + readonly=False, default=('',0,False,(False,),dict(a=''))), + } + + def do_arg(self, arg): + return repr(arg) + + def do_keyed(self, arg): + return repr(arg) + + def do_one(self, arg): + return repr(arg) + + def do_none(self): + return repr(None) diff --git a/secop_psi/testtemp.py b/secop_psi/testtemp.py new file mode 100644 index 0000000..cd1ceeb --- /dev/null +++ b/secop_psi/testtemp.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""Temp""" + +from secop.modules import Readable, Drivable, Parameter, Override +from secop.datatypes import FloatRange, IntRange, StringType +from secop.stringio import HasIodev + +Status = Drivable.Status + +class TempLoop(HasIodev, Drivable): + '''temperature channel on Lakeshore 336''' + + parameters = { + 'value': + Override(datatype=FloatRange(unit='K'), default=0, poll=True), + 'status': + Override(poll=False), + 'target': + Override(datatype=FloatRange(1.0, 402.0, unit='K'), default=1.3, poll=True), + 'tolerance': + Parameter('the tolerance', FloatRange(-400,400), default=1, readonly=False), + 'pollinterval': + Override(visibility=3), + 'channel': + Parameter('the Lakeshore channel', datatype=StringType(), export=False), + 'loop': + Parameter('the Lakeshore loop number', datatype=IntRange(1,3), export=False), + } + + def earlyInit(self): + super(TempLoop, self).earlyInit() + self.status = [Status.IDLE, 'idle'] + + def read_value(self): + result = self.sendRecv('KRDG?%s' % self.channel) + result = float(result) + if self.status == Status.BUSY and abs(result - self.target) < self.tolerance: + self.status = [Status.IDLE, 'reached target'] + return result + + def read_target(self): + result = self.sendRecv('SETP?%d' % self.loop) + return float(result) + + def write_target(self, value): + result = float(self.sendRecv('SETP %d,%g;SETP? %d' % (self.loop, value, self.loop))) + self.status = [Status.BUSY, 'changed target'] + float('x') + return result + + def do_stop(self): + self.target = self.value + self.status = [Status.IDLE, 'stopped'] + + +class TempChannel(HasIodev, Readable): + '''temperature channel on Lakeshore 336''' + + parameters = { + 'value': + Override(datatype=FloatRange(unit='K'), default=0, poll=True), + 'status': + Override(poll=False, constant=[Status.IDLE, 'idle']), + 'pollinterval': + Override(visibility=3), + 'channel': + Parameter('the Lakeshore channel', datatype=StringType(), export=False), + } + + def read_value(self): + result = self.sendRecv('KRDG?%s' % self.channel) + result = float(result) + return result diff --git a/secop_psi/ultrasound.py b/secop_psi/ultrasound.py new file mode 100644 index 0000000..a0ac476 --- /dev/null +++ b/secop_psi/ultrasound.py @@ -0,0 +1,259 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""frappy support for ultrasound""" + +#import serial +import os +import math +import time +from secop.core import Readable, Parameter, Override, FloatRange, BoolType, StringIO, \ + Done, Attached, TupleOf, StringType, IntRange, EnumType, HasIodev, Module +from secop.properties import Property +from adq_mr import Adq +import iqplot +import numpy as np + + +def fname_from_time(t, extension): + tm = time.localtime(t) + dirname = os.path.join('..', 'data', time.strftime("%Y-%m-%d_%H", tm)) + filename = time.strftime("%Y-%m-%d_%H-%M-%S_", tm) + filename = filename + ("%.1f" % t)[-1] + if not os.path.isdir(dirname): + os.makedirs(dirname) + return os.path.join(dirname, filename) + + +class Roi(Readable): + properties = { + 'main': Attached(), + } + parameters = { + 'value': Override('amplitude', FloatRange(), default=0), + 'phase': Parameter('phase', FloatRange(unit='deg'), default=0), + 'i': Parameter('in phase', FloatRange(), default=0), + 'q': Parameter('out of phase', FloatRange(), default=0), + 'time': Parameter('start time', FloatRange(unit='nsec'), + readonly=False), + 'size': Parameter('interval (symmetric around time)', FloatRange(unit='nsec'), + readonly=False), + 'enable': Parameter('calculate this roi', BoolType(), readonly=False, default=True), + #'status': Override(export=False), + 'pollinterval': Override(export=False), + } + + interval = (0,0) + + def initModule(self): + self._main.register_roi(self) + self.calc_interval() + + def calc_interval(self): + self.interval = (self.time - 0.5 * self.size, self.time + 0.5 * self.size) + + def write_time(self, value): + self.time = value + self.calc_interval() + return Done + + def write_size(self, value): + self.size = value + self.calc_interval() + return Done + + +class Pars(Module): + description = 'relevant parameters from SEA' + + parameters = { + 'timestamp': Parameter('unix timestamp', StringType(), default='0', readonly=False), + 'temperature': Parameter('T', FloatRange(unit='K'), default=0, readonly=False), + 'mf': Parameter('field', FloatRange(unit='T'), default=0, readonly=False), + 'sr': Parameter('rotaion angle', FloatRange(unit='deg'), default=0, readonly=False), + } + + +class FreqStringIO(StringIO): + end_of_line = '\r' + + +class Frequency(HasIodev, Readable): + properties = { + 'pars': Attached(), + 'sr': Property('samples per record', datatype=IntRange(), default=16384), + 'maxy': Property('plot y scale', datatype=FloatRange(), default=0.5), + } + parameters = { + 'value': Override('frequency@I,q', datatype=FloatRange(unit='Hz'), default=0), + 'basefreq': Parameter('base frequency', FloatRange(unit='Hz'), readonly=False), + 'nr': Parameter('number of records', datatype=IntRange(1,10000), default=500), + 'freq': Parameter('target frequency', FloatRange(unit='Hz'), readonly=False, poll=True), + 'amp': Parameter('amplitude', FloatRange(unit='dBm'), readonly=False, poll=True), + 'control': Parameter('control loop on?', BoolType(), readonly=False, default=True), + 'time': Parameter('pulse start time', FloatRange(unit='nsec'), + readonly=False), + 'size': Parameter('pulse length (starting from time)', FloatRange(unit='nsec'), + readonly=False), + 'pulselen': Parameter('adjusted pulse length (integer number of periods)', FloatRange(unit='nsec'), default=1), + 'maxstep': Parameter('max frequency step', FloatRange(unit='Hz'), readonly=False, + default=10000), + 'minstep': Parameter('min frequency step for slope calculation', FloatRange(unit='Hz'), + readonly=False, default=4000), + 'slope': Parameter('inphase/frequency slope', FloatRange(), readonly=False, + default=1e6), + 'plot': Parameter('create plot images', BoolType(), readonly=False, default=True), + 'save': Parameter('save data', BoolType(), readonly=False, default=True), + 'pollinterval': Override(datatype=FloatRange(0,120)), + } + iodevClass = FreqStringIO + + lastfreq = None + old = None + starttime = None + interval = (0,0) + + def earlyInit(self): + #assert self.iodev.startswith('serial:') + #self._iodev = serial.Serial(self.iodev[7:]) + self.adq = Adq(self.nr, self.sr) + self.roilist = [] + self.write_nr(self.nr) + self.skipctrl = 0 + self.plotter = iqplot.Plot(self.maxy) + self.calc_interval() + + def calc_interval(self): + self.interval = (self.time, self.time + self.size) + + def write_time(self, value): + self.time = value + self.calc_interval() + return Done + + def write_size(self, value): + self.size = value + self.calc_interval() + return Done + + def write_nr(self, value): + # self.pollinterval = value * 0.0001 + return value + + def register_roi(self, roi): + self.roilist.append(roi) + + def set_freq(self): + freq = self.freq + self.basefreq + reply = self.sendRecv('FREQ %.15g;FREQ?' % freq) + #self._iodev.readline().decode('ascii') + return freq + + def write_amp(self, amp): + reply = self.sendRecv('AMPR %g;AMPR?' % amp) + return float(reply) + + def read_amp(self): + reply = self.sendRecv('AMPR?') + return float(reply) + + def write_freq(self, value): + self.skipctrl = 2 # suppress control for the 2 next steps + return value + + def read_freq(self): + """used as main polling loop body""" + if self.lastfreq is None: + self.lastfreq = self.set_freq() + self.adq.start() + if self.starttime is None: + self.starttime = time.time() + times = [] + times.append(('init', time.time())) + seadata = {p: float(getattr(self._pars, p)) for p in self._pars.parameters} + data = self.adq.getdata() # this will wait, if not yet finished + times.append(('wait',time.time())) + freq = self.lastfreq # data was acquired at this freq + seadata['frequency'] = freq + self.lastfreq = self.set_freq() + times.append(('setf',time.time())) + self.adq.start() # start next acq + times.append(('start',time.time())) + roilist = [r for r in self.roilist if r.enable] + + gates = self.adq.gates_and_curves(data, freq, self.interval, + [r.interval for r in roilist]) + if self.save: + tdata, idata, qdata, pdata = self.adq.curves + seadata['timestep'] = tdata[1] - tdata[0] + iqdata = np.array((idata, qdata, pdata), dtype='f4') + ts = seadata['timestamp'] + if ts: + filename = fname_from_time(ts, '.npz') + seanp = np.array(list(seadata.items()), dtype=[('name', 'U16'), ('value', 'f8')]) + np.savez(filename, seadata=seanp, iqdata=iqdata) + # can be load back via + # content = np.load(filename) + # content['seadata'], content['iqdata'] + self.pulselen = self.adq.pulselen + times.append(('ana',time.time())) + if self.plot: + # get reduced interval from adq.sinW + pulseint = (self.interval[0], self.interval[0] + self.pulselen) + try: + self.plotter.plot( + self.adq.curves, + rois=[pulseint] + [r.interval for r in roilist], + average=([r.time for r in roilist], + [r.i for r in roilist], + [r.q for r in roilist])) + except Exception as e: + self.log.warning('can not plot %r' % e) + else: + self.plotter.close() + now = time.time() + times.append(('plot',now)) + # print(' '.join('%s %5.3f' % (label, t - self.starttime) for label, t in times)) + self.starttime = now + self.value = freq - self.basefreq + for i, roi in enumerate(roilist): + roi.i = a = gates[i][0] + roi.q = b = gates[i][1] + roi.value = math.sqrt(a ** 2 + b ** 2) + roi.phase = math.atan2(a,b) * 180 / math.pi + inphase = self.roilist[0].i + if self.control: + newfreq = freq + inphase * self.slope - self.basefreq + # step = sorted((-self.maxstep, inphase * self.slope, self.maxstep))[1] + if self.old: + fdif = freq - self.old[0] + idif = inphase - self.old[1] + if abs(fdif) >= self.minstep: + self.slope = - fdif / idif + else: + fdif = 0 + idif = 0 + newfreq = freq + self.minstep + self.old = (freq, inphase) + if self.skipctrl > 0: # do no control for some time after changing frequency + self.skipctrl -= 1 + elif self.control: + self.freq = sorted((self.freq - self.maxstep, newfreq, self.freq + self.maxstep))[1] + return Done From 2bd30c44235c7512865f6e3176abec17b726a3ec Mon Sep 17 00:00:00 2001 From: l_samenv Date: Thu, 30 Jul 2020 08:42:44 +0200 Subject: [PATCH 04/51] test adding README --- README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 From 5aff4b9dab498ed8bf3c16c16fc48a51d780751a Mon Sep 17 00:00:00 2001 From: l_samenv Date: Thu, 30 Jul 2020 08:46:09 +0200 Subject: [PATCH 05/51] README: add a short description --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index e69de29..0c0b417 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,4 @@ +# Frappy Framework + +current running code at SINQ, with newset changes not yet pushed +through the Gerrit workflow at MLZ From 7f7c1a85abd6409a5a164580e568dd00467781fb Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 25 Jun 2020 12:02:17 +0200 Subject: [PATCH 06/51] improvements on PPMS and LS370 - PPMS: improved machanism for 10 K waiting - LS370: fixed an issue with auto range + LS370: show test for all status bits Change-Id: Ia6454141917893f0e5c6c4351df3a864942bb629 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/23495 Tested-by: Jenkins Automated Tests Reviewed-by: Markus Zolliker --- secop_psi/ls370sim.py | 148 ++++++++++++++++++++---------------------- 1 file changed, 71 insertions(+), 77 deletions(-) diff --git a/secop_psi/ls370sim.py b/secop_psi/ls370sim.py index 02a36bf..c55e298 100644 --- a/secop_psi/ls370sim.py +++ b/secop_psi/ls370sim.py @@ -1,77 +1,71 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# ***************************************************************************** -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Module authors: -# Markus Zolliker -# ***************************************************************************** -"""a very simple simulator for a LakeShore Model 370""" - -from secop.modules import Communicator -#from secop.lib import mkthread - -class Ls370Sim(Communicator): - CHANNEL_COMMANDS = [ - ('RDGR?%d', '1.0'), - ('RDGST?%d', '0'), - ('RDGRNG?%d', '0,5,5,0,0'), - ('INSET?%d', '1,5,5,0,0'), - ('FILTER?%d', '1,5,80'), - ] - OTHER_COMMANDS = [ - ('*IDN?', 'LSCI,MODEL370,370184,05302003'), - ('SCAN?', '3,1'), - ] - def earlyInit(self): - self._data = dict(self.OTHER_COMMANDS) - for fmt, v in self.CHANNEL_COMMANDS: - for chan in range(1,17): - self._data[fmt % chan] = v - # mkthread(self.run) - - def do_communicate(self, command): - # simulation part, time independent - for channel in range(1,17): - _, _, _, _, excoff = self._data['RDGRNG?%d' % channel].split(',') - if excoff == '1': - self._data['RDGST?%d' % channel] = '6' - else: - self._data['RDGST?%d' % channel] = '0' - - chunks = command.split(';') - reply = [] - for chunk in chunks: - if '?' in chunk: - reply.append(self._data[chunk]) - else: - for nqarg in (1,0): - if nqarg == 0: - qcmd, arg = chunk.split(' ', 1) - qcmd += '?' - else: - qcmd, arg = chunk.split(',', nqarg) - qcmd = qcmd.replace(' ', '?', 1) - if qcmd in self._data: - self._data[qcmd] = arg - break - #if command.startswith('R'): - # print('> %s\t< %s' % (command, reply)) - return ';'.join(reply) - - #def run(self): - # # time dependent simulation - # while True: - # time.sleep(1) +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** +"""a very simple simulator for a LakeShore Model 370""" + +from secop.modules import Communicator + +class Ls370Sim(Communicator): + CHANNEL_COMMANDS = [ + ('RDGR?%d', '1.0'), + ('RDGST?%d', '0'), + ('RDGRNG?%d', '0,5,5,0,0'), + ('INSET?%d', '1,5,5,0,0'), + ('FILTER?%d', '1,5,80'), + ] + OTHER_COMMANDS = [ + ('*IDN?', 'LSCI,MODEL370,370184,05302003'), + ('SCAN?', '3,1'), + ] + def earlyInit(self): + self._data = dict(self.OTHER_COMMANDS) + for fmt, v in self.CHANNEL_COMMANDS: + for chan in range(1,17): + self._data[fmt % chan] = v + # mkthread(self.run) + + def do_communicate(self, command): + # simulation part, time independent + for channel in range(1,17): + _, _, _, _, excoff = self._data['RDGRNG?%d' % channel].split(',') + if excoff == '1': + self._data['RDGST?%d' % channel] = '6' + else: + self._data['RDGST?%d' % channel] = '0' + + chunks = command.split(';') + reply = [] + for chunk in chunks: + if '?' in chunk: + reply.append(self._data[chunk]) + else: + for nqarg in (1,0): + if nqarg == 0: + qcmd, arg = chunk.split(' ', 1) + qcmd += '?' + else: + qcmd, arg = chunk.split(',', nqarg) + qcmd = qcmd.replace(' ', '?', 1) + if qcmd in self._data: + self._data[qcmd] = arg + break + #if command.startswith('R'): + # print('> %s\t< %s' % (command, reply)) + return ';'.join(reply) From 047f3a7606e4a77c1ff67da545280b0a06fd33c3 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 29 Jul 2020 14:57:50 +0200 Subject: [PATCH 07/51] add a lot of current stuff this is not (yet) in the frm2 repo Change-Id: Ia5b2996803c3dbb15b85ab1bc3a24717ac6297fb --- secop_psi/ls370sim.py | 1 + 1 file changed, 1 insertion(+) diff --git a/secop_psi/ls370sim.py b/secop_psi/ls370sim.py index c55e298..a445ef4 100644 --- a/secop_psi/ls370sim.py +++ b/secop_psi/ls370sim.py @@ -69,3 +69,4 @@ class Ls370Sim(Communicator): #if command.startswith('R'): # print('> %s\t< %s' % (command, reply)) return ';'.join(reply) + From 89bf080dab3efb204cbb2db4be4b5b9e099f84ce Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 13 Aug 2020 11:37:18 +0200 Subject: [PATCH 08/51] fix typo Change-Id: I578668ab179b9d95bb16a0103bb96c5f4a937133 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c0b417..aa9b9d4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ # Frappy Framework -current running code at SINQ, with newset changes not yet pushed +current running code at SINQ, with newest changes not yet pushed through the Gerrit workflow at MLZ From c1ffc160a283522b847a672afcb3a0cf2cc892e4 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 8 Sep 2020 12:13:17 +0200 Subject: [PATCH 09/51] configurable search path for cfg files --- secop/server.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/secop/server.py b/secop/server.py index 4dae2f3..7a64739 100644 --- a/secop/server.py +++ b/secop/server.py @@ -24,6 +24,7 @@ """Define helpers""" import os +from os.path import join, exists, dirname, isdir import ast import time import threading @@ -93,11 +94,7 @@ class Server: merged_cfg = OrderedDict() ambiguous_sections = set() for cfgfile in cfgfiles.split(','): - if cfgfile.endswith('.cfg') and os.path.exists(cfgfile): - filename = cfgfile - else: - filename = os.path.join(cfg['confdir'], cfgfile + '.cfg') - cfgdict = self.loadCfgFile(filename) + cfgdict = self.loadCfgFile(cfgfile) ambiguous_sections |= set(merged_cfg) & set(cfgdict) merged_cfg.update(cfgdict) self.node_cfg = merged_cfg.pop('NODE', {}) @@ -114,9 +111,22 @@ class Server: if ambiguous_sections: self.log.warning('ambiguous sections in %s: %r' % (cfgfiles, tuple(ambiguous_sections))) self._cfgfiles = cfgfiles - self._pidfile = os.path.join(cfg['piddir'], name + '.pid') + self._pidfile = join(cfg['piddir'], name + '.pid') - def loadCfgFile(self, filename): + def loadCfgFile(self, cfgfile): + if not cfgfile.endswith('.cfg'): + cfgfile += '.cfg' + if '/' in cfgfile: # specified as full path + filename = cfgfile if exists(cfgfile) else None + else: + cfg = getGeneralConfig() + for filename in [join(d, cfgfile) for d in cfg['confdir'].split(':')]: + if exists(filename): + break + else: + filename = None + if filename is None: + raise ConfigError("Couldn't find cfg file %r" % cfgfile) self.log.debug('Parse config file %s ...' % filename) result = OrderedDict() parser = configparser.ConfigParser() @@ -154,8 +164,8 @@ class Server: def start(self): if not DaemonContext: raise ConfigError('can not daemonize, as python-daemon is not installed') - piddir = os.path.dirname(self._pidfile) - if not os.path.isdir(piddir): + piddir = dirname(self._pidfile) + if not isdir(piddir): os.makedirs(piddir) pidfile = pidlockfile.TimeoutPIDLockFile(self._pidfile) From 99e32065b1e41c33d913514f37423440de09ffea Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 8 Sep 2020 13:31:38 +0200 Subject: [PATCH 10/51] simplyfy some error messages --- secop/errors.py | 6 ++++++ secop/protocol/dispatcher.py | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/secop/errors.py b/secop/errors.py index 3cbbda3..6d652a1 100644 --- a/secop/errors.py +++ b/secop/errors.py @@ -138,6 +138,12 @@ def secop_error(exception): return InternalError(repr(exception)) +def fmt_error(exception): + if isinstance(exception, SECoPError): + return str(exception) + return repr(exception) + + EXCEPTIONS = dict( NoSuchModule=NoSuchModuleError, NoSuchParameter=NoSuchParameterError, diff --git a/secop/protocol/dispatcher.py b/secop/protocol/dispatcher.py index 3c6e903..9f6c022 100644 --- a/secop/protocol/dispatcher.py +++ b/secop/protocol/dispatcher.py @@ -43,7 +43,7 @@ from collections import OrderedDict from time import time as currenttime from secop.errors import BadValueError, NoSuchCommandError, NoSuchModuleError, \ - NoSuchParameterError, ProtocolError, ReadOnlyError, SECoPServerError + NoSuchParameterError, ProtocolError, ReadOnlyError, SECoPServerError, fmt_error from secop.params import Parameter from secop.protocol.messages import COMMANDREPLY, DESCRIPTIONREPLY, \ DISABLEEVENTSREPLY, ENABLEEVENTSREPLY, ERRORPREFIX, EVENTREPLY, \ @@ -53,8 +53,8 @@ from secop.protocol.messages import COMMANDREPLY, DESCRIPTIONREPLY, \ def make_update(modulename, pobj): if pobj.readerror: return (ERRORPREFIX + EVENTREPLY, '%s:%s' % (modulename, pobj.export), - # error-report ! - [pobj.readerror.name, repr(pobj.readerror), dict(t=pobj.timestamp)]) + # error-report ! + [pobj.readerror.name, fmt_error(pobj.readerror), dict(t=pobj.timestamp)]) return (EVENTREPLY, '%s:%s' % (modulename, pobj.export), [pobj.export_value(), dict(t=pobj.timestamp)]) From ab21bb5e3f47c71065be1899d6495d5c4ee54662 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 8 Sep 2020 13:32:18 +0200 Subject: [PATCH 11/51] add timestamp to error reply --- secop/protocol/interface/tcp.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/secop/protocol/interface/tcp.py b/secop/protocol/interface/tcp.py index 58ccc33..900014f 100644 --- a/secop/protocol/interface/tcp.py +++ b/secop/protocol/interface/tcp.py @@ -25,6 +25,7 @@ import sys import socket import socketserver import threading +import time from secop.datatypes import StringType, BoolType from secop.errors import SECoPError @@ -133,6 +134,7 @@ class TCPRequestHandler(socketserver.BaseRequestHandler): if result[0].startswith(ERRORPREFIX) and not detailed_errors: # strip extra information result[2][2].clear() + result[2][2]['t'] = time.time() self.send_reply(result) def send_reply(self, data): From 99bdafdd0c3293d17e3f23508d2b7762804474e7 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 8 Sep 2020 13:33:13 +0200 Subject: [PATCH 12/51] support name mangling for parameter/command names --- secop/client/__init__.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/secop/client/__init__.py b/secop/client/__init__.py index 27d53fd..fba9cb1 100644 --- a/secop/client/__init__.py +++ b/secop/client/__init__.py @@ -457,8 +457,7 @@ class SecopClient(ProxyClient): modules = data['modules'] self.modules = {} self.properties = {k: v for k, v in data.items() if k != 'modules'} - self.identifier = {} # map (module, parameter) -> identifier - self.internal = {} # map identifier -> (module, parameter) + self.identifier = defaultdict(dict) # dict of dict of for modname, moddescr in modules.items(): # separate accessibles into command and parameters parameters = {} @@ -469,8 +468,7 @@ class SecopClient(ProxyClient): datatype = get_datatype(aentry['datainfo'], iname) aentry = dict(aentry, datatype=datatype) ident = '%s:%s' % (modname, aname) - self.identifier[modname, iname] = ident - self.internal[ident] = modname, iname + self.identifier[modname][iname] = ident if datatype.IS_COMMAND: commands[iname] = aentry else: @@ -478,6 +476,11 @@ class SecopClient(ProxyClient): properties = {k: v for k, v in moddescr.items() if k != 'accessibles'} self.modules[modname] = dict(accessibles=accessibles, parameters=parameters, commands=commands, properties=properties) + self.fix_internal_names() + # invert self.identifier + self.internal = {ident: (modname, iname) + for modname, identdict in self.identifier.items() + for iname, ident in identdict.items()} if changed_modules is not None: done = done_main = self.callback(None, 'descriptiveDataChange', None, self) for mname in changed_modules: @@ -534,7 +537,7 @@ class SecopClient(ProxyClient): def readParameter(self, module, parameter): """forced read over connection""" try: - self.request(READREQUEST, self.identifier[module, parameter]) + self.request(READREQUEST, self.identifier[module][parameter]) except secop.errors.SECoPError: # error reply message is already stored as readerror in cache pass @@ -553,7 +556,7 @@ class SecopClient(ProxyClient): self.connect() # make sure we are connected datatype = self.modules[module]['parameters'][parameter]['datatype'] value = datatype.export_value(value) - self.request(WRITEREQUEST, self.identifier[module, parameter], value) + self.request(WRITEREQUEST, self.identifier[module][parameter], value) return self.cache[module, parameter] def execCommand(self, module, command, argument=None): @@ -565,7 +568,7 @@ class SecopClient(ProxyClient): if argument is not None: raise secop.errors.BadValueError('command has no argument') # pylint: disable=unsubscriptable-object - data, qualifiers = self.request(COMMANDREQUEST, self.identifier[module, command], argument)[2] + data, qualifiers = self.request(COMMANDREQUEST, self.identifier[module][command], argument)[2] datatype = self.modules[module]['commands'][command]['datatype'].result if datatype: data = datatype.import_value(data) @@ -587,3 +590,6 @@ class SecopClient(ProxyClient): if name.startswith('_') and name[1:] not in self.PREDEFINED_NAMES: return name[1:] return name + + def fix_internal_names(self): + """fix forbidden items""" From 5f9344109d777633c2021596e981bc46c8b54e4a Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 8 Sep 2020 13:36:11 +0200 Subject: [PATCH 13/51] improve sea client --- secop_psi/sea.py | 116 +++++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 48 deletions(-) diff --git a/secop_psi/sea.py b/secop_psi/sea.py index af20724..76f718f 100644 --- a/secop_psi/sea.py +++ b/secop_psi/sea.py @@ -41,7 +41,7 @@ from secop.modules import Module, Parameter, Command, Override, Drivable, Readab from secop.datatypes import StringType, FloatRange, ArrayOf, BoolType, IntRange, EnumType from secop.lib import mkthread, getGeneralConfig from secop.lib.asynconn import AsynConn, ConnectionClosed -from secop.metaclass import Done +from secop.metaclass import ModuleMeta, Done from secop.errors import HardwareError, secop_error, ConfigError from secop.client import ProxyClient from secop.protocol.dispatcher import make_update @@ -54,7 +54,6 @@ description = %(samenv)s over SEA [seaconn] class = secop_psi.sea.SeaClient description = a SEA connection -uri = %(uri)s """ CFG_MODULE = """ @@ -67,6 +66,7 @@ remote_paths = . SEA_DIR = expanduser('~/sea') +confdir = getGeneralConfig()['confdir'].split(':', 1)[0] def get_sea_port(instance): @@ -143,14 +143,14 @@ class SeaClient(ProxyClient, Module): def request(self, command): """send a request and wait for reply""" with self._write_lock: - if not self.io: + if not self.io or not self.io.connection: + if not self.asyncio.connection: + self._connect(None) self.io = AsynConn(self.uri) assert self.io.readline() == b'OK' self.io.writeline(b'seauser seaser') assert self.io.readline() == b'Login OK' - # do this before changing to user rights (avoid cluttering log) - #self.io.writeline(b'protocol set json') - #self.io.writeline(b'config rights seauser seaser') + self.io.flush_recv() self.io.writeline(('fulltransact %s' % command).encode()) result = None deadline = time.time() + 10 @@ -170,7 +170,6 @@ class SeaClient(ProxyClient, Module): print('missing TRANSACTIONSTART on: %s' % command) return '' if not result: - print('missing return value on: %s' % command) return '' return '\n'.join(result) if result is None: @@ -203,7 +202,7 @@ class SeaClient(ProxyClient, Module): continue else: continue - data = {'error %s' % path: readerror.replace('ERROR: ', '')} + data = {'%s.geterror' % path: readerror.replace('ERROR: ', '')} obj = None flag = 'hdbevent' else: @@ -217,22 +216,30 @@ class SeaClient(ProxyClient, Module): started_callback = None continue if flag != 'hdbevent': - print('SKIP', msg) + if obj != 'protocol': + print('SKIP', msg) continue if data is None: continue + now = time.time() for path, value in data.items(): readerror = None - if path.startswith('error '): - readerror = HardwareError(value) + if path.endswith('.geterror'): + if value: + readerror = HardwareError(value) + path = path.rsplit('.', 1)[0] value = None - path = path[6:] try: module, param = self.path2param[path] - self.updateValue(module, param, value, time.time(), readerror) except KeyError: # print('UNUSED', msg) - pass # unused parameters + continue # unused parameter + oldv, oldt, oldr = self.cache.get((module, param), [None, None, None]) + if value is None: + value = oldv + if value != oldv or str(readerror) != str(oldr) or abs(now - oldt) > 60: + # do not update unchanged values within 0.1 sec + self.updateValue(module, param, value, now, readerror) def do_communicate(self, command): reply = self.request(command) @@ -243,10 +250,9 @@ class SeaClient(ProxyClient, Module): reply = ''.join('' if line.startswith('WARNING') else line for line in reply.split('\n')) samenv, reply = json.loads(reply) samenv = samenv.replace('/', '_') - confdir = getGeneralConfig()['confdir'] result = [] with open(join(confdir, 'sea', samenv + '.cfg'), 'w') as cfp: - cfp.write(CFG_HEADER % dict(samenv=samenv, uri=self.uri)) + cfp.write(CFG_HEADER % dict(samenv=samenv)) for filename, obj, descr in reply: content = json.dumps([obj, descr]).replace('}, {', '},\n{') with open(join(confdir, 'sea', filename + '.json'), 'w') as fp: @@ -290,28 +296,24 @@ class SeaModule(Module): path2param = None sea_object = None - def __init__(self, name, logger, cfgdict, dispatcher): - self.buildParams(cfgdict, name) - Module.__init__(self, name, logger, cfgdict, dispatcher) - - def buildParams(self, cfgdict, name): + def __new__(cls, name, logger, cfgdict, dispatcher): visibility_level = cfgdict.pop('visibility_level', 2) json_descr = cfgdict.pop('json_descr') remote_paths = cfgdict.pop('remote_paths', '') if 'description' not in cfgdict: cfgdict['description'] = '%s (remote_paths=%s)' % (json_descr, remote_paths) - with open(join(getGeneralConfig()['confdir'], 'sea', json_descr + '.json')) as fp: - obj, descr = json.load(fp) + with open(join(confdir, 'sea', json_descr + '.json')) as fp: + sea_object, descr = json.load(fp) remote_paths = remote_paths.split() - self.sea_object = obj if remote_paths: result = [] for rpath in remote_paths: include = True for paramdesc in descr: - if paramdesc.get('visibility', 1) > visibility_level: - continue path = paramdesc['path'] + if paramdesc.get('visibility', 1) > visibility_level: + if not path.endswith('is_running'): + continue sub = path.split('/', 1) if rpath == '.': # take all except subpaths with readonly node at top if len(sub) == 1: @@ -326,8 +328,9 @@ class SeaModule(Module): main = '' else: # take all main = '' - self.path2param = {} - accessibles = {} + path2param = {} + parameters = {} + attributes = dict(sea_object=sea_object, path2param=path2param, parameters=parameters) for paramdesc in descr: path = paramdesc['path'] readonly = paramdesc.get('readonly', True) @@ -350,43 +353,61 @@ class SeaModule(Module): # flatten path to parameter name for i in reversed(range(len(pathlist))): key = '_'.join(pathlist[i:]) - if not key in self.accessibles: + if not key in cls.accessibles: break if key == 'is_running': kwds['export'] = False - self.path2param['/'.join(['', obj] + pathlist)] = (name, key) - if key in self.accessibles: - pobj = Override(**kwds).apply(self.accessibles[key]) + path2param['/'.join(['', sea_object] + pathlist)] = (name, key) + if key in cls.accessibles: + if key == 'target': + kwds['readonly'] = False + pobj = Override(**kwds) + datatype = kwds.get('datatype', cls.accessibles[key].datatype) else: pobj = Parameter(**kwds) - accessibles[key] = pobj - - if not hasattr(self, 'read_' + key): - def rfunc(module=self, cmd='hval %s' % path): + datatype = pobj.datatype + parameters[key] = pobj + if not hasattr(cls, 'read_' + key): + def rfunc(self, cmd='hval /sics/%s/%s' % (sea_object, path)): print('READ', cmd) - module._iodev.request(cmd) + reply = self._iodev.request(cmd) + print('REPLY', reply) + if reply.startswith('ERROR: '): + raise HardwareError(reply.split(' ', 1)[1]) + try: + reply = float(reply) + except ValueError: + pass # an updateEvent will be handled before above returns - return Done + return reply - setattr(self, 'read_' + key, rfunc) + attributes['read_' + key] = rfunc - if not (readonly or hasattr(self, 'write_' + key)): + if not (readonly or hasattr(cls, 'write_' + key)): # pylint wrongly complains 'Cell variable pobj defined in loop' # pylint: disable=cell-var-from-loop - def wfunc(value, module=self, datatype=pobj.datatype, command=paramdesc['cmd']): + def wfunc(self, value, datatype=datatype, command=paramdesc['cmd']): # TODO: convert to valid tcl data cmd = "%s %s" % (command, datatype.export_value(value)) print('WRITE', cmd) - module._iodev.request(cmd) + self._iodev.request(cmd) # an updateEvent will be handled before above returns return Done - setattr(self, 'write_' + key, wfunc) + attributes['write_' + key] = wfunc # create standard parameters like value and status, if not yet there - for pname, pobj in self.accessibles.items(): - if pname not in accessibles and isinstance(pobj, Parameter) and pname != 'pollinterval': - accessibles[pname] = Override(poll=False, needscfg=False).apply(pobj) - self.accessibles = accessibles + for pname, pobj in cls.accessibles.items(): + if pname == 'pollinterval': + parameters[pname] = Override(export=False) + elif pname not in parameters and isinstance(pobj, Parameter): + parameters[pname] = Override(poll=False, needscfg=False) + + classname = '%s_%s' % (cls.__name__, sea_object) + newcls = ModuleMeta.__new__(ModuleMeta, classname, (cls,), attributes) + return Module.__new__(newcls) + + def __init__(self, name, logger, cfgdict, dispatcher): + Module.__init__(self, name, logger, cfgdict, dispatcher) def updateEvent(self, module, parameter, value, timestamp, readerror): upd = getattr(self, 'update_' + parameter, None) @@ -450,7 +471,6 @@ class SeaDrivable(SeaModule, Drivable): def write_target(self, value): self._iodev.request('run %s %s' % (self.sea_object, value)) #self.status = [self.Status.BUSY, 'driving'] - print('TARGET', self.status) return value def update_status(self, value, timestamp, readerror): From 1c42859466e2371483dcb4e1289b368bc66f38d5 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Thu, 10 Sep 2020 10:43:34 +0200 Subject: [PATCH 14/51] newset version of senis --- cfg/senis3mh6.cfg | 30 ++++++++++++++++++++++++++++-- secop_psi/senis.py | 7 ++++--- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/cfg/senis3mh6.cfg b/cfg/senis3mh6.cfg index b841ac2..ebefc9b 100644 --- a/cfg/senis3mh6.cfg +++ b/cfg/senis3mh6.cfg @@ -1,12 +1,18 @@ [b] description = '3D hall sensor' class = secop_psi.senis.Teslameter3MH6 -usb = /dev/tty.usbserial-AI02VAD9 +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 [bx] description = 'x component' @@ -26,4 +32,24 @@ class = secop_psi.senis.Temperature [btemp] description = 'box temperature' -class = secop_psi.senis.Temperature \ No newline at end of file +class = secop_psi.senis.Temperature + +[dbx] +description = 'x component' +class = secop_psi.senis.Raw + +[dby] +description = 'y component' +class = secop_psi.senis.Raw + +[dbz] +description = 'z component' +class = secop_psi.senis.Raw + +[dptemp] +description = 'probe temperature' +class = secop_psi.senis.Raw + +[dbtemp] +description = 'box temperature' +class = secop_psi.senis.Temperature diff --git a/secop_psi/senis.py b/secop_psi/senis.py index 5dc4d80..ab2b867 100644 --- a/secop_psi/senis.py +++ b/secop_psi/senis.py @@ -275,7 +275,7 @@ class Teslameter3MH6(TeslameterBase): ranges = [self.RANGES[self.read_bytes(1)[0]]] * 3 result = ranges[0] else: - raise ValueError('bad reply to range query') + raise ValueError('bad reply to range query %s' % repr(reply)) self._x.range, self._y.range, self._z.range = ranges return result @@ -306,8 +306,9 @@ class Teslameter3MH6(TeslameterBase): if value < rng * 1.1: break self.write_bytes(b'mr%c' % code) - if self.read_bytes(6) != b'mrng:%c' % code: - status = 'bad reply to manual range command' + reply = self.read_bytes(6) + if reply != b'mrng:%c' % code: + status = 'bad reply to manual range command %s' % repr(reply) continue return rng raise ValueError(status) From 587b170f6ac617d0c799906e8bc41fdc210f086c Mon Sep 17 00:00:00 2001 From: l_samenv Date: Thu, 10 Sep 2020 15:47:04 +0200 Subject: [PATCH 15/51] update SR_7270 --- cfg/mb11.cfg | 33 ++++++++++--------------- secop_psi/SR_7270.py | 58 +++++++++++++++++++++++++++++++------------- 2 files changed, 54 insertions(+), 37 deletions(-) diff --git a/cfg/mb11.cfg b/cfg/mb11.cfg index 9b54151..41a1c25 100644 --- a/cfg/mb11.cfg +++ b/cfg/mb11.cfg @@ -1,76 +1,69 @@ -[node mb11.psi.ch] -description = mb11 over SEA - -[interface tcp] -type = tcp -bindport = 5002 - -[module seaconn] +[seaconn] class = secop_psi.sea.SeaClient description = a SEA connection -uri = tcp://localhost:8645 +# uri will be automatic -[module ts] +[ts] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = ts.mb11.config remote_paths = . -[module tvs] +[tvs] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = tvs.mb11.config remote_paths = . -[module tvd] +[tvd] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = tvd.mb11.config remote_paths = . -[module pstat] +[pstat] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = pstat.mb11.config remote_paths = . -[module pdyn] +[pdyn] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = pdyn.mb11.config remote_paths = . -[module tneck1] +[tneck1] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = tneck1.mb11.config remote_paths = . -[module tneck2] +[tneck2] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = tneck2.mb11.config remote_paths = . -[module tnvs] +[tnvs] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = tnvs.mb11.config remote_paths = . -[module tnvd] +[tnvd] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = tnvd.mb11.config remote_paths = . -[module mf] +[mf] class = secop_psi.sea.SeaDrivable iodev = seaconn json_descr = mf.mb11.config remote_paths = . -[module tcoil] +[tcoil] class = secop_psi.sea.SeaReadable iodev = seaconn json_descr = tcoil.mb11.config diff --git a/secop_psi/SR_7270.py b/secop_psi/SR_7270.py index 2f8f699..e2934d0 100644 --- a/secop_psi/SR_7270.py +++ b/secop_psi/SR_7270.py @@ -20,8 +20,8 @@ # ***************************************************************************** """SIGNAL RECOVERY SR7270: lOCKIN AMPLIFIER FOR AC SUSCEPTIBILITY""" -from secop.core import Readable, Parameter, Override, FloatRange, TupleOf, HasIodev, StringIO, \ - Done, Attached, IntRange, BoolType +from secop.core import Readable, Parameter, Override, Command, FloatRange, TupleOf, \ + HasIodev, StringIO, Done, Attached, IntRange, BoolType class SR7270(StringIO): @@ -35,31 +35,33 @@ class SR7270(StringIO): -class XY(HasIodev, Readable): +class XY(HasIodev, Readable): properties = { 'x': Attached(), 'y': Attached(), 'freq_arg': Attached(), 'amp_arg': Attached(), 'tc_arg': Attached(), - } + }#parameters required an initial value but initwrite write the default value for polled parameters parameters = { 'value': Override('X, Y', datatype=TupleOf(FloatRange(unit='V'), FloatRange(unit='V'))), 'freq': Parameter('exc_freq_int', FloatRange(0.001,250e3,unit='Hz'), - poll=True, readonly=False, default=100), + poll=True, readonly=False, initwrite=True, default=1000), 'amp': Parameter('exc_volt_int', FloatRange(0.00,5,unit='Vrms'), - poll=True, readonly=False, default=5), + poll=True, readonly=False, initwrite=True, default=1), 'range': Parameter('sensitivity value', FloatRange(0.00,1,unit='V'), poll=True, default=1), 'irange': Parameter('sensitivity index', IntRange(0,27), poll=True, readonly=False, default=25), 'autorange': Parameter('autorange_on', BoolType(), readonly=False, default=True), 'tc': Parameter('time constant value', FloatRange(10e-6,1,unit='s'), poll=True, default=0.1), - 'itc': Parameter('time constant index', IntRange(0,30), poll=True, readonly=False, default=12), + 'itc': Parameter('time constant index', IntRange(0,30), poll=True, readonly=False, initwrite=True, default=14), 'nm': Parameter ('noise mode',BoolType(), readonly=False, default=0), - 'aphase': Parameter('autophase',BoolType(), readonly=False, default=0), - # FloatRange(0.00,5e6,unit='uVrms'), - # poll=True, readonly=False, default=100), + 'phase': Parameter('Reference phase control', FloatRange(-360,360,unit='deg'), poll=True, readonly=False, initwrite=True, default=0), + 'vmode' : Parameter('Voltage input configuration', IntRange(0,3), readonly=False, default=3), + } + commands = { + 'aphase': Command('auto phase'), } iodevClass = SR7270 @@ -82,6 +84,7 @@ class XY(HasIodev, Readable): self.write_irange(self.irange-1) self._x.value = x # to update X,Y classes which will be the collected data. self._y.value = y + # print(x,y) self._freq_arg.value = self.freq self._amp_arg.value = self.amp self._tc_arg.value =self.tc @@ -151,22 +154,43 @@ class XY(HasIodev, Readable): return reply -#autophase - def read_aphase(self): - reply = self.comm('AQN') - +#phase and autophase + + + def read_phase(self): + reply = self.comm('REFP.') + return reply - def write_aphase(self,value): - self.comm('AQN') - self.read_aphase() + def write_phase(self,value): + self.comm('REFP %d' % round(1000*value,0)) + self.read_phase() return value + + + def do_aphase(self): + self.read_phase() + reply = self.comm('AQN') + self.read_phase() + +#voltage input configuration 0:grounded,1=A,2=B,3=A-B +# def read_vmode(self): + # reply = self.comm('VMODE') + # return reply + def write_vmode(self,value): + self.comm('VMODE %d' % value) + # self.read_vmode() + return value + + class Comp(Readable): pollerClass = None parameters = { 'value': Override(datatype=FloatRange(unit='V')), } + + class arg(Readable): From f7576cf541657f61603354abf82b6cc7e7b520b1 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Fri, 25 Sep 2020 11:19:17 +0200 Subject: [PATCH 16/51] fix initwrite behaviour with handlers, a parameter from the cfg file which is not the first of parameters with the same handler were not written. fix: write_ method is called for all parameters in .writeDict even if there is no poll entry. with this fix, the write_ is called even when a parameter is not polled. --- secop/modules.py | 54 ++++++++++++++++++++++----------------------- secop/params.py | 10 ++++----- secop/poller.py | 6 ++++- test/test_poller.py | 3 ++- 4 files changed, 38 insertions(+), 35 deletions(-) diff --git a/secop/modules.py b/secop/modules.py index 0940ba5..980e056 100644 --- a/secop/modules.py +++ b/secop/modules.py @@ -346,16 +346,6 @@ class Module(HasProperties, metaclass=ModuleMeta): def initModule(self): self.log.debug('empty %s.initModule()' % self.__class__.__name__) - def startModule(self, started_callback): - """runs after init of all modules - - started_callback to be called when thread spawned by late_init - or, if not implemented, immediately - might return a timeout value, if different from default - """ - self.log.debug('empty %s.startModule()' % self.__class__.__name__) - started_callback() - def pollOneParam(self, pname): """poll parameter with proper error handling""" try: @@ -367,23 +357,34 @@ class Module(HasProperties, metaclass=ModuleMeta): except Exception: self.log.error(formatException()) - def writeOrPoll(self, pname): - """write configured value for a parameter, if any, else poll + def writeInitParams(self, started_callback=None): + """write values for parameters with configured values + this must be called at the beginning of the poller thread with proper error handling """ - try: - if pname in self.writeDict: - self.log.debug('write parameter %s', pname) - getattr(self, 'write_' + pname)(self.writeDict.pop(pname)) - else: - getattr(self, 'read_' + pname)() - except SilentError: - pass - except SECoPError as e: - self.log.error(str(e)) - except Exception: - self.log.error(formatException()) + for pname in list(self.writeDict): + if pname in self.writeDict: # this might not be true with handlers + try: + self.log.debug('initialize parameter %s', pname) + getattr(self, 'write_' + pname)(self.writeDict.pop(pname)) + except SilentError: + pass + except SECoPError as e: + self.log.error(str(e)) + except Exception: + self.log.error(formatException()) + if started_callback: + started_callback() + + def startModule(self, started_callback): + """runs after init of all modules + + started_callback to be called when the thread spawned by startModule + has finished its initial work + might return a timeout value, if different from default + """ + mkthread(self.writeInitParams, started_callback) class Readable(Module): @@ -424,7 +425,7 @@ class Readable(Module): # use basic poller for legacy code mkthread(self.__pollThread, started_callback) else: - started_callback() + super().startModule(self, started_callback) def __pollThread(self, started_callback): while True: @@ -439,8 +440,7 @@ class Readable(Module): def __pollThread_inner(self, started_callback): """super simple and super stupid per-module polling thread""" - for pname in list(self.writeDict): - self.writeOrPoll(pname) + self.writeInitParams() i = 0 fastpoll = self.pollParams(i) started_callback() diff --git a/secop/params.py b/secop/params.py index 40904a6..af26423 100644 --- a/secop/params.py +++ b/secop/params.py @@ -115,7 +115,8 @@ class Parameter(Accessible): settable=False, default=False), 'handler': Property('[internal] overload the standard read and write functions', ValueType(), export=False, default=None, mandatory=False, settable=False), - 'initwrite': Property('[internal] write this parameter on initialization (default None: write if given in config)', + 'initwrite': Property('[internal] write this parameter on initialization' + ' (default None: write if given in config)', NoneOr(BoolType()), export=False, default=None, mandatory=False, settable=False), } @@ -139,11 +140,8 @@ class Parameter(Accessible): datatype.setProperty('unit', unit) super(Parameter, self).__init__(**kwds) - if self.initwrite: - if self.readonly: - raise ProgrammingError('can not have both readonly and initwrite!') - if not self.poll: - raise ProgrammingError('only polled parameters can have initwrite!') + if self.initwrite and self.readonly: + raise ProgrammingError('can not have both readonly and initwrite!') if self.constant is not None: self.properties['readonly'] = True diff --git a/secop/poller.py b/secop/poller.py index 9c29d37..852803c 100644 --- a/secop/poller.py +++ b/secop/poller.py @@ -118,8 +118,10 @@ class Poller(PollerBase): self._stopped = False self.maxwait = 3600 self.name = name + self.modules = [] # used for writeInitParams only def add_to_poller(self, module): + self.modules.append(module) factors = self.DEFAULT_FACTORS.copy() try: factors[DYNAMIC] = module.fast_pollfactor @@ -227,11 +229,13 @@ class Poller(PollerBase): # nothing to do (else we might call time.sleep(float('inf')) below started_callback() return + for module in self.modules: + module.writeInitParams() # do all polls once and, at the same time, insert due info for _, queue in sorted(self.queues.items()): # do SLOW polls first for idx, (_, _, (_, module, pobj, pname, factor)) in enumerate(queue): lastdue = time.time() - module.writeOrPoll(pname) + module.pollOneParam(pname) due = lastdue + min(self.maxwait, module.pollinterval * factor) # in python 3 comparing tuples need some care, as not all objects # are comparable. Inserting a unique idx solves the problem. diff --git a/test/test_poller.py b/test/test_poller.py index e23a0b7..d36eb67 100644 --- a/test/test_poller.py +++ b/test/test_poller.py @@ -163,7 +163,8 @@ class Module: def pollOneParam(self, pname): getattr(self, 'read_' + pname)() - writeOrPoll = pollOneParam + def writeInitParams(self): + pass def __repr__(self): rdict = self.__dict__.copy() From 1b4865c6086423c0a09b0897e76664fa60e49a7f Mon Sep 17 00:00:00 2001 From: l_samenv Date: Fri, 25 Sep 2020 11:30:23 +0200 Subject: [PATCH 17/51] Revert "support name mangling for parameter/command names" This reverts commit 99bdafdd0c3293d17e3f23508d2b7762804474e7. --- secop/client/__init__.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/secop/client/__init__.py b/secop/client/__init__.py index fba9cb1..27d53fd 100644 --- a/secop/client/__init__.py +++ b/secop/client/__init__.py @@ -457,7 +457,8 @@ class SecopClient(ProxyClient): modules = data['modules'] self.modules = {} self.properties = {k: v for k, v in data.items() if k != 'modules'} - self.identifier = defaultdict(dict) # dict of dict of + self.identifier = {} # map (module, parameter) -> identifier + self.internal = {} # map identifier -> (module, parameter) for modname, moddescr in modules.items(): # separate accessibles into command and parameters parameters = {} @@ -468,7 +469,8 @@ class SecopClient(ProxyClient): datatype = get_datatype(aentry['datainfo'], iname) aentry = dict(aentry, datatype=datatype) ident = '%s:%s' % (modname, aname) - self.identifier[modname][iname] = ident + self.identifier[modname, iname] = ident + self.internal[ident] = modname, iname if datatype.IS_COMMAND: commands[iname] = aentry else: @@ -476,11 +478,6 @@ class SecopClient(ProxyClient): properties = {k: v for k, v in moddescr.items() if k != 'accessibles'} self.modules[modname] = dict(accessibles=accessibles, parameters=parameters, commands=commands, properties=properties) - self.fix_internal_names() - # invert self.identifier - self.internal = {ident: (modname, iname) - for modname, identdict in self.identifier.items() - for iname, ident in identdict.items()} if changed_modules is not None: done = done_main = self.callback(None, 'descriptiveDataChange', None, self) for mname in changed_modules: @@ -537,7 +534,7 @@ class SecopClient(ProxyClient): def readParameter(self, module, parameter): """forced read over connection""" try: - self.request(READREQUEST, self.identifier[module][parameter]) + self.request(READREQUEST, self.identifier[module, parameter]) except secop.errors.SECoPError: # error reply message is already stored as readerror in cache pass @@ -556,7 +553,7 @@ class SecopClient(ProxyClient): self.connect() # make sure we are connected datatype = self.modules[module]['parameters'][parameter]['datatype'] value = datatype.export_value(value) - self.request(WRITEREQUEST, self.identifier[module][parameter], value) + self.request(WRITEREQUEST, self.identifier[module, parameter], value) return self.cache[module, parameter] def execCommand(self, module, command, argument=None): @@ -568,7 +565,7 @@ class SecopClient(ProxyClient): if argument is not None: raise secop.errors.BadValueError('command has no argument') # pylint: disable=unsubscriptable-object - data, qualifiers = self.request(COMMANDREQUEST, self.identifier[module][command], argument)[2] + data, qualifiers = self.request(COMMANDREQUEST, self.identifier[module, command], argument)[2] datatype = self.modules[module]['commands'][command]['datatype'].result if datatype: data = datatype.import_value(data) @@ -590,6 +587,3 @@ class SecopClient(ProxyClient): if name.startswith('_') and name[1:] not in self.PREDEFINED_NAMES: return name[1:] return name - - def fix_internal_names(self): - """fix forbidden items""" From 4f1883ba27e5c2b6193593c13a3fca0311b1c541 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Fri, 25 Sep 2020 12:05:16 +0200 Subject: [PATCH 18/51] fix initwrite behaviour with handlers, a parameter from the cfg file which is not the first of parameters with the same handler were not written. fix: write_ method is called for all parameters in .writeDict even if there is no poll entry. with this fix, when a parameter has the property initwrite=True, the write_ method is called even when is not polled and even when .pollerClass is None Change-Id: I9b397deb5b20709fc4fa7c860c85b251a204c7f6 --- secop/modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secop/modules.py b/secop/modules.py index 980e056..63d3aae 100644 --- a/secop/modules.py +++ b/secop/modules.py @@ -425,7 +425,7 @@ class Readable(Module): # use basic poller for legacy code mkthread(self.__pollThread, started_callback) else: - super().startModule(self, started_callback) + super().startModule(started_callback) def __pollThread(self, started_callback): while True: From 880327c544f5d2b360867cf413cde41f5c7bd593 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 20 Oct 2020 14:17:24 +0200 Subject: [PATCH 19/51] main ls370 module is now drivable the value is the current channel, when the target (=channel) is changed, the value changes to 0, until the switching has finished, including pause time --- secop_psi/ls370res.py | 83 ++++++++++++++++++++++++++++++++++--------- secop_psi/ls370sim.py | 4 ++- 2 files changed, 69 insertions(+), 18 deletions(-) diff --git a/secop_psi/ls370res.py b/secop_psi/ls370res.py index 999449f..5a7bb20 100644 --- a/secop_psi/ls370res.py +++ b/secop_psi/ls370res.py @@ -21,8 +21,9 @@ """LakeShore Model 370 resistance channel""" import time +import json -from secop.modules import Module, Readable, Drivable, Parameter, Override, Property, Attached +from secop.modules import Readable, Drivable, Parameter, Override, Property, Attached from secop.metaclass import Done from secop.datatypes import FloatRange, IntRange, EnumType, BoolType from secop.stringio import HasIodev @@ -58,27 +59,66 @@ class StringIO(secop.stringio.StringIO): wait_before = 0.05 -class Main(HasIodev, Module): +class Main(HasIodev, Drivable): parameters = { - 'channel': - Parameter('the current channel', poll=REGULAR, datatype=IntRange(), readonly=False, handler=scan), + 'value': Override('the current channel', poll=REGULAR, datatype=IntRange(0, 17)), + 'target': Override('channel to select', datatype=IntRange(0, 17)), 'autoscan': - Parameter('whether to scan automatically', datatype=BoolType(), readonly=False, handler=scan), - 'pollinterval': Parameter('sleeptime between polls', default=5, - readonly=False, - datatype=FloatRange(0.1, 120), - ), + Parameter('whether to scan automatically', datatype=BoolType(), readonly=False, default=False), + 'pollinterval': Override('sleeptime between polls', default=1), } pollerClass = Poller iodevClass = StringIO - def analyze_scan(self, channel, autoscan): - return dict(channel=channel, autoscan=autoscan) + def earlyInit(self): + self._channel_changed = 0 + self._channels = {} - def change_scan(self, change): - change.readValues() - return change.channel, change.autoscan + def register_channel(self, modobj): + self._channels[modobj.channel] = modobj + + def startModule(self, started_callback): + started_callback() + for ch in range(1, 16): + if ch not in self._channels: + self.sendRecv('INSET %d,0,0,0,0,0;INSET?%d' % (ch, ch)) + + def read_value(self): + channel, auto = json.loads('[%s]' % self.sendRecv('SCAN?')) + if not self._channels[channel].enabled: + # channel was disabled recently, but still selected + nextchannel = 0 + for ch, mobj in self._channels.items(): + if mobj.enabled: + if ch > channel: + nextchannel = ch + break + if nextchannel == 0: + nextchannel = ch + if not nextchannel: + self.write_target(nextchannel) + return 0 + + now = time.time() + if channel != self.target: + print('changed' , channel, self.target) + self._channel_changed = now + self.target = channel + self.autoscan = int(auto) + if now < self._channel_changed + self._channels[channel].pause + self._channels[channel].filter: + self.status = [Status.BUSY, 'switching'] + return 0 + self.status = [Status.IDLE, ''] + return channel + + def write_target(self, channel): + self.sendRecv('SCAN %d,%d;SCAN?' % (channel, self.autoscan)) + if channel != self.value: + self.value = 0 + self._channel_changed = time.time() + self.status = [Status.BUSY, 'switching'] + return channel class ResChannel(HasIodev, Readable): @@ -133,13 +173,16 @@ class ResChannel(HasIodev, Readable): Parameter('filter time', datatype=FloatRange(1, 200), readonly=False, handler=filterhdl), } + def initModule(self): + self._main = self.DISPATCHER.get_module(self.main) + self._main.register_channel(self) + def startModule(self, started_callback): self._last_range_change = 0 - self._main = self.DISPATCHER.get_module(self.main) super().startModule(started_callback) def read_value(self): - if self.channel != self._main.channel: + if self.channel != self._main.value: return Done if not self.enabled: self.status = [self.Status.DISABLED, 'disabled'] @@ -177,7 +220,7 @@ class ResChannel(HasIodev, Readable): def read_status(self): if not self.enabled: return [self.Status.DISABLED, 'disabled'] - if self.channel != self._main.channel: + if self.channel != self._main.value: return Done result = int(self.sendRecv('RDGST?%d' % self.channel)) result &= 0x37 # mask T_OVER and T_UNDER (change this when implementing temperatures instead of resistivities) @@ -242,3 +285,9 @@ class ResChannel(HasIodev, Readable): if change.filter: return 1, change.filter, 80 # always use 80% filter return 0, settle, window + + def write_enabled(self, value): + inset.write(self, 'enabled', value) + if value: + self._main.write_target(self.channel) + return Done diff --git a/secop_psi/ls370sim.py b/secop_psi/ls370sim.py index a445ef4..130bb74 100644 --- a/secop_psi/ls370sim.py +++ b/secop_psi/ls370sim.py @@ -32,8 +32,10 @@ class Ls370Sim(Communicator): ] OTHER_COMMANDS = [ ('*IDN?', 'LSCI,MODEL370,370184,05302003'), - ('SCAN?', '3,1'), + ('SCAN?', '1,1'), ] + channel = [None] + def earlyInit(self): self._data = dict(self.OTHER_COMMANDS) for fmt, v in self.CHANNEL_COMMANDS: From 5db1acb07c5e04830d3f3667418c616fa55c93cb Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 20 Oct 2020 14:38:45 +0200 Subject: [PATCH 20/51] improvements on SR_7270 driver --- secop_psi/SR_7270.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secop_psi/SR_7270.py b/secop_psi/SR_7270.py index e2934d0..765fa5e 100644 --- a/secop_psi/SR_7270.py +++ b/secop_psi/SR_7270.py @@ -54,7 +54,7 @@ class XY(HasIodev, Readable): 'range': Parameter('sensitivity value', FloatRange(0.00,1,unit='V'), poll=True, default=1), 'irange': Parameter('sensitivity index', IntRange(0,27), poll=True, readonly=False, default=25), 'autorange': Parameter('autorange_on', BoolType(), readonly=False, default=True), - 'tc': Parameter('time constant value', FloatRange(10e-6,1,unit='s'), poll=True, default=0.1), + 'tc': Parameter('time constant value', FloatRange(10e-6,100,unit='s'), poll=True, default=0.1), 'itc': Parameter('time constant index', IntRange(0,30), poll=True, readonly=False, initwrite=True, default=14), 'nm': Parameter ('noise mode',BoolType(), readonly=False, default=0), 'phase': Parameter('Reference phase control', FloatRange(-360,360,unit='deg'), poll=True, readonly=False, initwrite=True, default=0), From 29c66fa19a02a9474b0832a9c31de70a6951676a Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 28 Oct 2020 08:49:35 +0100 Subject: [PATCH 21/51] describe branches in README.md Change-Id: I5bec3d9177a14d618b982f9301a7f06a71a4a72e --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index aa9b9d4..fbdaba9 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,10 @@ current running code at SINQ, with newest changes not yet pushed through the Gerrit workflow at MLZ + +branches: + +- mlz: master from forge.frm2.tum.de:29418/sine2020/secop/playground +- master: the same as above, but with origin: git.psi.ch:sinqdev/frappy.git +- work: current working version, usually in use on /home/l_samenv/frappy (and on neutron instruments) +- wip: current test version, usually in use on /home/l_samenv/frappy_wip From cf24bbc3c351c79a5fe1aa08ecb83c09d1ed187e Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 28 Oct 2020 09:59:40 +0100 Subject: [PATCH 22/51] improved doc on softcal and Module.registerCallback Change-Id: I12b1f7a2d29435d989fb9953f72bea181e6cb4f7 --- secop/modules.py | 13 +++++++++++++ secop_psi/softcal.py | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/secop/modules.py b/secop/modules.py index 63d3aae..c5c26e2 100644 --- a/secop/modules.py +++ b/secop/modules.py @@ -305,6 +305,19 @@ class Module(HasProperties, metaclass=ModuleMeta): pass def registerCallbacks(self, modobj, autoupdate=()): + """register callbacks to another module + + - whenever a self. changes: + .update_ is called with the new value as argument. + If this method raises en exception, . gets into an error state. + If the method does not exist and is in autoupdate, + . is updated to self. + - whenever . gets into an error state: + .error_update_ is called with the exception as argument. + If this method raises an error, . gets into an error state. + If the method does not exist, and . gets into the same error state as self. + """ for pname in self.parameters: errfunc = getattr(modobj, 'error_update_' + pname, None) if errfunc: diff --git a/secop_psi/softcal.py b/secop_psi/softcal.py index 7b4e405..c45cd39 100644 --- a/secop_psi/softcal.py +++ b/secop_psi/softcal.py @@ -51,7 +51,7 @@ class StdParser: self.xdata, self.ydata = [], [] def parse(self, line): - """get numbers from a line and put them to self.output""" + """get numbers from a line and put them to self.xdata / self.ydata""" row = line.split() try: self.xdata.append(float(row[self.xcol])) From ad07ecdd69fe01e1de3d0b56ab407b1404071753 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 28 Oct 2020 10:09:17 +0100 Subject: [PATCH 23/51] fix typos in secop/modules.py doc Change-Id: Idfbb85603b5efd0884ae9356dd96136c9c32ada1 --- secop/modules.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/secop/modules.py b/secop/modules.py index c5c26e2..9ccde80 100644 --- a/secop/modules.py +++ b/secop/modules.py @@ -309,13 +309,13 @@ class Module(HasProperties, metaclass=ModuleMeta): - whenever a self. changes: .update_ is called with the new value as argument. - If this method raises en exception, . gets into an error state. + If this method raises an exception, . gets into an error state. If the method does not exist and is in autoupdate, . is updated to self. - whenever . gets into an error state: .error_update_ is called with the exception as argument. If this method raises an error, . gets into an error state. - If the method does not exist, and is in autoupdate, . gets into the same error state as self. """ for pname in self.parameters: From 82b4af4faa2492c7be784cbace9348cfab48afca Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 10 Nov 2020 07:57:48 +0100 Subject: [PATCH 24/51] main module of LS370 is now drivable - the main value is the channel - it is busy when pausing during scanning + allow softcal to ignore the sign --- secop_psi/ls370res.py | 13 ++++++++----- secop_psi/softcal.py | 8 +++++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/secop_psi/ls370res.py b/secop_psi/ls370res.py index 5a7bb20..f380ca6 100644 --- a/secop_psi/ls370res.py +++ b/secop_psi/ls370res.py @@ -21,7 +21,6 @@ """LakeShore Model 370 resistance channel""" import time -import json from secop.modules import Readable, Drivable, Parameter, Override, Property, Attached from secop.metaclass import Done @@ -85,7 +84,11 @@ class Main(HasIodev, Drivable): self.sendRecv('INSET %d,0,0,0,0,0;INSET?%d' % (ch, ch)) def read_value(self): - channel, auto = json.loads('[%s]' % self.sendRecv('SCAN?')) + channel, auto = scan.send_command(self) + # response = self.sendRecv('SCAN?').strip().split(',') + # channel, auto = (int(s) for s in response) + if channel not in self._channels: + return channel if not self._channels[channel].enabled: # channel was disabled recently, but still selected nextchannel = 0 @@ -96,13 +99,12 @@ class Main(HasIodev, Drivable): break if nextchannel == 0: nextchannel = ch - if not nextchannel: + if nextchannel: self.write_target(nextchannel) return 0 now = time.time() if channel != self.target: - print('changed' , channel, self.target) self._channel_changed = now self.target = channel self.autoscan = int(auto) @@ -113,7 +115,8 @@ class Main(HasIodev, Drivable): return channel def write_target(self, channel): - self.sendRecv('SCAN %d,%d;SCAN?' % (channel, self.autoscan)) + scan.send_change(self, channel, self.autoscan) + # self.sendRecv('SCAN %d,%d;SCAN?' % (channel, self.autoscan)) if channel != self.value: self.value = 0 self._channel_changed = time.time() diff --git a/secop_psi/softcal.py b/secop_psi/softcal.py index c45cd39..08de21a 100644 --- a/secop_psi/softcal.py +++ b/secop_psi/softcal.py @@ -26,7 +26,7 @@ import math import numpy as np from scipy.interpolate import splrep, splev # pylint: disable=import-error -from secop.core import Readable, Parameter, Override, Attached, StringType +from secop.core import Readable, Parameter, Override, Attached, StringType, BoolType def linear(x): @@ -152,6 +152,7 @@ class Sensor(Readable): } parameters = { 'calib': Parameter('calibration name', datatype=StringType(), readonly=False), + 'abs': Parameter('True: take abs(raw) before calib', datatype=BoolType(), readonly=False, default=True), 'value': Override(unit='K'), 'pollinterval': Override(export=False), 'status': Override(default=(Readable.Status.ERROR, 'unintialized')) @@ -169,10 +170,15 @@ class Sensor(Readable): return value def update_value(self, value): + if self.abs: + value = abs(value) self.value = self._calib(value) self._value_error = None def error_update_value(self, err): + if self.abs and str(err) == 'R_UNDER': + self._value_error = None + return None self._value_error = repr(err) raise err From ad2a79c312a4a23d8b254e68d0374c862dc41c5b Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 10 Nov 2020 08:00:33 +0100 Subject: [PATCH 25/51] SR_7270: autorange is an enum - autorange may be off, soft or hard --- secop_psi/SR_7270.py | 48 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/secop_psi/SR_7270.py b/secop_psi/SR_7270.py index 765fa5e..e62fa6f 100644 --- a/secop_psi/SR_7270.py +++ b/secop_psi/SR_7270.py @@ -21,7 +21,7 @@ """SIGNAL RECOVERY SR7270: lOCKIN AMPLIFIER FOR AC SUSCEPTIBILITY""" from secop.core import Readable, Parameter, Override, Command, FloatRange, TupleOf, \ - HasIodev, StringIO, Done, Attached, IntRange, BoolType + HasIodev, StringIO, Done, Attached, IntRange, BoolType, EnumType class SR7270(StringIO): @@ -42,6 +42,8 @@ class XY(HasIodev, Readable): 'freq_arg': Attached(), 'amp_arg': Attached(), 'tc_arg': Attached(), + 'phase_arg': Attached(), + 'dac_arg': Attached(), }#parameters required an initial value but initwrite write the default value for polled parameters parameters = { 'value': Override('X, Y', datatype=TupleOf(FloatRange(unit='V'), FloatRange(unit='V'))), @@ -50,20 +52,23 @@ class XY(HasIodev, Readable): poll=True, readonly=False, initwrite=True, default=1000), 'amp': Parameter('exc_volt_int', FloatRange(0.00,5,unit='Vrms'), - poll=True, readonly=False, initwrite=True, default=1), + poll=True, readonly=False, initwrite=True, default=0.1), 'range': Parameter('sensitivity value', FloatRange(0.00,1,unit='V'), poll=True, default=1), 'irange': Parameter('sensitivity index', IntRange(0,27), poll=True, readonly=False, default=25), - 'autorange': Parameter('autorange_on', BoolType(), readonly=False, default=True), + 'autorange': Parameter('autorange_on', EnumType('autorange', off=0, soft=1, hard=2), readonly=False, default=0, initwrite=True), 'tc': Parameter('time constant value', FloatRange(10e-6,100,unit='s'), poll=True, default=0.1), 'itc': Parameter('time constant index', IntRange(0,30), poll=True, readonly=False, initwrite=True, default=14), 'nm': Parameter ('noise mode',BoolType(), readonly=False, default=0), 'phase': Parameter('Reference phase control', FloatRange(-360,360,unit='deg'), poll=True, readonly=False, initwrite=True, default=0), 'vmode' : Parameter('Voltage input configuration', IntRange(0,3), readonly=False, default=3), + # 'dac': Parameter ('output DAC channel value', datatype=TupleOf(IntRange(1,4), FloatRange(0.00,5000,unit='mV')), poll=True, readonly=False, initwrite=True, default=(3,0)), + 'dac': Parameter ('output DAC channel value', FloatRange(0.00,5000,unit='mV'), poll=True, readonly=False, initwrite=True, default=0), } commands = { 'aphase': Command('auto phase'), } iodevClass = SR7270 + def comm(self, command): reply, status, overload = self.sendRecv(command).split(';') @@ -77,7 +82,7 @@ class XY(HasIodev, Readable): reply = self.comm('XY.').split(',') x = float(reply[0]) y = float(reply[1]) - if self.autorange: + if self.autorange == 1: # soft if max(abs(x), abs(y)) >= 0.9*self.range and self.irange < 27: self.write_irange(self.irange+1) elif max(abs(x), abs(y)) <= 0.3*self.range and self.irange > 1: @@ -87,7 +92,9 @@ class XY(HasIodev, Readable): # print(x,y) self._freq_arg.value = self.freq self._amp_arg.value = self.amp - self._tc_arg.value =self.tc + self._tc_arg.value = self.tc + self._phase_arg.value = self.phase + self._dac_arg.value = self.dac return x,y def read_freq(self): @@ -99,7 +106,23 @@ class XY(HasIodev, Readable): return value - + def write_autorange(self, value): + if value == 2: # hard + self.comm('AS') # put hardware autorange on + self.comm('AUTOMATIC. 1') + else: + self.comm('AUTOMATIC. 0') + return value + + def read_autorange(self): + reply=self.comm('AUTOMATIC') + # determine hardware autorange + if reply == 1: #"hardware auto range is on": + return 2 # hard + if self.autorange == 0: # soft + return self.autorange() #read autorange + return reply # off + #oscillator amplitude module def read_amp(self): reply = self.comm('OA.') @@ -110,6 +133,19 @@ class XY(HasIodev, Readable): return value +#external output DAC + def read_dac(self): + # reply = self.comm('DAC %g' % channel) # failed to add the DAC channel you want to control + reply = self.comm('DAC 3') #stack to channel 3 + return reply + + def write_dac(self,value): + #self.comm('DAC %g %g' % channel % value) + self.comm('DAC 3 %g' % value) + + return value + + #sensitivity module def read_range(self): reply = self.comm('SEN.') From 2fb05b37f8021314b4bdbec7c488ec4812dd0a98 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Tue, 10 Nov 2020 08:09:39 +0100 Subject: [PATCH 26/51] [WIP] driver for FG_Lecroy_3000 not yet working --- secop_psi/FG_Lecroy_3000.py | 222 ++++++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 secop_psi/FG_Lecroy_3000.py diff --git a/secop_psi/FG_Lecroy_3000.py b/secop_psi/FG_Lecroy_3000.py new file mode 100644 index 0000000..a508559 --- /dev/null +++ b/secop_psi/FG_Lecroy_3000.py @@ -0,0 +1,222 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Daniel Margineda +# ***************************************************************************** +"""WAVE FUNCTION LECROY XX: SIGNAL GENERATOR""" + +from secop.core import Readable, Parameter, Override, Command, FloatRange, TupleOf, \ + HasIodev, StringIO, Done, Attached, IntRange, BoolType, EnumType,StringType + + +#class SR7270(StringIO): + # end_of_line = b'\x00' + +class StringIO(secop.stringio.StringIO): + identification = [('*IDN?', 'WST,WaveStation 3000,.*')] + wait_before = 0.05 +# to update.... +# def do_communicate(self, command): #remove dash from terminator + # reply = StringIO.do_communicate(self, command) + # status = self._conn.readbytes(2, 0.1) # get the 2 status bytes + # print('comm=',command,'reply=',reply,'status=',status) + # return reply + ';%d;%d' % tuple(status) + + + + + + +class channels(HasIodev, Readable): + properties = { + 'out1_arg': Attached(), + 'freq1_arg': Attached(), + 'amp1_arg': Attached(), + 'off1_arg': Attached(), + 'out2_arg': Attached(), + 'freq2_arg': Attached(), + 'amp2_arg': Attached(), + 'off2_arg': Attached(), + } + + parameters = { + 'value': Parameter('channel status',StringType, poll=False,initwrite=False), + 'channel':Parameter('choose channel to manipulate',IntRange(1,2), poll=True,initwrite=False,default=1), + 'freq': Parameter('exc_freq_int', + FloatRange(1e-6,20e6,unit='Hz'), + poll=True, readonly=False, initwrite=True, default=1000), + 'amp': Parameter('exc_volt_int', + FloatRange(0.00,5,unit='Vrms'), + poll=True, readonly=False, initwrite=True, default=0.1), + 'offset': Parameter('offset_volt_int', + FloatRange(0.00,10,unit='V'), + 'wave': Parameter ('type of wavefunction', StringType=('SINE','SQUARE','RAMP','PULSE','NOISE','ARB','DC'), poll=True, readonly=False, default='SINE'), + poll=True, readonly=False, initwrite=True, default=0.0), + 'phase': Parameter('signal phase', FloatRange(0,360,unit='deg'), poll=True, readonly=False, initwrite=True, default=0), + 'enabled': Parameter('enable output channel', datatype=StringType('OFF','ON'),readonly=False, default='OFF'), + 'symm': Parameter('wavefunction symmetry', FloatRange(0,100, unit=''), poll=True, readonly =False, default=0), + + } + pollerClass = Poller + ioidevClass = StringIO + + +# def comm(self, command): + # reply, status, overload = self.sendRecv(command).split(';') + # if overload != '0': + # self.status = self.Status.WARN, 'overload %s' % overload + # else: + # self.status = self.Status.IDLE, '' + # return reply + + +#update instruments values + def read_value(self): + #response type: self._freq1_arg.value = self.freq(1) C1:BSWV TYPE', 'SINE', 'FRQ', '1000', 'AMP', '3', 'OFST', '3 + # channel 1 status + reply=self.sendRecv('C1:BSWV?').split(',') + out=self.sendRecv('C1:OUTP?').split(',') #C1:OUTP ON,LOAD,HZ + self._freq1_arg.value = reply[3] + self._amp1_arg.value = reply[5] + self._off1_arg.value = reply[7] + self._out1_arg.value = out.split('')[1] + reply2=self.sendRecv('C2:BSWV?').split(',') + out2=self.sendRecv('C1:OUTP?').split(',') + self._freq2_arg.value = reply[3] + self._amp2_arg.value = reply[5] + self._off2_arg.value = reply[7] + self._out2_arg.value = out2.split('')[1] + return reply, out, reply2, out2 + +#signal channel parameter + + def read_channel(self): + reply=self.channel() + return reply + + def write_channel(self,value): + + return value + +#signal wavefunction parameter + + def read_wave(self): + ch=str(self.channel) + reply = self.sendRecv('C'+ch+':BSWV WVTP?') + + + return reply + + def write_wave(self,value): #string value + ch=str(self.channel) + reply = self.sendRecv('C'+ch+':BSWV WVTP, %g' % value) + + + return reply + +#signal freq parameter + def read_freq(self): + ch=str(self.channel) + reply = self.sendRecv('C'+ch+':BSWV FRQ?') + + return reply + + def write_freq(self,value): + ch=str(self.channel) + self.sendRecv('C'+ch+':BSWV FRQ, %g' % str(value)+'Hz') + + return value + +#signal amplitude parameter + def read_amp(self): + ch=str(self.channel) + reply = self.sendRecv'C'+ch+':BSWV AMP?') + + return reply + + def write_amp(self,value): + ch=str(self.channel) + reply = self.sendRecv('C'+ch+':BSWV AMP, %g' % str(value)) + + return value + +#offset value parameter + def read_offset(self): + ch=str(self.channel) + reply = self.sendRecv('C'+ch+':BSWV OFST?') + + return reply + + def write_offset(self,ch,value): + ch=str(self.channel) + self.sendRecv('C'+ch+':BSWV OFST %g' % str(value)) + + return value + +# channel symmetry + def read_symm(self): + ch=str(self.channel) + reply = self.sendRecv('C'+ch+':BSWV SYM?') + + return reply + + def write_symm(self,ch,value): + ch=str(self.channel) + self.comm('C'+ch+':BSWV SYM %g' % str(value)) + + return value + +# wave phase parameter + def read_phase(self): + ch=str(self.channel) + reply = self.sendRecv('C'+ch+':BSWV PHSE?') + + return reply + + def write_phase(self,value): + ch=str(self.channel) + self.sendRecv('C'+ch+':BSWV PHSE %g' % str(value)) + + return value + + +# dis/enable output channel + def read_enabled(self): + ch=str(self.channel) + reply=self.sendRecv('C'+ch+': OUTP?') + + return reply + + def write_enabled(self,ch,value): + self.sendRecv('C'+ch+': OUTP %g' % str(value)) + + + +# devices are defined as arg less output enable what is defined as arg2 + +class arg(Readable): + pollerClass = None + parameters = { + 'value': Override(datatype=FloatRange(unit='')), + } + +class arg2(Readable): + pollerClass = None + parameters = { + 'value': Override(datatype=BoolType(unit='')), + } \ No newline at end of file From cab2bb85ba296a4e8ac93cd837670888701603de Mon Sep 17 00:00:00 2001 From: local SE user Date: Tue, 10 Nov 2020 11:55:09 +0100 Subject: [PATCH 27/51] [wip] next version of FG --- secop_psi/FG_Lecroy_3000.py | 66 +++++++++++++------------------------ 1 file changed, 22 insertions(+), 44 deletions(-) diff --git a/secop_psi/FG_Lecroy_3000.py b/secop_psi/FG_Lecroy_3000.py index a508559..8af00db 100644 --- a/secop_psi/FG_Lecroy_3000.py +++ b/secop_psi/FG_Lecroy_3000.py @@ -24,42 +24,17 @@ from secop.core import Readable, Parameter, Override, Command, FloatRange, Tuple HasIodev, StringIO, Done, Attached, IntRange, BoolType, EnumType,StringType -#class SR7270(StringIO): - # end_of_line = b'\x00' - -class StringIO(secop.stringio.StringIO): - identification = [('*IDN?', 'WST,WaveStation 3000,.*')] - wait_before = 0.05 -# to update.... -# def do_communicate(self, command): #remove dash from terminator - # reply = StringIO.do_communicate(self, command) - # status = self._conn.readbytes(2, 0.1) # get the 2 status bytes - # print('comm=',command,'reply=',reply,'status=',status) - # return reply + ';%d;%d' % tuple(status) - - - - - - -class channels(HasIodev, Readable): +class Channel(HasIodev, Writable): properties = { - 'out1_arg': Attached(), - 'freq1_arg': Attached(), - 'amp1_arg': Attached(), - 'off1_arg': Attached(), - 'out2_arg': Attached(), - 'freq2_arg': Attached(), - 'amp2_arg': Attached(), - 'off2_arg': Attached(), + 'channel':Property('choose channel to manipulate',IntRange(1,2)), } - parameters = { - 'value': Parameter('channel status',StringType, poll=False,initwrite=False), - 'channel':Parameter('choose channel to manipulate',IntRange(1,2), poll=True,initwrite=False,default=1), - 'freq': Parameter('exc_freq_int', + 'value': Override('exc_freq_int', + FloatRange(unit='Hz'), + poll=True, default=1000), + 'target': Override('frequency set', FloatRange(1e-6,20e6,unit='Hz'), - poll=True, readonly=False, initwrite=True, default=1000), + poll=True, initwrite=True, default=1000), 'amp': Parameter('exc_volt_int', FloatRange(0.00,5,unit='Vrms'), poll=True, readonly=False, initwrite=True, default=0.1), @@ -73,19 +48,10 @@ class channels(HasIodev, Readable): } pollerClass = Poller - ioidevClass = StringIO - - -# def comm(self, command): - # reply, status, overload = self.sendRecv(command).split(';') - # if overload != '0': - # self.status = self.Status.WARN, 'overload %s' % overload - # else: - # self.status = self.Status.IDLE, '' - # return reply #update instruments values +""" def read_value(self): #response type: self._freq1_arg.value = self.freq(1) C1:BSWV TYPE', 'SINE', 'FRQ', '1000', 'AMP', '3', 'OFST', '3 # channel 1 status @@ -102,7 +68,17 @@ class channels(HasIodev, Readable): self._off2_arg.value = reply[7] self._out2_arg.value = out2.split('')[1] return reply, out, reply2, out2 +""" + def read_value(self): + reply = self.sendRecv('C%d:BSWV FRQ?' % self.channel) + + return reply + + + def write_target(self,value): + self.sendRecv('C%d:BSWV FRQ, %g' % (self.channel, str(value)+'Hz')) + #signal channel parameter def read_channel(self): @@ -129,6 +105,7 @@ class channels(HasIodev, Readable): return reply +""" #signal freq parameter def read_freq(self): ch=str(self.channel) @@ -141,7 +118,8 @@ class channels(HasIodev, Readable): self.sendRecv('C'+ch+':BSWV FRQ, %g' % str(value)+'Hz') return value - +""" + #signal amplitude parameter def read_amp(self): ch=str(self.channel) @@ -219,4 +197,4 @@ class arg2(Readable): pollerClass = None parameters = { 'value': Override(datatype=BoolType(unit='')), - } \ No newline at end of file + } From 569c0a33995c3506b813ed26c75ffd1978ab1107 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Fri, 4 Dec 2020 13:28:04 +0100 Subject: [PATCH 28/51] make arguments of Parameter and Override consistent - allow description _and_ datatype being positional args - disallow ctr, unit, reorder being positional --- secop/params.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/secop/params.py b/secop/params.py index af26423..310a195 100644 --- a/secop/params.py +++ b/secop/params.py @@ -120,7 +120,7 @@ class Parameter(Accessible): NoneOr(BoolType()), export=False, default=None, mandatory=False, settable=False), } - def __init__(self, description, datatype, ctr=None, unit=None, **kwds): + def __init__(self, description, datatype, *, ctr=None, unit=None, **kwds): if ctr is not None: self.ctr = ctr @@ -227,13 +227,15 @@ class Override(CountedObj): note: overrides are applied by the metaclass during class creating reorder= True: use position of Override instead of inherited for the order """ - def __init__(self, description="", reorder=False, **kwds): + def __init__(self, description="", datatype=None, *, reorder=False, **kwds): super(Override, self).__init__() self.kwds = kwds self.reorder = reorder - # allow to override description without keyword + # allow to override description and datatype without keyword if description: self.kwds['description'] = description + if datatype is not None: + self.kwds['datatype'] = datatype # for now, do not use the Override ctr # self.kwds['ctr'] = self.ctr From d9650d7fc7ed0e4719a205dd75f10144fb85451c Mon Sep 17 00:00:00 2001 From: l_samenv Date: Fri, 4 Dec 2020 13:33:08 +0100 Subject: [PATCH 29/51] improve drivers for PPMS auxiliary equipment --- secop_psi/FG_Lecroy_3000.py | 9 +++------ secop_psi/SR_7270.py | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/secop_psi/FG_Lecroy_3000.py b/secop_psi/FG_Lecroy_3000.py index 8af00db..cea6b59 100644 --- a/secop_psi/FG_Lecroy_3000.py +++ b/secop_psi/FG_Lecroy_3000.py @@ -21,18 +21,15 @@ """WAVE FUNCTION LECROY XX: SIGNAL GENERATOR""" from secop.core import Readable, Parameter, Override, Command, FloatRange, TupleOf, \ - HasIodev, StringIO, Done, Attached, IntRange, BoolType, EnumType,StringType + HasIodev, StringIO, Done, Attached, IntRange, BoolType, EnumType,StringType, Module -class Channel(HasIodev, Writable): +class Channel(Module): properties = { 'channel':Property('choose channel to manipulate',IntRange(1,2)), } parameters = { - 'value': Override('exc_freq_int', - FloatRange(unit='Hz'), - poll=True, default=1000), - 'target': Override('frequency set', + 'freq': Parameter('frequency', FloatRange(1e-6,20e6,unit='Hz'), poll=True, initwrite=True, default=1000), 'amp': Parameter('exc_volt_int', diff --git a/secop_psi/SR_7270.py b/secop_psi/SR_7270.py index e62fa6f..86cfa6a 100644 --- a/secop_psi/SR_7270.py +++ b/secop_psi/SR_7270.py @@ -62,7 +62,7 @@ class XY(HasIodev, Readable): 'phase': Parameter('Reference phase control', FloatRange(-360,360,unit='deg'), poll=True, readonly=False, initwrite=True, default=0), 'vmode' : Parameter('Voltage input configuration', IntRange(0,3), readonly=False, default=3), # 'dac': Parameter ('output DAC channel value', datatype=TupleOf(IntRange(1,4), FloatRange(0.00,5000,unit='mV')), poll=True, readonly=False, initwrite=True, default=(3,0)), - 'dac': Parameter ('output DAC channel value', FloatRange(0.00,5000,unit='mV'), poll=True, readonly=False, initwrite=True, default=0), + 'dac': Parameter ('output DAC channel value', FloatRange(-10000,10000,unit='mV'), poll=True, readonly=False, initwrite=True, default=0), } commands = { 'aphase': Command('auto phase'), From 16834f8802691ef95d60e48375ed536ece08e9b4 Mon Sep 17 00:00:00 2001 From: l_samenv Date: Fri, 4 Dec 2020 13:33:54 +0100 Subject: [PATCH 30/51] fix a bug softcal - stop searching for files on the first match --- secop_psi/softcal.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/secop_psi/softcal.py b/secop_psi/softcal.py index 08de21a..ae6dce0 100644 --- a/secop_psi/softcal.py +++ b/secop_psi/softcal.py @@ -114,6 +114,9 @@ class CalCurve: filename = join(path.strip(), '%s.%s' % (nam, kind)) if exists(filename): break + else: + continue + break else: continue break From e0f9b4a858a5b199b47710104f7e6c836bfb57bb Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 10 Dec 2020 17:04:41 +0100 Subject: [PATCH 31/51] add history writer Change-Id: I2d577dcf0c543c26680d157be959b0a608ace759 --- secop/histwriter.py | 108 ++++++++++++++++++++++++++++++++++++++++++++ secop/server.py | 10 +++- 2 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 secop/histwriter.py diff --git a/secop/histwriter.py b/secop/histwriter.py new file mode 100644 index 0000000..251a878 --- /dev/null +++ b/secop/histwriter.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +# ***************************************************************************** +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# ***************************************************************************** + +import time +from secop.datatypes import get_datatype, IntRange, FloatRange, ScaledInteger,\ + EnumType, BoolType, StringType, TupleOf, StructOf +import history.histwriter + + +class HistWriter(history.histwriter.HistWriter): + """extend writer to be used as an internal frappy connection""" + def __init__(self, directory, predefined_names, dispatcher): + super().__init__(directory) + self.predefined_names = predefined_names + self.parameters = {} # dict of (, ) + self.activated = False + self.dispatcher = dispatcher + self._init_time = None + print('HISTINIT') + + def init(self, msg): + action, _, description = msg + assert action == 'describing' + vars = [] + self._init_time = time.time() + + for modname, moddesc in description['modules'].items(): + for pname, pdesc in moddesc['accessibles'].items(): + ident = key = modname + ':' + pname + if pname.startswith('_') and pname[1:] not in self.predefined_names: + key = modname + ':' + pname[1:] + dt = get_datatype(pdesc['datainfo']) + + if pname == 'value': + continuous = isinstance(dt, (FloatRange, ScaledInteger)) + vars.append('%s|%s|%s||%d' % (key, dt.unit or '1', modname, continuous)) + elif pname == 'target': + vars.append('%s|%s|%s_target||0' % (key, dt.unit or '1', modname)) + self.parameters[ident] = dt, key + self.put(self._init_time, 'STR', 'vars', ' '.join(vars)) + self.dispatcher.handle_activate(self, None, None) + self._init_time = None + return + + def send_reply(self, msg): + action, ident, value = msg + if not action.endswith('update'): + print('unknown async message %r' % msg) + return + now = self._init_time or time.time() # on initialisation, make all timestamps equal + dt, key = self.parameters[ident] + if action == 'update': + + def convert(value, dt, key): + if isinstance(dt, (EnumType, IntRange, BoolType)): + return [('NUM', key, str(int(value)))] + if isinstance(dt, (FloatRange, ScaledInteger)): + return [('NUM', key, str(dt.import_value(value)))] + if isinstance(dt, StringType): + return [('STR', key, value)] + if isinstance(dt, TupleOf): + return sum((convert(value[i], d, '%s.%s' % (key, i)) for i, d in enumerate(dt.members)), []) + if isinstance(dt, StructOf): + return sum((convert(value[k], d, '%s.%s' % (key, k)) for d, k in dt.members.items()), []) + # ArrayType, BlobType and TextType are not considered: too much data, proabably not used + return [] + + # omit qualifiers. we do not use the timestamp here, as a potentially decreasing + # values might get the reader software into trouble + result = convert(value[0], dt, key) + for htype, key, strval in convert(value[0], dt, key): + self.put(now, htype, key, strval) + + else: # error_update + old = self.cache.get(key) + if old is None: + return # ignore if this key is not yet used + + def get_keys(dt, key): + if isinstance(dt, (IntRange, FloatRange, ScaledInteger, BoolType, EnumType)): + return [('NUM', key)] + if isinstance(dt, StringType): + return [('STR', key)] + if isinstance(dt, TupleOf): + return sum((get_keys(d, '%s.%s' % (key, i)) for i, d in enumerate(dt.members)), []) + if isinstance(dt, StructOf): + return sum((get_keys(d, '%s.%s' % (key, k)) for d, k in dt.members.items()), []) + return [] + + for htype, key in get_keys(dt, key): + self.put(now, htype, key, '') diff --git a/secop/server.py b/secop/server.py index 7a64739..d19b0ae 100644 --- a/secop/server.py +++ b/secop/server.py @@ -42,6 +42,7 @@ except ImportError: from secop.errors import ConfigError from secop.lib import formatException, get_class, getGeneralConfig from secop.modules import Attached +from secop.params import PREDEFINED_ACCESSIBLES try: import systemd.daemon @@ -126,7 +127,7 @@ class Server: else: filename = None if filename is None: - raise ConfigError("Couldn't find cfg file %r" % cfgfile) + raise ConfigError("Couldn't find cfg file %r in %s" % (cfgfile, cfg['confdir'])) self.log.debug('Parse config file %s ...' % filename) result = OrderedDict() parser = configparser.ConfigParser() @@ -270,3 +271,10 @@ class Server: if not event.wait(timeout=max(0, deadline - time.time())): self.log.info('WARNING: timeout when starting %s' % name) self.log.info('all modules and pollers started') + history_path = os.environ.get('FRAPPY_HISTORY') + if history_path: + from secop.histwriter import HistWriter + writer = HistWriter(history_path, PREDEFINED_ACCESSIBLES.keys(), self.dispatcher) + # treat writer as a connection + self.dispatcher.add_connection(writer) + writer.init(self.dispatcher.handle_describe(writer, None, None)) From 2d310bc612b428cffcb9b78f247a36c48d499a86 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 12 Jan 2021 15:41:06 +0100 Subject: [PATCH 32/51] TupleOf and StructOf create multiple curves the components of TupleOf and StructOf are storead as separate curves in history Change-Id: I42ebf84653408de7148796763a4d4ea9dd309696 --- secop/histwriter.py | 103 ++++++++++++++++++++++---------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/secop/histwriter.py b/secop/histwriter.py index 251a878..4123671 100644 --- a/secop/histwriter.py +++ b/secop/histwriter.py @@ -21,15 +21,40 @@ import time from secop.datatypes import get_datatype, IntRange, FloatRange, ScaledInteger,\ EnumType, BoolType, StringType, TupleOf, StructOf -import history.histwriter +import histreader.histwriter as histwriter -class HistWriter(history.histwriter.HistWriter): +def make_cvt_list(dt, tail=''): + """create conversion list + + list of tuple (, , ) + tail is a postfix to be appended in case of tuples and structs + """ + if isinstance(dt, (EnumType, IntRange, BoolType)): + return[(int, tail, dict(type='NUM'))] + if isinstance(dt, (FloatRange, ScaledInteger)): + return [(dt.import_value, tail, dict(type='NUM', unit=dt.unit, period=5) if dt.unit else {})] + if isinstance(dt, StringType): + return [(lambda x: x, tail, dict(type='STR'))] + if isinstance(dt, TupleOf): + items = enumerate(dt.members) + elif isinstance(dt, StructOf): + items = dt.members.items() + else: + return [] # ArrayType, BlobType and TextType are ignored: too much data, probably not used + result = [] + for subkey, elmtype in items: + for fun, tail, opts in make_cvt_list(elmtype, '%s.%s' % (tail, subkey)): + result.append((lambda v, k=subkey, f=fun: f(v[k]), tail, opts)) + return result + + +class HistWriter(histwriter.HistWriter): """extend writer to be used as an internal frappy connection""" def __init__(self, directory, predefined_names, dispatcher): super().__init__(directory) self.predefined_names = predefined_names - self.parameters = {} # dict of (, ) + self.cvt_lists = {} # dict of self.activated = False self.dispatcher = dispatcher self._init_time = None @@ -38,7 +63,6 @@ class HistWriter(history.histwriter.HistWriter): def init(self, msg): action, _, description = msg assert action == 'describing' - vars = [] self._init_time = time.time() for modname, moddesc in description['modules'].items(): @@ -47,14 +71,19 @@ class HistWriter(history.histwriter.HistWriter): if pname.startswith('_') and pname[1:] not in self.predefined_names: key = modname + ':' + pname[1:] dt = get_datatype(pdesc['datainfo']) - - if pname == 'value': - continuous = isinstance(dt, (FloatRange, ScaledInteger)) - vars.append('%s|%s|%s||%d' % (key, dt.unit or '1', modname, continuous)) - elif pname == 'target': - vars.append('%s|%s|%s_target||0' % (key, dt.unit or '1', modname)) - self.parameters[ident] = dt, key - self.put(self._init_time, 'STR', 'vars', ' '.join(vars)) + cvt_list = make_cvt_list(dt, key) + for _, hkey, opts in cvt_list: + if pname == 'value': + opts['period'] = opts.get('period', 0) + opts['show'] = True + opts['label'] = modname + elif pname == 'target': + opts['period'] = 0 + opts['label'] = modname + '_target' + opts['show'] = True + self.put_def(hkey, opts) + self.cvt_lists[ident] = cvt_list + # self.put(self._init_time, 'STR', 'vars', ' '.join(vars)) self.dispatcher.handle_activate(self, None, None) self._init_time = None return @@ -64,45 +93,17 @@ class HistWriter(history.histwriter.HistWriter): if not action.endswith('update'): print('unknown async message %r' % msg) return - now = self._init_time or time.time() # on initialisation, make all timestamps equal - dt, key = self.parameters[ident] + now = self._init_time or time.time() # on initialisation, us the same timestamp for all if action == 'update': - - def convert(value, dt, key): - if isinstance(dt, (EnumType, IntRange, BoolType)): - return [('NUM', key, str(int(value)))] - if isinstance(dt, (FloatRange, ScaledInteger)): - return [('NUM', key, str(dt.import_value(value)))] - if isinstance(dt, StringType): - return [('STR', key, value)] - if isinstance(dt, TupleOf): - return sum((convert(value[i], d, '%s.%s' % (key, i)) for i, d in enumerate(dt.members)), []) - if isinstance(dt, StructOf): - return sum((convert(value[k], d, '%s.%s' % (key, k)) for d, k in dt.members.items()), []) - # ArrayType, BlobType and TextType are not considered: too much data, proabably not used - return [] - - # omit qualifiers. we do not use the timestamp here, as a potentially decreasing - # values might get the reader software into trouble - result = convert(value[0], dt, key) - for htype, key, strval in convert(value[0], dt, key): - self.put(now, htype, key, strval) + for fun, key, opts in self.cvt_lists[ident]: + # we only look at the value, qualifiers are ignored for now + # we do not use the timestamp here, as a potentially decreasing value might + # bring the reader software into trouble + self.put(now, key, str(fun(value[0]))) else: # error_update - old = self.cache.get(key) - if old is None: - return # ignore if this key is not yet used - - def get_keys(dt, key): - if isinstance(dt, (IntRange, FloatRange, ScaledInteger, BoolType, EnumType)): - return [('NUM', key)] - if isinstance(dt, StringType): - return [('STR', key)] - if isinstance(dt, TupleOf): - return sum((get_keys(d, '%s.%s' % (key, i)) for i, d in enumerate(dt.members)), []) - if isinstance(dt, StructOf): - return sum((get_keys(d, '%s.%s' % (key, k)) for d, k in dt.members.items()), []) - return [] - - for htype, key in get_keys(dt, key): - self.put(now, htype, key, '') + for _, key, _ in self.cvt_lists[ident]: + old = self.cache.get(key) + if old is None: + return # ignore if this key is not yet used + self.put(now, key, '') From bc33933a1ac23f2cd50d7f82d1ccaed7b9e0adf3 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 19 Jan 2021 17:20:53 +0100 Subject: [PATCH 33/51] update doc - add properties, parameters and commands to the doc string autoatically - change names to "Frappy" - started tutorial - changed doc structure slightly Change-Id: I87bef91384d138c738d12ddcf3a1de7f758a0973 --- doc/source/client/index.rst | 6 - doc/source/conf.py | 21 +- doc/source/facility/index.rst | 1 + doc/source/facility/psi/index.rst | 10 + doc/source/facility/psi/ls370res.rst | 7 + doc/source/facility/psi/ppms.rst | 7 + doc/source/framework.rst | 67 +++++ doc/source/framework/datatypes.rst | 6 - doc/source/framework/errors.rst | 6 - doc/source/framework/index.rst | 9 - doc/source/gui/index.rst | 6 - doc/source/index.rst | 11 +- doc/source/server.rst | 77 ++++++ doc/source/server/configuration.rst | 3 - doc/source/server/index.rst | 11 - doc/source/server/modules.rst | 6 - doc/source/server/protocol/index.rst | 8 - .../server/protocol/interface/index.rst | 9 - doc/source/server/protocol/interface/tcp.rst | 6 - doc/source/server/protocol/interface/zmq.rst | 6 - doc/source/server/starting.rst | 21 -- doc/source/tutorial/tutorial.rst | 228 ++++++++++++++++++ secop/core.py | 1 + secop/datatypes.py | 89 +++++-- secop/iohandler.py | 29 ++- secop/lib/asynconn.py | 2 +- secop/lib/enum.py | 8 +- secop/metaclass.py | 6 +- secop/modules.py | 76 +++--- secop/params.py | 73 +++--- secop/poller.py | 8 +- secop/properties.py | 31 ++- secop/stringio.py | 10 +- secop_demo/cryo.py | 5 +- secop_psi/ppms.py | 60 ++--- 35 files changed, 655 insertions(+), 275 deletions(-) delete mode 100644 doc/source/client/index.rst create mode 100644 doc/source/facility/psi/index.rst create mode 100644 doc/source/facility/psi/ls370res.rst create mode 100644 doc/source/facility/psi/ppms.rst create mode 100644 doc/source/framework.rst delete mode 100644 doc/source/framework/datatypes.rst delete mode 100644 doc/source/framework/errors.rst delete mode 100644 doc/source/framework/index.rst delete mode 100644 doc/source/gui/index.rst create mode 100644 doc/source/server.rst delete mode 100644 doc/source/server/configuration.rst delete mode 100644 doc/source/server/index.rst delete mode 100644 doc/source/server/modules.rst delete mode 100644 doc/source/server/protocol/index.rst delete mode 100644 doc/source/server/protocol/interface/index.rst delete mode 100644 doc/source/server/protocol/interface/tcp.rst delete mode 100644 doc/source/server/protocol/interface/zmq.rst delete mode 100644 doc/source/server/starting.rst create mode 100644 doc/source/tutorial/tutorial.rst diff --git a/doc/source/client/index.rst b/doc/source/client/index.rst deleted file mode 100644 index 313ab1a..0000000 --- a/doc/source/client/index.rst +++ /dev/null @@ -1,6 +0,0 @@ -Client documentation -==================== - -.. toctree:: - :maxdepth: 2 - diff --git a/doc/source/conf.py b/doc/source/conf.py index 2832a16..273fc13 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# SECoP documentation build configuration file, created by +# Frappy documentation build configuration file, created by # sphinx-quickstart on Mon Sep 11 10:58:28 2017. # # This file is execfile()d with the current directory set to its @@ -57,9 +57,9 @@ source_suffix = ['.rst', '.md'] master_doc = 'index' # General information about the project. -project = 'SECoP' -#copyright = '2017, Enrico Faulhaber, Markus Zolliker' -copyright = '2017, SECoP Committee' +project = 'Frappy' +copyright = '2017-2021, Enrico Faulhaber, Markus Zolliker,' +#copyright = '2017, SECoP Committee' author = 'Enrico Faulhaber, Markus Zolliker' # The version info for the project you're documenting, acts as replacement for @@ -89,6 +89,9 @@ pygments_style = 'sphinx' # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = True +# sort by source instead of alphabetic +autodoc_member_order = 'bysource' + default_role = 'any' # -- Options for HTML output ---------------------------------------------- @@ -136,7 +139,7 @@ html_sidebars = { # -- Options for HTMLHelp output ------------------------------------------ # Output file base name for HTML help builder. -htmlhelp_basename = 'SECoPdoc' +htmlhelp_basename = 'Frappydoc' # -- Options for LaTeX output --------------------------------------------- @@ -163,7 +166,7 @@ latex_elements = { # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'SECoP.tex', 'SECoP source documentation', + (master_doc, 'Frappy.tex', 'Frappy source documentation', 'Enrico Faulhaber, Markus Zolliker', 'manual'), ] @@ -173,7 +176,7 @@ latex_documents = [ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - (master_doc, 'secop', 'SECoP source documentation', + (master_doc, 'frappy', 'Frappy source documentation', [author], 1) ] @@ -184,8 +187,8 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - (master_doc, 'SECoP', 'SECoP source documentation', - author, 'SECoP', 'One line description of project.', + (master_doc, 'Frappy', 'Frappy source documentation', + author, 'Frappy', 'One line description of project.', 'Miscellaneous'), ] diff --git a/doc/source/facility/index.rst b/doc/source/facility/index.rst index c1cd03f..0b83d17 100644 --- a/doc/source/facility/index.rst +++ b/doc/source/facility/index.rst @@ -7,3 +7,4 @@ Facility specific functionalities demo/index mlz/index ess/index + psi/index diff --git a/doc/source/facility/psi/index.rst b/doc/source/facility/psi/index.rst new file mode 100644 index 0000000..36b46e1 --- /dev/null +++ b/doc/source/facility/psi/index.rst @@ -0,0 +1,10 @@ +PSI +=== + +.. toctree:: + :maxdepth: 3 + + ppms + ls370res + + diff --git a/doc/source/facility/psi/ls370res.rst b/doc/source/facility/psi/ls370res.rst new file mode 100644 index 0000000..81c7e32 --- /dev/null +++ b/doc/source/facility/psi/ls370res.rst @@ -0,0 +1,7 @@ +LakeShore 370 resistivity +========================= + +.. automodule:: secop_psi.ls370res + :members: + + diff --git a/doc/source/facility/psi/ppms.rst b/doc/source/facility/psi/ppms.rst new file mode 100644 index 0000000..a2e9fac --- /dev/null +++ b/doc/source/facility/psi/ppms.rst @@ -0,0 +1,7 @@ +PPMS +==== + +.. automodule:: secop_psi.ppms + :members: + + diff --git a/doc/source/framework.rst b/doc/source/framework.rst new file mode 100644 index 0000000..4f5b307 --- /dev/null +++ b/doc/source/framework.rst @@ -0,0 +1,67 @@ +Framework documentation +======================= + + +Module Base Classes +------------------- + +.. autoclass:: secop.core.Module + :members: startModule + +.. autoclass:: secop.core.Readable + :members: pollerClass, Status + +.. autoclass:: secop.core.Writable + +.. autoclass:: secop.core.Drivable + :members: Status, isBusy, isDriving, do_stop + + +Parameters, Commands and Properties +----------------------------------- + +.. autoclass:: secop.core.Parameter +.. autoclass:: secop.core.Command +.. autoclass:: secop.core.Override +.. autoclass:: secop.core.Property +.. autoclass:: secop.core.Attached + + +Datatypes +--------- + +.. autoclass:: secop.core.FloatRange +.. autoclass:: secop.core.IntRange +.. autoclass:: secop.core.BoolType +.. autoclass:: secop.core.ScaledInteger +.. autoclass:: secop.core.EnumType +.. autoclass:: secop.core.StringType +.. autoclass:: secop.core.TupleOf +.. autoclass:: secop.core.ArrayOf +.. autoclass:: secop.core.StructOf +.. autoclass:: secop.core.BLOBType + + +Communication +------------- + +.. autoclass:: secop.core.Communicator + :members: do_communicate + +.. autoclass:: secop.core.StringIO + :members: do_communicate, do_multicomm + +.. autoclass:: secop.core.HasIodev + +.. autoclass:: secop.core.IOHandlerBase + :members: + +.. autoclass:: secop.core.IOHandler + :members: + + +Exception classes +----------------- + +.. automodule:: secop.errors + :members: diff --git a/doc/source/framework/datatypes.rst b/doc/source/framework/datatypes.rst deleted file mode 100644 index 7829321..0000000 --- a/doc/source/framework/datatypes.rst +++ /dev/null @@ -1,6 +0,0 @@ -Datatypes -========= - -.. automodule:: secop.datatypes - :members: - diff --git a/doc/source/framework/errors.rst b/doc/source/framework/errors.rst deleted file mode 100644 index 374fa48..0000000 --- a/doc/source/framework/errors.rst +++ /dev/null @@ -1,6 +0,0 @@ -Exception classes -================= - -.. automodule:: secop.errors - :members: - diff --git a/doc/source/framework/index.rst b/doc/source/framework/index.rst deleted file mode 100644 index fe99d05..0000000 --- a/doc/source/framework/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -Framework documentation -======================= - -.. toctree:: - :maxdepth: 2 - - datatypes - errors - diff --git a/doc/source/gui/index.rst b/doc/source/gui/index.rst deleted file mode 100644 index 0b1d2f8..0000000 --- a/doc/source/gui/index.rst +++ /dev/null @@ -1,6 +0,0 @@ -Graphical user interface documentation -====================================== - -.. toctree:: - :maxdepth: 2 - diff --git a/doc/source/index.rst b/doc/source/index.rst index 46a1f63..970728d 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,13 +1,12 @@ -Welcome to FRAPPY documentation! -================================ +Welcome to the FRAPPY documentation! +==================================== .. toctree:: :maxdepth: 2 - server/index - client/index - framework/index - gui/index + tutorial/tutorial + server + framework facility/index diff --git a/doc/source/server.rst b/doc/source/server.rst new file mode 100644 index 0000000..2e7abb3 --- /dev/null +++ b/doc/source/server.rst @@ -0,0 +1,77 @@ +Configuring and Starting +======================== + +Configuration +------------- + +The configuration consists of a **NODE** section, an **INTERFACE** section and one +section per SECoP module. + +The **NODE** section contains a description of the SEC node and a globally unique ID of +the SEC node. Example: + +.. code:: + + [NODE] + description = a description of the SEC node + id = globally.valid.identifier + +The **INTERFACE** section defines the server interface. Currently only tcp is supported. +When the TCP port is given as an argument of the server start script, this section is not +needed or ignored. The main information is the port number, in this example 5000: + +.. code:: + + [INTERFACE] + uri = tcp://5000 + + +All other sections define the SECoP modules. The section name itself is the module name, +mandatory fields are **class** and **description**. **class** is a path to the Python class +from there the module is instantiated, separated with dots. In the following example the class +**HeLevel** used by the **helevel** module can be found in the PSI facility subdirectory +secop_psi in the python module file ccu4.py: + +.. code:: + + [helevel] + class = secop_psi.ccu4.HeLevel + description = this is the He level sensor of the main reservoir + empty = 380 + empty.export = False + full = 0 + full.export = False + +It is highly recommended to use all lower case for the module name, as SECoP names have to be +unique despite of casing. In addition, parameters, properties and parameter properties might +be initialized in this section. In the above example **empty** and **full** are parameters, +the resistivity of the He Level sensor at the end of the ranges. In addition, we alter the +default property **export** of theses parameters, as we do not want to expose these parameters to +the SECoP interface. + + +Starting +-------- + +The Frappy server can be started via the **bin/secop-server** script. + +.. parsed-literal:: + + usage: secop-server [-h] [-v | -q] [-d] name + + Manage a Frappy server + + positional arguments: + name name of the instance. Uses etc/name.cfg for configuration + + optional arguments: + -c, --cfgfiles config files to be used. Comma separated list. + defaults to when omitted + -p, --port server port (default: take from cfg file) + -h, --help show this help message and exit + -v, --verbose output lots of diagnostic information + -q, --quiet suppress non-error messages + -d, --daemonize run as daemon + -t, --test check cfg files only + + diff --git a/doc/source/server/configuration.rst b/doc/source/server/configuration.rst deleted file mode 100644 index ddb2814..0000000 --- a/doc/source/server/configuration.rst +++ /dev/null @@ -1,3 +0,0 @@ -Configuration -============= - diff --git a/doc/source/server/index.rst b/doc/source/server/index.rst deleted file mode 100644 index f30bf7b..0000000 --- a/doc/source/server/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -Server documentation -==================== - -.. toctree:: - :maxdepth: 3 - - starting - configuration - modules - protocol/index - diff --git a/doc/source/server/modules.rst b/doc/source/server/modules.rst deleted file mode 100644 index 3368a98..0000000 --- a/doc/source/server/modules.rst +++ /dev/null @@ -1,6 +0,0 @@ -Module base classes -=================== - -.. automodule:: secop.modules - :members: - diff --git a/doc/source/server/protocol/index.rst b/doc/source/server/protocol/index.rst deleted file mode 100644 index 2b01466..0000000 --- a/doc/source/server/protocol/index.rst +++ /dev/null @@ -1,8 +0,0 @@ -protocol stack -============== - -.. toctree:: - :maxdepth: 3 - - interface/index - diff --git a/doc/source/server/protocol/interface/index.rst b/doc/source/server/protocol/interface/index.rst deleted file mode 100644 index 2a3f5cf..0000000 --- a/doc/source/server/protocol/interface/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -Interfaces -========== - -.. toctree:: - :maxdepth: 3 - - tcp - zmq - diff --git a/doc/source/server/protocol/interface/tcp.rst b/doc/source/server/protocol/interface/tcp.rst deleted file mode 100644 index 7bc09da..0000000 --- a/doc/source/server/protocol/interface/tcp.rst +++ /dev/null @@ -1,6 +0,0 @@ -TCP -=== - -.. automodule:: secop.protocol.interface.tcp - :members: - diff --git a/doc/source/server/protocol/interface/zmq.rst b/doc/source/server/protocol/interface/zmq.rst deleted file mode 100644 index d184207..0000000 --- a/doc/source/server/protocol/interface/zmq.rst +++ /dev/null @@ -1,6 +0,0 @@ -ZMQ -=== - -.. automodule:: secop.protocol.interface.zmq - :members: - diff --git a/doc/source/server/starting.rst b/doc/source/server/starting.rst deleted file mode 100644 index 620ff94..0000000 --- a/doc/source/server/starting.rst +++ /dev/null @@ -1,21 +0,0 @@ -Starting -======== - -The SECoP server can be started via the ``bin/secop-server`` script. - -.. parsed-literal:: - - usage: secop-server [-h] [-v | -q] [-d] name - - Manage a SECoP server - - positional arguments: - name Name of the instance. Uses etc/name.cfg for configuration - - optional arguments: - -h, --help show this help message and exit - -v, --verbose Output lots of diagnostic information - -q, --quiet suppress non-error messages - -d, --daemonize Run as daemon - - diff --git a/doc/source/tutorial/tutorial.rst b/doc/source/tutorial/tutorial.rst new file mode 100644 index 0000000..d56ad4d --- /dev/null +++ b/doc/source/tutorial/tutorial.rst @@ -0,0 +1,228 @@ +Frappy Programming Guide +======================== + +Introduction +------------ +*Frappy* is a Python framework for creating Sample Environment Control Nodes (SEC Node) with a SECoP interface. A *SEC Node* is a service, running usually a computer or microcomputer, which accesses the hardware over the interfaces given by the manufacturer of the used electronic devices. It provides access to the data in an abstracted form over the SECoP interface. [*SECoP*](https://github.com/SampleEnvironment/SECoP/tree/master/protocol) is a protocol for communicating with Sample Environment and other mobile devices, specified by a committee of the [ISSE](https://sampleenvironment.org). The Frappy framework deals with all the details of the SECoP protocol, so the programmer can concentrate on the details of accessing the hardware with support for different types of interfaces (TCP or Serial, ASCII or binary). However, the programmer should be aware of the basic principle of the SECoP protocol: the hardware abstraction. + +Hardware Abstraction +-------------------- + +The idea of hardware abstraction is to hide the details of hardware access from the SECoP interface. +A SECoP module is a logical component of an abstract view of the sample environment. +It is one independent value of measurement like a temperature or physical output like a current or voltage. +This corresponds roughly to an EPICS channel or a NICOS device. On the hardware side we may have devices +with several channels, like a typical temperature controller, which will be represented individual SECoP modules. +On the other hand a SECoP channel might be linked with several hardware devices, for example if you imagine +a superconducting magnet controller built of seperate electronic devices like a power supply, switch heater +and coil temperature monitor. The latter case does not mean that we have to hide complete the details in the +SECoP interface. For an expert it might be useful to give at least read access to hardware specific data +by providing them as seperate SECoP modules. But the magnet module should be usable without knowledge of +all the inner details. + +A SECoP module has: + +* **properties**: static information describing the module, for example a human readable *description* of + the module or information about the intended *visibiliy*. +* **parameters**: changing information about the state of a module (for example the *status* containing + information about the state of the module )or modifiable information influencing the measurement + (for example a "ramp" rate) +* **commands**: actions, for example *stop* + +A SECoP module belongs to an interface class, mainly *Readable* or *Drivable*. A *Readable* has at least the +parameters *value* and *status*, a *Drivable* in addition *target*. *value* is the main value of the module +and is read only. *status* is a tuple (status code, status text), and *target* is the target value. +When the *target* parameter value of a *Drivable* changes, the status code changes normally to a busy code. +As soon as the target value is reached, the status code changes back to an idle code, if no error occurs. + +**Programmers Hint:** before starting to code, choose carefully the main SECoP modules you have to provide +to the user. + +Tutorial Example +---------------- +For this tutorial we choose as an example a cryostat with a LakeShore 336 temperature controller, a level +meter and a motorized needle value. Let us start with the level meter, as this is the simplest module. + +Configuration +------------- +Before we start coding, we create a configuration file. The frappy framework usually has all present code +in the directory tree, and the server is started with the configuration as an argument, determining which +modules are to be configured, ans which code is effectively to be used. We choose the name *example_cryo* +and create therefore a configuration file *example_cryo.cfg* in the *cfg* subdirectory. + +Let us start with a simple configuration for the level meter only: + +``cfg/example_cryo.cfg``: + +.. code:: ini + + [NODE] + description = this is an example cryostat for the Frappy tutorial + id = example_cryo.sampleenvironment.org + + [INTERFACE] + uri = tcp://5000 + + [helev] + description = He level of the cryostat He reservoir + class = secop_psi.ccu4.HeLevel + uri = linse-moxa-4.psi.ch:3001 + + # TO BE MOVED + [tmain] + description = main (heat exchange) temperature + class = secop_psi.ls336.ControlledChannel + iodev = lsio + +The configuration file contains several section starting with a line in rectangular brackets. + +The *NODE* section describes the main properties of the SEC Node: a description of the node and +an id, which should be globally unique. + +The *INTERFACE* section defines the address of the server, usually the only important value here +is the TCP port under which the server will be accessible. Currently only tcp is supported. + +All the other sections define the SECoP modules to be used. A module section at least contain a +human readable *description*, and the Python *class* used. Other properties or parameter values may +follow, in this case the *uri* for the communication with the He level monitor. + +Code the Python Class for the Module +------------------------------------ +As mentioned in the introduction, we have to code the access to the hardware (driver), and the Frappy +framework will deal with the SECoP interface. The code for the driver is located in a subdirectory +named after the facility or institute programming the driver in our case *secop_psi*. +We create a file named from the electronic device CCU4 we use here for the He level reading. +CCU4 luckily has a very simple and logical protocol: + +* ``=\n`` sets the parameter named ```` to the value ```` +* ``\n`` reads the parameter named ```` +* in both cases, the reply is ``=\n`` + +``secop_psi/ccu4.py``: + +.. code:: python + + # the most common classes can be imported from secop.core + from secop.core import Readable, Parameter, Override, FloatRange, BoolType, \ + StringIO, HasIodev + + # inheriting HasIodev mixin creates us the things needed for talking + # with a device by means of the sendRecv method + # Readable as a base class defines the value and status parameters + + class HeLevel(HasIodev, Readable): + """He Level channel of CCU4""" + + # define or alter the parameters + parameters = { + # we are changing the 'unit' parameter property of the inherited 'value' + # parameter, therefore 'Override' + 'value': Override(unit='%'), + } + # tells us how to communicate. StringIO is using \n as line end, which fits + iodevClass = StringIO + + def read_value(self): + # method for reading the main value + reply = self.sendRecv('h') # send 'h\n' and get the reply 'h=\n' + name, txtvalue = reply.split('=') + assert name == 'h' # check that we got a reply to our command + return txtvalue # the framework will automatically convert the string to a float + +This is already a very simple working He Level meter driver. For a next step, we want to improve it: + +* We should tell the client, when there is an error. That is what the *status* parameter is for. + We do not need to declare the status parameter, as it is inherited from *Readable*. +* We want to be able to configure the He Level sensor and we want to be able to switch the + Level Monitor to fast reading before we start to fill. + +Let us start to code these additions: + +.. code:: python + + ... + # define or alter the parameters + parameters = { + + ... + + # the first two arguments to Parameter are 'description' and 'datatype' + # it is highly recommended to define always the physical unit + 'empty': Parameter('warm length when empty', FloatRange(0, 2000), + readonly=False, unit='mm'), + 'full': Parameter('warm length when full', FloatRange(0, 2000), + readonly=False, unit='mm'), + 'fast': Parameter('fast reading', BoolType(), + readonly=False), + } + + ... + + Status = Readable.Status + + STATUS_MAP = { + 0: (Status.IDLE, 'sensor ok'), + 1: (Status.ERROR, 'sensor warm'), + 2: (Status.ERROR, 'no sensor'), + 3: (Status.ERROR, 'timeout'), + 4: (Status.ERROR, 'not yet read'), + 5: (Status.DISABLED, 'disabled'), + } + + def read_status(self): + name, txtvalue = self.sendRecv('hsf').split('=') + assert name == 'hsf' + return self.STATUS_MAP(int(txtvalue)) + + def read_emtpy(self): + name, txtvalue = self.sendRecv('hem').split('=') + assert name == 'hem' + return txtvalue + + def write_empty(self, value): + name, txtvalue = self.sendRecv('hem=%g' % value).split('=') + assert name == 'hem' + return txtvalue + + ... + +We realize now, that we will repeat similar code for other parameters, which means it might be +worth to create our own *_sendRecv* method, and then the *read_* and *write_* methods +will become shorter: + +.. code:: python + + ... + + def _sendRecv(self, cmd): + # method may be used for reading and writing parameters + name, txtvalue = self.sendRecv(cmd).split('=') + assert name == cmd.split('=')[0] # check that we got a reply to our command + return txtvalue # the framework will automatically convert the string to a float + + def read_value(self): + return self._sendRecv('h') + + ... + + def read_status(self): + return self.STATUS_MAP(int(self._sendRecv('hsf'))) + + def read_empty(self): + return self._sendRecv('hem') + + def write_empty(self, value): + return self._sendRecv('hem=%g' % value) + + def read_full(self): + return self._sendRecv('hfu') + + def write_full(self, value): + return self._sendRecv('hfu=%g' % value) + + def read_fast(self): + return self._sendRecv('hf') + + def write_fast(self, value): + return self._sendRecv('hf=%s' % value) + diff --git a/secop/core.py b/secop/core.py index d792c4c..8ea1cd4 100644 --- a/secop/core.py +++ b/secop/core.py @@ -36,3 +36,4 @@ from secop.metaclass import Done from secop.iohandler import IOHandler, IOHandlerBase from secop.stringio import StringIO, HasIodev from secop.proxy import SecNode, Proxy, proxy_class +from secop.poller import AUTO, REGULAR, SLOW, DYNAMIC diff --git a/secop/datatypes.py b/secop/datatypes.py index 9ff6b92..b34a611 100644 --- a/secop/datatypes.py +++ b/secop/datatypes.py @@ -53,8 +53,8 @@ UNLIMITED = 1 << 64 # internal limit for integers, is probably high enough for Parser = Parser() -# base class for all DataTypes class DataType(HasProperties): + """base class for all data types""" IS_COMMAND = False unit = '' default = None @@ -157,8 +157,14 @@ class Stub(DataType): # SECoP types: + class FloatRange(DataType): - """Restricted float type""" + """(restricted) float type + + :param minval: (property **min**) + :param maxval: (property **max**) + """ + properties = { 'min': Property('low limit', Stub('FloatRange'), extname='min', default=-sys.float_info.max), 'max': Property('high limit', Stub('FloatRange'), extname='max', default=sys.float_info.max), @@ -170,11 +176,11 @@ class FloatRange(DataType): extname='relative_resolution', default=1.2e-7), } - def __init__(self, minval=None, maxval=None, **kwds): + def __init__(self, minval=None, maxval=None, **properties): super().__init__() - kwds['min'] = minval if minval is not None else -sys.float_info.max - kwds['max'] = maxval if maxval is not None else sys.float_info.max - self.set_properties(**kwds) + properties['min'] = minval if minval is not None else -sys.float_info.max + properties['max'] = maxval if maxval is not None else sys.float_info.max + self.set_properties(**properties) def checkProperties(self): self.default = 0 if self.min <= 0 <= self.max else self.min @@ -236,7 +242,11 @@ class FloatRange(DataType): class IntRange(DataType): - """Restricted int type""" + """restricted int type + + :param minval: (property **min**) + :param maxval: (property **max**) + """ properties = { 'min': Property('minimum value', Stub('IntRange', -UNLIMITED, UNLIMITED), extname='min', mandatory=True), 'max': Property('maximum value', Stub('IntRange', -UNLIMITED, UNLIMITED), extname='max', mandatory=True), @@ -296,10 +306,14 @@ class IntRange(DataType): class ScaledInteger(DataType): - """Scaled integer int type + """scaled integer (= fixed resolution float) type - note: limits are for the scaled value (i.e. the internal value) - the scale is only used for calculating to/from transport serialisation""" + :param minval: (property **min**) + :param maxval: (property **max**) + + note: limits are for the scaled float value + the scale is only used for calculating to/from transport serialisation + """ properties = { 'scale': Property('scale factor', FloatRange(sys.float_info.min), extname='scale', mandatory=True), 'min': Property('low limit', FloatRange(), extname='min', mandatory=True), @@ -312,7 +326,7 @@ class ScaledInteger(DataType): extname='relative_resolution', default=1.2e-7), } - def __init__(self, scale, minval=None, maxval=None, absolute_resolution=None, **kwds): + def __init__(self, scale, minval=None, maxval=None, absolute_resolution=None, **properties): super().__init__() scale = float(scale) if absolute_resolution is None: @@ -321,7 +335,7 @@ class ScaledInteger(DataType): min=DEFAULT_MIN_INT * scale if minval is None else float(minval), max=DEFAULT_MAX_INT * scale if maxval is None else float(maxval), absolute_resolution=absolute_resolution, - **kwds) + **properties) def checkProperties(self): self.default = 0 if self.min <= 0 <= self.max else self.min @@ -401,14 +415,20 @@ class ScaledInteger(DataType): class EnumType(DataType): + """enumeration - def __init__(self, enum_or_name='', **kwds): + :param enum_or_name: the name of the Enum or an Enum to inherit from + :param members: members= + + other keywords: (additional) members + """ + def __init__(self, enum_or_name='', **members): super().__init__() - if 'members' in kwds: - kwds = dict(kwds) - kwds.update(kwds['members']) - kwds.pop('members') - self._enum = Enum(enum_or_name, **kwds) + if 'members' in members: + members = dict(members) + members.update(members['members']) + members.pop('members') + self._enum = Enum(enum_or_name, **members) self.default = self._enum[self._enum.members[0]] def copy(self): @@ -448,6 +468,10 @@ class EnumType(DataType): class BLOBType(DataType): + """binary large object + + internally treated as bytes + """ properties = { 'minbytes': Property('minimum number of bytes', IntRange(0), extname='minbytes', default=0), @@ -511,6 +535,9 @@ class BLOBType(DataType): class StringType(DataType): + """string + + """ properties = { 'minchars': Property('minimum number of character points', IntRange(0, UNLIMITED), extname='minchars', default=0), @@ -520,11 +547,11 @@ class StringType(DataType): Stub('BoolType'), extname='isUTF8', default=False), } - def __init__(self, minchars=0, maxchars=None, **kwds): + def __init__(self, minchars=0, maxchars=None, **properties): super().__init__() if maxchars is None: maxchars = minchars or UNLIMITED - self.set_properties(minchars=minchars, maxchars=maxchars, **kwds) + self.set_properties(minchars=minchars, maxchars=maxchars, **properties) def checkProperties(self): self.default = ' ' * self.minchars @@ -602,6 +629,9 @@ class TextType(StringType): class BoolType(DataType): + """boolean + + """ default = False def export_datatype(self): @@ -646,6 +676,9 @@ Stub.fix_datatypes() class ArrayOf(DataType): + """data structure with fields of homogeneous type + + """ properties = { 'minlen': Property('minimum number of elements', IntRange(0), extname='minlen', default=0), @@ -743,6 +776,9 @@ class ArrayOf(DataType): class TupleOf(DataType): + """data structure with fields of inhomogeneous type + + """ def __init__(self, *members): super().__init__() @@ -813,7 +849,9 @@ class ImmutableDict(dict): class StructOf(DataType): + """data structure with named fields + """ def __init__(self, optional=None, **members): super().__init__() self.members = members @@ -890,6 +928,10 @@ class StructOf(DataType): class CommandType(DataType): + """command + + a pseudo datatype for commands with arguments and return values + """ IS_COMMAND = True def __init__(self, argument=None, result=None): @@ -948,8 +990,8 @@ class CommandType(DataType): raise BadValueError('incompatible datatypes') - # internally used datatypes (i.e. only for programming the SEC-node) + class DataTypeType(DataType): def __call__(self, value): """check if given value (a python obj) is a valid datatype @@ -1111,7 +1153,10 @@ def get_datatype(json, pname=''): """returns a DataType object from description inverse of .export_datatype() - the pname argument, if given, is used to name EnumTypes from the parameter name + + :param json: the datainfo object as returned from json.loads + :param pname: if given, used to name EnumTypes from the parameter name + :return: the datatype (instance of DataType) """ if json is None: return json diff --git a/secop/iohandler.py b/secop/iohandler.py index eb6908e..1c18532 100644 --- a/secop/iohandler.py +++ b/secop/iohandler.py @@ -197,20 +197,18 @@ class IOHandler(IOHandlerBase): the same format as the arguments for the change command. Examples: devices from LakeShore, PPMS - implementing classes may override the following class variables - """ - CMDARGS = [] # list of properties or parameters to be used for building some of the the query and change commands - CMDSEPARATOR = None # if not None, it is possible to join a command and a query with the given separator + :param group: the handler group (used for analyze_ and change_) + :param querycmd: the command for a query, may contain named formats for cmdargs + :param replyfmt: the format for reading the reply with some scanf like behaviour + :param changecmd: the first part of the change command (without values), may be + omitted if no write happens + + """ + CMDARGS = [] #: list of properties or parameters to be used for building some of the the query and change commands + CMDSEPARATOR = None #: if not None, it is possible to join a command and a query with the given separator def __init__(self, group, querycmd, replyfmt, changecmd=None): - """initialize the IO handler - - group: the handler group (used for analyze_ and change_) - querycmd: the command for a query, may contain named formats for cmdargs - replyfmt: the format for reading the reply with some scanf like behaviour - changecmd: the first part of the change command (without values), may be - omitted if no write happens - """ + """initialize the IO handler""" self.group = group self.parameters = set() self._module_class = None @@ -269,7 +267,7 @@ class IOHandler(IOHandlerBase): return self.read def read(self, module): - """write values from module""" + # read values from module assert module.__class__ == self._module_class try: # do a read of the current hw values @@ -293,7 +291,8 @@ class IOHandler(IOHandlerBase): def get_write_func(self, pname): """returns the write function passed to the metaclass - If pre_wfunc is given, it is to be called before change_. + :param pname: the parameter name + May be overriden to return None, if not used """ @@ -304,7 +303,7 @@ class IOHandler(IOHandlerBase): return wfunc def write(self, module, pname, value): - """write value to the module""" + # write value to parameter pname of the module assert module.__class__ == self._module_class force_read = False valuedict = {pname: value} diff --git a/secop/lib/asynconn.py b/secop/lib/asynconn.py index 97be5c4..829b45f 100644 --- a/secop/lib/asynconn.py +++ b/secop/lib/asynconn.py @@ -126,7 +126,7 @@ class AsynConn: self._rxbuffer += data def readbytes(self, nbytes, timeout=None): - """read one line + """read a fixed number of bytes return either bytes or None if not enough data available within 1 sec (self.timeout) if a non-zero timeout is given, a timeout error is raised instead of returning None diff --git a/secop/lib/enum.py b/secop/lib/enum.py index 591dd13..73f76ed 100644 --- a/secop/lib/enum.py +++ b/secop/lib/enum.py @@ -270,7 +270,10 @@ class Enum(dict): self.name = name def __getattr__(self, key): - return self[key] + try: + return self[key] + except KeyError as e: + raise AttributeError(str(e)) def __setattr__(self, key, value): if self.name and key != 'name': @@ -286,7 +289,8 @@ class Enum(dict): raise TypeError('Enum %r can not be changed!' % self.name) def __repr__(self): - return '' % (self.name, len(self)//2) + return 'Enum(%r, %s)' % (self.name, ', '.join('%s=%d' % (m.name, m.value) for m in self.members)) + # return '' % (self.name, len(self)//2) def __call__(self, key): return self[key] diff --git a/secop/metaclass.py b/secop/metaclass.py index becdb8d..8244162 100644 --- a/secop/metaclass.py +++ b/secop/metaclass.py @@ -28,7 +28,7 @@ from collections import OrderedDict from secop.errors import ProgrammingError, BadValueError from secop.params import Command, Override, Parameter from secop.datatypes import EnumType -from secop.properties import PropertyMeta +from secop.properties import PropertyMeta, add_extra_doc class Done: @@ -206,6 +206,10 @@ class ModuleMeta(PropertyMeta): raise ProgrammingError('%r: command %r has to be specified ' 'explicitly!' % (name, attrname[3:])) + add_extra_doc(newtype, '**parameters**', + {k: p for k, p in accessibles.items() if isinstance(p, Parameter)}) + add_extra_doc(newtype, '**commands**', + {k: p for k, p in accessibles.items() if isinstance(p, Command)}) attrs['__constructed__'] = True return newtype diff --git a/secop/modules.py b/secop/modules.py index 9ccde80..97a0f85 100644 --- a/secop/modules.py +++ b/secop/modules.py @@ -46,19 +46,21 @@ from secop.poller import Poller, BasicPoller class Module(HasProperties, metaclass=ModuleMeta): - """Basic Module + """basic module - ALL secop Modules derive from this + all SECoP modules derive from this. - note: within Modules, parameters should only be addressed as self. - i.e. self.value, self.target etc... + note: within modules, parameters should only be addressed as ``self.`` + i.e. ``self.value``, ``self.target`` etc... these are accessing the cached version. - they can also be written to (which auto-calls self.write_ and - generate an async update) + they can also be written to, generating an async update - if you want to 'update from the hardware', call self.read_() instead + if you want to 'update from the hardware', call ``self.read_()`` instead the return value of this method will be used as the new cached value and be an async update sent automatically. + + if you want to 'update the hardware' call ``self.write_()``. + The return value of this method will also update the cache. """ # static properties, definitions in derived classes should overwrite earlier ones. # note: properties don't change after startup and are usually filled @@ -78,7 +80,6 @@ class Module(HasProperties, metaclass=ModuleMeta): extname='implementation'), 'interface_classes': Property('Offical highest Interface-class of the module', ArrayOf(StringType()), extname='interface_classes'), - # what else? } # properties, parameters and commands are auto-merged upon subclassing @@ -88,7 +89,7 @@ class Module(HasProperties, metaclass=ModuleMeta): # reference to the dispatcher (used for sending async updates) DISPATCHER = None - pollerClass = Poller + pollerClass = Poller #: default poller used def __init__(self, name, logger, cfgdict, srv): # remember the dispatcher object (for the async callbacks) @@ -401,12 +402,7 @@ class Module(HasProperties, metaclass=ModuleMeta): class Readable(Module): - """Basic readable Module - - providing the readonly parameter 'value' and 'status' - - Also allow configurable polling per 'pollinterval' parameter. - """ + """basic readable module""" # pylint: disable=invalid-name Status = Enum('Status', IDLE = 100, @@ -415,7 +411,7 @@ class Readable(Module): ERROR = 400, DISABLED = 0, UNKNOWN = 401, - ) + ) #: status codes parameters = { 'value': Parameter('current value of the Module', readonly=True, datatype=FloatRange(), @@ -478,10 +474,7 @@ class Readable(Module): class Writable(Readable): - """Basic Writable Module - - providing a settable 'target' parameter to those of a Readable - """ + """basic writable module""" parameters = { 'target': Parameter('target value of the Module', default=0, readonly=False, datatype=FloatRange(), @@ -490,13 +483,9 @@ class Writable(Readable): class Drivable(Writable): - """Basic Drivable Module + """basic drivable module""" - provides a stop command to interrupt actions. - Also status gets extended with a BUSY state indicating a running action. - """ - - Status = Enum(Readable.Status, BUSY=300) + Status = Enum(Readable.Status, BUSY=300) #: Status codes commands = { 'stop': Command( @@ -511,11 +500,18 @@ class Drivable(Writable): } def isBusy(self, status=None): - """helper function for treating substates of BUSY correctly""" + """check for busy, treating substates correctly + + returns True when busy (also when finalizing) + """ return 300 <= (status or self.status)[0] < 400 def isDriving(self, status=None): - """helper function (finalize is busy, not driving)""" + """check for driving, treating status substates correctly + + returns True when busy, but not finalizing + """ + """""" return 300 <= (status or self.status)[0] < 390 # improved polling: may poll faster if module is BUSY @@ -537,13 +533,13 @@ class Drivable(Writable): return fastpoll def do_stop(self): - """default implementation of the stop command - - by default does nothing.""" + # default implementation of the stop command + # by default does nothing + pass class Communicator(Module): - """Basic communication Module + """basic communication module providing no parameters, but a 'communicate' command. """ @@ -555,8 +551,24 @@ class Communicator(Module): ), } + def do_communicate(self, command): + """communicate command + + :param command: the command to be sent + :return: the reply + """ + raise NotImplementedError() + class Attached(Property): + """a special property, defining an attached modle + + assign a module name to this property in the cfg file, + and the server will create an attribute with this module + + :param attrname: the name of the to be created attribute. if not given + the attribute name is the property name prepended by an underscore. + """ # we can not put this to properties.py, as it needs datatypes def __init__(self, attrname=None): self.attrname = attrname diff --git a/secop/params.py b/secop/params.py index 310a195..76ddb41 100644 --- a/secop/params.py +++ b/secop/params.py @@ -68,50 +68,41 @@ class Accessible(HasProperties, CountedObj): class Parameter(Accessible): - """storage for Parameter settings + value + qualifiers - - if readonly is False, the value can be changed (by code, or remote) - if no default is given, the parameter MUST be specified in the configfile - during startup, value is initialized with the default value or - from the config file if specified there - - poll can be: - - None: will be converted to True/False if handler is/is not None - - False or 0 (never poll this parameter) - - True or > 0 (poll this parameter) - - the exact meaning depends on the used poller - meaning for secop.poller.Poller: - - 1 or True (AUTO), converted to SLOW (readonly=False), DYNAMIC('status' and 'value') or REGULAR(else) - - 2 (SLOW), polled with lower priority and a multiple of pollperiod - - 3 (REGULAR), polled with pollperiod - - 4 (DYNAMIC), polled with pollperiod, if not BUSY, else with a fraction of pollperiod - meaning for the basicPoller: - - True or 1 (poll this every pollinterval) - - positive int (poll every N(th) pollinterval) - - negative int (normally poll every N(th) pollinterval, if module is busy, poll every pollinterval) - note: Drivable (and derived classes) poll with 10 fold frequency if module is busy.... - """ + """storage for parameter settings + value + qualifiers""" + # poll: meaning for the basicPoller: + # - True or 1 (poll this every pollinterval) + # - positive int (poll every N(th) pollinterval) + # - negative int (normally poll every N(th) pollinterval, if module is busy, poll every pollinterval) + # note: Drivable (and derived classes) poll with 10 fold frequency if module is busy.... properties = { - 'description': Property('Description of the Parameter', TextType(), + 'description': Property('mandatory description of the parameter', TextType(), extname='description', mandatory=True), - 'datatype': Property('Datatype of the Parameter', DataTypeType(), + 'datatype': Property('datatype of the Parameter (SECoP datainfo)', DataTypeType(), extname='datainfo', mandatory=True), - 'readonly': Property('Is the Parameter readonly? (vs. changeable via SECoP)', BoolType(), + 'readonly': Property('not changeable via SECoP (default True)', BoolType(), extname='readonly', mandatory=True), - 'group': Property('Optional parameter group this parameter belongs to', StringType(), + 'group': Property('optional parameter group this parameter belongs to', StringType(), extname='group', default=''), - 'visibility': Property('Optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3), + 'visibility': Property('optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3), extname='visibility', default=1), - 'constant': Property('Optional constant value for constant parameters', ValueType(), + 'constant': Property('optional constant value for constant parameters', ValueType(), extname='constant', default=None, mandatory=False), - 'default': Property('Default (startup) value of this parameter if it can not be read from the hardware.', + 'default': Property('default (startup) value of this parameter if it can not be read from the hardware.', ValueType(), export=False, default=None, mandatory=False), - 'export': Property('Is this parameter accessible via SECoP? (vs. internal parameter)', + 'export': Property('[internal] is this parameter accessible via SECoP? (vs. internal parameter)', OrType(BoolType(), StringType()), export=False, default=True), - 'poll': Property('Polling indicator', NoneOr(IntRange()), export=False, default=None), - 'needscfg': Property('needs value in config', NoneOr(BoolType()), export=False, default=None), - 'optional': Property('[Internal] is this parameter optional?', BoolType(), export=False, + 'poll': Property('[internal] polling indicator, may be:\n' + '\n '.join(['', + '* None (omitted): will be converted to True/False if handler is/is not None', + '* False or 0 (never poll this parameter)', + '* True or 1 (AUTO), converted to SLOW (readonly=False), ' + 'DYNAMIC (*status* and *value*) or REGULAR (else)', + '* 2 (SLOW), polled with lower priority and a multiple of pollinterval', + '* 3 (REGULAR), polled with pollperiod', + '* 4 (DYNAMIC), if BUSY, with a fraction of pollinterval, else polled with pollperiod']), + NoneOr(IntRange()), export=False, default=None), + 'needscfg': Property('[internal] needs value in config', NoneOr(BoolType()), export=False, default=None), + 'optional': Property('[internal] is this parameter optional?', BoolType(), export=False, settable=False, default=False), 'handler': Property('[internal] overload the standard read and write functions', ValueType(), export=False, default=None, mandatory=False, settable=False), @@ -225,7 +216,7 @@ class Override(CountedObj): """Stores the overrides to be applied to a Parameter note: overrides are applied by the metaclass during class creating - reorder= True: use position of Override instead of inherited for the order + reorder=True: use position of Override instead of inherited for the order """ def __init__(self, description="", datatype=None, *, reorder=False, **kwds): super(Override, self).__init__() @@ -273,21 +264,21 @@ class Command(Accessible): """storage for Commands settings (description + call signature...) """ properties = { - 'description': Property('Description of the Command', TextType(), + 'description': Property('description of the command', TextType(), extname='description', export=True, mandatory=True), - 'group': Property('Optional command group of the command.', StringType(), + 'group': Property('optional command group of the command.', StringType(), extname='group', export=True, default=''), - 'visibility': Property('Optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3), + 'visibility': Property('optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3), extname='visibility', export=True, default=1), - 'export': Property('[internal] Flag: is the command accessible via SECoP? (vs. pure internal use)', + 'export': Property('[internal] flag: is the command accessible via SECoP? (vs. pure internal use)', OrType(BoolType(), StringType()), export=False, default=True), 'optional': Property('[internal] is the command optional to implement? (vs. mandatory)', BoolType(), export=False, default=False, settable=False), 'datatype': Property('[internal] datatype of the command, auto generated from \'argument\' and \'result\'', DataTypeType(), extname='datainfo', mandatory=True), - 'argument': Property('Datatype of the argument to the command, or None.', + 'argument': Property('datatype of the argument to the command, or None.', NoneOr(DataTypeType()), export=False, mandatory=True), - 'result': Property('Datatype of the result from the command, or None.', + 'result': Property('datatype of the result from the command, or None.', NoneOr(DataTypeType()), export=False, mandatory=True), } diff --git a/secop/poller.py b/secop/poller.py index 852803c..0f29151 100644 --- a/secop/poller.py +++ b/secop/poller.py @@ -40,10 +40,10 @@ from secop.lib import mkthread from secop.errors import ProgrammingError # poll types: -AUTO = 1 # equivalent to True, converted to REGULAR, SLOW or DYNAMIC -SLOW = 2 -REGULAR = 3 -DYNAMIC = 4 +AUTO = 1 #: equivalent to True, converted to REGULAR, SLOW or DYNAMIC +SLOW = 2 #: polling with low priority and increased poll interval (used by default when readonly=False) +REGULAR = 3 #: polling with standard interval (used by default for read only parameters except status and value) +DYNAMIC = 4 #: polling with shorter poll interval when BUSY (used by default for status and value) class PollerBase: diff --git a/secop/properties.py b/secop/properties.py index bd048b1..1be6916 100644 --- a/secop/properties.py +++ b/secop/properties.py @@ -30,13 +30,19 @@ from secop.errors import ProgrammingError, ConfigError, BadValueError # storage for 'properties of a property' class Property: - '''base class holding info about a property + """base class holding info about a property - properties are only sent to the ECS if export is True, or an extname is set - if mandatory is True, they MUST have a value in the cfg file assigned to them. - otherwise, this is optional in which case the default value is applied. - All values MUST pass the datatype. - ''' + :param description: mandatory + :param datatype: the datatype to be accepted. not only to the SECoP datatypes are allowed! + also for example ``ValueType()`` (any type!), ``NoneOr(...)``, etc. + :param default: a default value. SECoP properties are normally not sent to the ECS, + when they match the default + :param extname: external name + :param export: sent to the ECS when True. defaults to True, when ``extname`` is given + :param mandatory: defaults to True, when ``default`` is not given. indicates that it must have a value + assigned from the cfg file (or, in case of a module property, it may be assigned as a class attribute) + :param settable: settable from the cfg file + """ # note: this is intended to be used on base classes. # the VALUES of the properties are on the instances! def __init__(self, description, datatype, default=None, extname='', export=False, mandatory=None, settable=True): @@ -79,6 +85,17 @@ class Properties(OrderedDict): raise ProgrammingError('deleting Properties is not supported!') +def add_extra_doc(cls, title, items): + """add bulleted list to doc string + + using names and description of items + """ + bulletlist = ['\n - **%s** - %s' % (k, p.description) for k, p in items.items()] + if bulletlist: + doctext = '%s\n\n%s' % (title, ''.join(bulletlist)) + cls.__doc__ = (cls.__doc__ or '') + '\n\n %s\n' % doctext + + class PropertyMeta(type): """Metaclass for HasProperties @@ -124,6 +141,8 @@ class PropertyMeta(type): raise ProgrammingError('%r: property %r can not be set to %r' % (newtype, k, attrs[k])) setattr(newtype, k, property(getter)) + + add_extra_doc(newtype, '**properties**', attrs.get('properties', {})) # only new properties return newtype diff --git a/secop/stringio.py b/secop/stringio.py index 9ef68ed..5f535d5 100644 --- a/secop/stringio.py +++ b/secop/stringio.py @@ -49,8 +49,10 @@ class StringIO(Communicator): Property('used encoding', datatype=StringType(), default='ascii', settable=True), 'identification': - Property('a list of tuples with commands and expected responses as regexp', - datatype=ArrayOf(TupleOf(StringType(),StringType())), default=[], export=False), + Property('identification\n\n' + 'a list of tuples with commands and expected responses as regexp, ' + 'to be sent on connect', + datatype=ArrayOf(TupleOf(StringType(), StringType())), default=[], export=False), } parameters = { 'timeout': @@ -65,7 +67,7 @@ class StringIO(Communicator): commands = { 'multicomm': Command('execute multiple commands in one go', - argument=ArrayOf(StringType()), result= ArrayOf(StringType())) + argument=ArrayOf(StringType()), result=ArrayOf(StringType())) } _reconnectCallbacks = None @@ -221,7 +223,7 @@ class HasIodev(Module): """ properties = { 'iodev': Attached(), - 'uri': Property('uri for auto creation of iodev', StringType(), default=''), + 'uri': Property('uri for automatic creation of the attached communication module', StringType(), default=''), } iodevDict = {} diff --git a/secop_demo/cryo.py b/secop_demo/cryo.py index 7efc466..64665ce 100644 --- a/secop_demo/cryo.py +++ b/secop_demo/cryo.py @@ -181,7 +181,10 @@ class Cryostat(CryoBase): return (self.p, self.i, self.d) def do_stop(self): - # stop the ramp by setting current setpoint as target + """"stop the ramp + + by setting current setpoint as target + """ # XXX: discussion: take setpoint or current value ??? self.write_target(self.setpoint) diff --git a/secop_psi/ppms.py b/secop_psi/ppms.py index 76342dc..a935a86 100644 --- a/secop_psi/ppms.py +++ b/secop_psi/ppms.py @@ -54,7 +54,15 @@ except ImportError: class IOHandler(secop.iohandler.IOHandler): - CMDARGS = ['no'] + """IO handler for PPMS commands + + deals with typical format: + + - query command: ``?`` + - reply: ``,, ..`` + - change command: `` ,,...`` + """ + CMDARGS = ['no'] # the channel number is needed in channel commands CMDSEPARATOR = None # no command chaining def __init__(self, name, querycmd, replyfmt): @@ -63,7 +71,7 @@ class IOHandler(secop.iohandler.IOHandler): class Main(Communicator): - """general ppms dummy module""" + """ppms communicator module""" parameters = { 'pollinterval': Parameter('poll interval', readonly=False, @@ -126,6 +134,8 @@ class Main(Communicator): class PpmsMixin(HasIodev, Module): + """common methods for ppms modules""" + properties = { 'iodev': Attached(), } @@ -139,29 +149,24 @@ class PpmsMixin(HasIodev, Module): self._iodev.register(self) def startModule(self, started_callback): + """""" # no polls except on main module started_callback() def read_value(self): - """polling is done by the main module - - and PPMS does not deliver really more fresh values when polled more often - """ + # polling is done by the main module + # and PPMS does not deliver really more fresh values when polled more often return Done def read_status(self): - """polling is done by the main module - - and PPMS does not deliver really fresh status values anyway: the status is not - changed immediately after a target change! - """ + # polling is done by the main module + # and PPMS does not deliver really fresh status values anyway: + # e.g. the status is not changed immediately after a target change! return Done def update_value_status(self, value, packed_status): - """update value and status - - to be reimplemented for modules looking at packed_status - """ + # update value and status + # to be reimplemented for modules looking at packed_status if not self.enabled: self.status = (self.Status.DISABLED, 'disabled') return @@ -173,6 +178,8 @@ class PpmsMixin(HasIodev, Module): class Channel(PpmsMixin, Readable): + """channel base class""" + parameters = { 'value': Override('main value of channels', poll=True), @@ -201,6 +208,8 @@ class Channel(PpmsMixin, Readable): class UserChannel(Channel): + """user channel""" + parameters = { 'pollinterval': Override(visibility=3), @@ -223,6 +232,8 @@ class UserChannel(Channel): class DriverChannel(Channel): + """driver channel""" + drvout = IOHandler('drvout', 'DRVOUT? %(no)d', '%d,%g,%g') parameters = { @@ -247,6 +258,8 @@ class DriverChannel(Channel): class BridgeChannel(Channel): + """bridge channel""" + bridge = IOHandler('bridge', 'BRIDGE? %(no)d', '%d,%g,%g,%d,%d,%g') # pylint: disable=invalid-name ReadingMode = Enum('ReadingMode', standard=0, fast=1, highres=2) @@ -306,11 +319,10 @@ class Level(PpmsMixin, Readable): channel = 'level' def update_value_status(self, value, packed_status): - """must be a no-op - - when called from Main.read_data, value is always None - value and status is polled via settings - """ + # must be a no-op + # when called from Main.read_data, value is always None + # value and status is polled via settings + pass def analyze_level(self, level, status): # ignore 'old reading' state of the flag, as this happens only for a short time @@ -377,7 +389,6 @@ class Chamber(PpmsMixin, Drivable): channel = 'chamber' def update_value_status(self, value, packed_status): - """update value and status""" status_code = (packed_status >> 8) & 0xf if status_code in self.STATUS_MAP: self.value = status_code @@ -390,10 +401,6 @@ class Chamber(PpmsMixin, Drivable): return dict(target=target) def change_chamber(self, change): - """write settings, combining = and current attributes - - and request updated settings - """ if change.target == self.Operation.noop: return None return (change.target,) @@ -474,7 +481,6 @@ class Temp(PpmsMixin, Drivable): _ramp_at_limit = False def update_value_status(self, value, packed_status): - """update value and status""" if value is None: self.status = (self.Status.ERROR, 'invalid value') return @@ -649,7 +655,6 @@ class Field(PpmsMixin, Drivable): _last_change = 0 # means no target change is pending def update_value_status(self, value, packed_status): - """update value and status""" if value is None: self.status = (self.Status.ERROR, 'invalid value') return @@ -776,7 +781,6 @@ class Position(PpmsMixin, Drivable): _within_target = 0 # time since we are within target def update_value_status(self, value, packed_status): - """update value and status""" if not self.enabled: self.status = (self.Status.DISABLED, 'disabled') return From fbb0d10c5580d445e28edc1fcb4e76e5ce6ff94b Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 21 Jan 2021 08:40:16 +0100 Subject: [PATCH 34/51] fixed worst bugs in FG Lecryo driver Change-Id: Iab6b7e0f0838a42f1a4f4b484745cc7dd7089c6b --- secop_psi/FG_Lecroy_3000.py | 172 +++++++++++------------------------- 1 file changed, 52 insertions(+), 120 deletions(-) diff --git a/secop_psi/FG_Lecroy_3000.py b/secop_psi/FG_Lecroy_3000.py index cea6b59..3bacd44 100644 --- a/secop_psi/FG_Lecroy_3000.py +++ b/secop_psi/FG_Lecroy_3000.py @@ -21,7 +21,8 @@ """WAVE FUNCTION LECROY XX: SIGNAL GENERATOR""" from secop.core import Readable, Parameter, Override, Command, FloatRange, TupleOf, \ - HasIodev, StringIO, Done, Attached, IntRange, BoolType, EnumType,StringType, Module + HasIodev, StringIO, Done, Attached, IntRange, BoolType, EnumType, StringType, Module, \ + Property class Channel(Module): @@ -29,157 +30,88 @@ class Channel(Module): 'channel':Property('choose channel to manipulate',IntRange(1,2)), } parameters = { - 'freq': Parameter('frequency', - FloatRange(1e-6,20e6,unit='Hz'), - poll=True, initwrite=True, default=1000), - 'amp': Parameter('exc_volt_int', - FloatRange(0.00,5,unit='Vrms'), - poll=True, readonly=False, initwrite=True, default=0.1), - 'offset': Parameter('offset_volt_int', - FloatRange(0.00,10,unit='V'), - 'wave': Parameter ('type of wavefunction', StringType=('SINE','SQUARE','RAMP','PULSE','NOISE','ARB','DC'), poll=True, readonly=False, default='SINE'), - poll=True, readonly=False, initwrite=True, default=0.0), - 'phase': Parameter('signal phase', FloatRange(0,360,unit='deg'), poll=True, readonly=False, initwrite=True, default=0), - 'enabled': Parameter('enable output channel', datatype=StringType('OFF','ON'),readonly=False, default='OFF'), - 'symm': Parameter('wavefunction symmetry', FloatRange(0,100, unit=''), poll=True, readonly =False, default=0), - - } - pollerClass = Poller - - -#update instruments values -""" - def read_value(self): - #response type: self._freq1_arg.value = self.freq(1) C1:BSWV TYPE', 'SINE', 'FRQ', '1000', 'AMP', '3', 'OFST', '3 - # channel 1 status - reply=self.sendRecv('C1:BSWV?').split(',') - out=self.sendRecv('C1:OUTP?').split(',') #C1:OUTP ON,LOAD,HZ - self._freq1_arg.value = reply[3] - self._amp1_arg.value = reply[5] - self._off1_arg.value = reply[7] - self._out1_arg.value = out.split('')[1] - reply2=self.sendRecv('C2:BSWV?').split(',') - out2=self.sendRecv('C1:OUTP?').split(',') - self._freq2_arg.value = reply[3] - self._amp2_arg.value = reply[5] - self._off2_arg.value = reply[7] - self._out2_arg.value = out2.split('')[1] - return reply, out, reply2, out2 -""" + 'freq': + Parameter('frequency', FloatRange(1e-6,20e6,unit='Hz'), + poll=True, initwrite=True, default=1000), + 'amp': + Parameter('exc_volt_int', FloatRange(0.00,5,unit='Vrms'), + poll=True, readonly=False, initwrite=True, default=0.1), + 'offset': + Parameter('offset_volt_int', FloatRange(0.00,10,unit='V'), + poll = True, readonly = False, initwrite = True, default = 0.0), + 'wave': + Parameter ('type of wavefunction', + EnumType('WaveFunction', SINE=1, SQUARE=2, RAMP=3, PULSE=4, NOISE=5, ARB=6, DC=7), + poll=True, readonly=False, default='SINE'), + 'phase': + Parameter('signal phase', FloatRange(0,360,unit='deg'), + poll=True, readonly=False, initwrite=True, default=0), + 'enabled': + Parameter('enable output channel', datatype=EnumType('OnOff', OFF=0, ON=1), + readonly=False, default='OFF'), + 'symm': + Parameter('wavefunction symmetry', FloatRange(0,100, unit=''), + poll=True, readonly =False, default=0), + } def read_value(self): - reply = self.sendRecv('C%d:BSWV FRQ?' % self.channel) - - return reply + return self.sendRecv('C%d:BSWV FRQ?' % self.channel) def write_target(self,value): self.sendRecv('C%d:BSWV FRQ, %g' % (self.channel, str(value)+'Hz')) - -#signal channel parameter - - def read_channel(self): - reply=self.channel() - return reply - - def write_channel(self,value): - return value - -#signal wavefunction parameter - + +#signal wavefunction parameter def read_wave(self): - ch=str(self.channel) - reply = self.sendRecv('C'+ch+':BSWV WVTP?') - - - return reply + return self.sendRecv('C%d:BSWV WVTP?' % self.channel) def write_wave(self,value): #string value - ch=str(self.channel) - reply = self.sendRecv('C'+ch+':BSWV WVTP, %g' % value) - - - return reply - -""" -#signal freq parameter - def read_freq(self): - ch=str(self.channel) - reply = self.sendRecv('C'+ch+':BSWV FRQ?') - - return reply - - def write_freq(self,value): - ch=str(self.channel) - self.sendRecv('C'+ch+':BSWV FRQ, %g' % str(value)+'Hz') - + self.sendRecv('C%d:BSWV WVTP, %s' % (self.channel, value.name)) return value -""" - -#signal amplitude parameter + +#signal amplitude parameter def read_amp(self): - ch=str(self.channel) - reply = self.sendRecv'C'+ch+':BSWV AMP?') - - return reply + return self.sendRecv('C%d:BSWV AMP?' % self.channel) def write_amp(self,value): - ch=str(self.channel) - reply = self.sendRecv('C'+ch+':BSWV AMP, %g' % str(value)) - + self.sendRecv('C%d:BSWV AMP, %g' % (self.channel, value)) return value #offset value parameter def read_offset(self): - ch=str(self.channel) - reply = self.sendRecv('C'+ch+':BSWV OFST?') + return self.sendRecv('C%d:BSWV OFST?' % self.channel) - return reply - - def write_offset(self,ch,value): - ch=str(self.channel) - self.sendRecv('C'+ch+':BSWV OFST %g' % str(value)) - + def write_offset(self, value): + self.sendRecv('C%d:BSWV OFST %g' % (self.channel, value)) return value + # channel symmetry - def read_symm(self): - ch=str(self.channel) - reply = self.sendRecv('C'+ch+':BSWV SYM?') - - return reply - - def write_symm(self,ch,value): - ch=str(self.channel) - self.comm('C'+ch+':BSWV SYM %g' % str(value)) - + def read_symm(self): + return self.sendRecv('C%d:BSWV SYM?' % self.channel) + + def write_symm(self, value): + self.comm('C%d:BSWV SYM %g' % (self.channel, value)) return value # wave phase parameter - def read_phase(self): - ch=str(self.channel) - reply = self.sendRecv('C'+ch+':BSWV PHSE?') - - return reply - - def write_phase(self,value): - ch=str(self.channel) - self.sendRecv('C'+ch+':BSWV PHSE %g' % str(value)) + def read_phase(self): + return self.sendRecv('C%d:BSWV PHSE?' % self.channel) + + def write_phase(self, value): + self.sendRecv('C%d:BSWV PHSE %g' % (self.channel, str(value))) return value # dis/enable output channel def read_enabled(self): - ch=str(self.channel) - reply=self.sendRecv('C'+ch+': OUTP?') + return self.sendRecv('C%d: OUTP?' % self.channel) - return reply - - def write_enabled(self,ch,value): - self.sendRecv('C'+ch+': OUTP %g' % str(value)) - + def write_enabled(self, value): + self.sendRecv('C%d: OUTP %s' % (self.channel, value.name)) + return value # devices are defined as arg less output enable what is defined as arg2 From ad9defab0f562b246f4e16c8695b2188a0504b82 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 21 Jan 2021 08:41:17 +0100 Subject: [PATCH 35/51] changed doc html layout to alabaster - make page width 100% of the window - decrease code font size (seems to big compared to other text) Change-Id: Id36dffea22163dcbd77303b0aab8c852371ef017 --- doc/source/_static/custom.css | 31 +++++++++++++++++++++++++++++++ doc/source/conf.py | 10 +++++++--- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/doc/source/_static/custom.css b/doc/source/_static/custom.css index b21f55c..60a9232 100644 --- a/doc/source/_static/custom.css +++ b/doc/source/_static/custom.css @@ -1,4 +1,35 @@ +/* this is for the sphinx_rtd_theme div.wy-nav-content { max-width: 100% !important; } +*/ +div.body { + max-width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 26%; +} + +div.sphinxsidebar { + width: 25%; +} + +pre, tt, code { + font-size: 0.75em; +} + +@media screen and (max-width: 875px) { + div.bodywrapper { + margin: 0; + } + div.sphinxsidebar { + width: 102.5%; + } + div.document { + width: 100%; + } +} + + diff --git a/doc/source/conf.py b/doc/source/conf.py index 273fc13..70be1b6 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -99,8 +99,9 @@ default_role = 'any' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -import sphinx_rtd_theme -html_theme = 'sphinx_rtd_theme' +#import sphinx_rtd_theme +#html_theme = 'sphinx_rtd_theme' +html_theme = 'alabaster' # If not None, a 'Last updated on:' timestamp is inserted at every page # bottom, using the given strftime format. @@ -113,7 +114,10 @@ html_last_updated_fmt = '%Y-%m-%d %H:%M' # further. For a list of options available for each theme, see the # documentation. # -# html_theme_options = {} +html_theme_options = { + 'page_width': '100%', + 'fixed_sidebar': True, +} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, From e411ded55be99b8e81312c441707e8bc53482197 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 21 Jan 2021 08:42:43 +0100 Subject: [PATCH 36/51] worked on tutorial Change-Id: I630e7379e35cc0146d58f9abe10cb19283191ca8 --- doc/source/tutorial/tutorial.rst | 140 ++++++++++++++++++------------- 1 file changed, 84 insertions(+), 56 deletions(-) diff --git a/doc/source/tutorial/tutorial.rst b/doc/source/tutorial/tutorial.rst index d56ad4d..f602968 100644 --- a/doc/source/tutorial/tutorial.rst +++ b/doc/source/tutorial/tutorial.rst @@ -3,7 +3,19 @@ Frappy Programming Guide Introduction ------------ -*Frappy* is a Python framework for creating Sample Environment Control Nodes (SEC Node) with a SECoP interface. A *SEC Node* is a service, running usually a computer or microcomputer, which accesses the hardware over the interfaces given by the manufacturer of the used electronic devices. It provides access to the data in an abstracted form over the SECoP interface. [*SECoP*](https://github.com/SampleEnvironment/SECoP/tree/master/protocol) is a protocol for communicating with Sample Environment and other mobile devices, specified by a committee of the [ISSE](https://sampleenvironment.org). The Frappy framework deals with all the details of the SECoP protocol, so the programmer can concentrate on the details of accessing the hardware with support for different types of interfaces (TCP or Serial, ASCII or binary). However, the programmer should be aware of the basic principle of the SECoP protocol: the hardware abstraction. + +*Frappy* is a Python framework for creating Sample Environment Control Nodes (SEC Node) with +a SECoP interface. A *SEC Node* is a service, running usually a computer or microcomputer, +which accesses the hardware over the interfaces given by the manufacturer of the used +electronic devices. It provides access to the data in an abstracted form over the SECoP interface. +`SECoP `_ is a protocol for +communicating with Sample Environment and other mobile devices, specified by a committee of +the `ISSE `_. + +The Frappy framework deals with all the details of the SECoP protocol, so the programmer +can concentrate on the details of accessing the hardware with support for different types +of interfaces (TCP or Serial, ASCII or binary). However, the programmer should be aware of +the basic principle of the SECoP protocol: the hardware abstraction. Hardware Abstraction -------------------- @@ -38,60 +50,20 @@ As soon as the target value is reached, the status code changes back to an idle **Programmers Hint:** before starting to code, choose carefully the main SECoP modules you have to provide to the user. + Tutorial Example ---------------- For this tutorial we choose as an example a cryostat with a LakeShore 336 temperature controller, a level meter and a motorized needle value. Let us start with the level meter, as this is the simplest module. - -Configuration -------------- -Before we start coding, we create a configuration file. The frappy framework usually has all present code -in the directory tree, and the server is started with the configuration as an argument, determining which -modules are to be configured, ans which code is effectively to be used. We choose the name *example_cryo* -and create therefore a configuration file *example_cryo.cfg* in the *cfg* subdirectory. -Let us start with a simple configuration for the level meter only: -``cfg/example_cryo.cfg``: - -.. code:: ini - - [NODE] - description = this is an example cryostat for the Frappy tutorial - id = example_cryo.sampleenvironment.org - - [INTERFACE] - uri = tcp://5000 - - [helev] - description = He level of the cryostat He reservoir - class = secop_psi.ccu4.HeLevel - uri = linse-moxa-4.psi.ch:3001 - - # TO BE MOVED - [tmain] - description = main (heat exchange) temperature - class = secop_psi.ls336.ControlledChannel - iodev = lsio - -The configuration file contains several section starting with a line in rectangular brackets. - -The *NODE* section describes the main properties of the SEC Node: a description of the node and -an id, which should be globally unique. - -The *INTERFACE* section defines the address of the server, usually the only important value here -is the TCP port under which the server will be accessible. Currently only tcp is supported. - -All the other sections define the SECoP modules to be used. A module section at least contain a -human readable *description*, and the Python *class* used. Other properties or parameter values may -follow, in this case the *uri* for the communication with the He level monitor. - -Code the Python Class for the Module ------------------------------------- +Coding the HeLevel Driver +------------------------- As mentioned in the introduction, we have to code the access to the hardware (driver), and the Frappy framework will deal with the SECoP interface. The code for the driver is located in a subdirectory named after the facility or institute programming the driver in our case *secop_psi*. We create a file named from the electronic device CCU4 we use here for the He level reading. + CCU4 luckily has a very simple and logical protocol: * ``=\n`` sets the parameter named ```` to the value ```` @@ -106,10 +78,17 @@ CCU4 luckily has a very simple and logical protocol: from secop.core import Readable, Parameter, Override, FloatRange, BoolType, \ StringIO, HasIodev - # inheriting HasIodev mixin creates us the things needed for talking + + # the class used for communication + class CCU4IO(StringIO): + # on connect, we send 'cid' and expect a reply starting with 'CCU4' + identification = [('cid', r'CCU4.*')] + end_of_line = '\n' + + + # inheriting the HasIodev mixin creates us the things needed for talking # with a device by means of the sendRecv method # Readable as a base class defines the value and status parameters - class HeLevel(HasIodev, Readable): """He Level channel of CCU4""" @@ -119,8 +98,8 @@ CCU4 luckily has a very simple and logical protocol: # parameter, therefore 'Override' 'value': Override(unit='%'), } - # tells us how to communicate. StringIO is using \n as line end, which fits - iodevClass = StringIO + # define the communication class to create the IO module + iodevClass = CCU4IO def read_value(self): # method for reading the main value @@ -131,12 +110,14 @@ CCU4 luckily has a very simple and logical protocol: This is already a very simple working He Level meter driver. For a next step, we want to improve it: -* We should tell the client, when there is an error. That is what the *status* parameter is for. - We do not need to declare the status parameter, as it is inherited from *Readable*. -* We want to be able to configure the He Level sensor and we want to be able to switch the - Level Monitor to fast reading before we start to fill. +* We should inform the client about errors. That is what the *status* parameter is for. +* We want to be able to configure the He Level sensor. +* We want to be able to switch the Level Monitor to fast reading before we start to fill. -Let us start to code these additions: +Let us start to code these additions. We do not need to declare the status parameter, +as it is inherited from *Readable*. But we declare the new parameters *empty*, *full* and *fast*, +and we have to code the communication and convert the status codes from the hardware to +the standard SECoP status codes. .. code:: python @@ -186,7 +167,7 @@ Let us start to code these additions: ... -We realize now, that we will repeat similar code for other parameters, which means it might be +Here we start to realize, that we will repeat similar code for other parameters, which means it might be worth to create our own *_sendRecv* method, and then the *read_* and *write_* methods will become shorter: @@ -225,4 +206,51 @@ will become shorter: def write_fast(self, value): return self._sendRecv('hf=%s' % value) - + + +Configuration +------------- +Before we continue coding, we may try out what we have coded and create a configuration file. +The directory tree of the Frappy framework contains the code for all drivers, but the configuration +file determines, which code will finally be loaded. We choose the name *example_cryo* +and create therefore a configuration file *example_cryo.cfg* in the *cfg* subdirectory: + +``cfg/example_cryo.cfg``: + +.. code:: ini + + [NODE] + description = this is an example cryostat for the Frappy tutorial + id = example_cryo.sampleenvironment.org + + [INTERFACE] + uri = tcp://5000 + + [helev] + description = He level of the cryostat He reservoir + class = secop_psi.ccu4.HeLevel + uri = linse-moxa-4.psi.ch:3001 + empty = 380 + full = 0 + +A configuration file contains several sections with a header encloded by rectangular brackets. + +The *NODE* section describes the main properties of the SEC Node: a description of the node and +an id, which should be globally unique. + +The *INTERFACE* section defines the address of the server, usually the only important value here +is the TCP port under which the server will be accessible. Currently only tcp is supported. + +All the other sections define the SECoP modules to be used. A module section at least contains a +human readable *description*, and the Python *class* used. Other properties or parameter values may +follow, in this case the *uri* for the communication with the He level monitor and the values for +configuring the He Level sensor. We might also alter parameter properties, for example we may hide +the parameters *empty* and *full* from the client by defining: + +.. code:: ini + + empty.export = False + full.export = False + +However, we do not do this here, as it is nice to try out chaning parameters for a test! + From bc5edec06f7ae937d04278a6594933d41071bbb3 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Mon, 25 Jan 2021 15:12:47 +0100 Subject: [PATCH 37/51] enhance documentation - flatten hierarchy (some links do not work when using folders) + fix a bug with the redorder flag in Override + allow removal of parameters + clean description using inspect.cleandoc Change-Id: I3dde4f4cb29c46e8a21014f1fad7aa3ad610a1bf --- doc/source/_static/custom.css | 20 +++- doc/source/conf.py | 31 ++--- doc/source/facility/demo/cryo.rst | 6 - doc/source/facility/demo/index.rst | 12 -- doc/source/facility/demo/test.rst | 6 - doc/source/facility/ess/index.rst | 11 -- doc/source/facility/index.rst | 10 -- doc/source/facility/mlz/amagnet.rst | 6 - doc/source/facility/mlz/entangle.rst | 6 - doc/source/facility/mlz/index.rst | 20 ---- doc/source/facility/psi/index.rst | 10 -- doc/source/facility/psi/ls370res.rst | 7 -- doc/source/facility/psi/ppms.rst | 7 -- doc/source/framework.rst | 67 ----------- doc/source/index.rst | 22 ++-- doc/source/introduction.rst | 70 +++++++++++ doc/source/reference.rst | 77 ++++++++++++ doc/source/secop_demo.rst | 10 ++ .../{facility/ess/epics.rst => secop_ess.rst} | 9 +- doc/source/secop_mlz.rst | 19 +++ doc/source/secop_psi.rst | 19 +++ doc/source/server.rst | 9 +- doc/source/tutorial.rst | 7 ++ .../tutorial.rst => tutorial_helevel.rst} | 78 +++---------- secop/datatypes.py | 110 ++++++++++++++++-- secop/lib/classdoc.py | 76 ++++++++++++ secop/metaclass.py | 37 +++++- secop/modules.py | 84 ++++++++----- secop/params.py | 62 ++++++---- secop/properties.py | 33 +++--- secop/stringio.py | 22 ++-- secop_psi/ppms.py | 26 +---- 32 files changed, 608 insertions(+), 381 deletions(-) delete mode 100644 doc/source/facility/demo/cryo.rst delete mode 100644 doc/source/facility/demo/index.rst delete mode 100644 doc/source/facility/demo/test.rst delete mode 100644 doc/source/facility/ess/index.rst delete mode 100644 doc/source/facility/index.rst delete mode 100644 doc/source/facility/mlz/amagnet.rst delete mode 100644 doc/source/facility/mlz/entangle.rst delete mode 100644 doc/source/facility/mlz/index.rst delete mode 100644 doc/source/facility/psi/index.rst delete mode 100644 doc/source/facility/psi/ls370res.rst delete mode 100644 doc/source/facility/psi/ppms.rst delete mode 100644 doc/source/framework.rst create mode 100644 doc/source/introduction.rst create mode 100644 doc/source/reference.rst create mode 100644 doc/source/secop_demo.rst rename doc/source/{facility/ess/epics.rst => secop_ess.rst} (52%) create mode 100644 doc/source/secop_mlz.rst create mode 100644 doc/source/secop_psi.rst create mode 100644 doc/source/tutorial.rst rename doc/source/{tutorial/tutorial.rst => tutorial_helevel.rst} (66%) create mode 100644 secop/lib/classdoc.py diff --git a/doc/source/_static/custom.css b/doc/source/_static/custom.css index 60a9232..5f508cc 100644 --- a/doc/source/_static/custom.css +++ b/doc/source/_static/custom.css @@ -1,9 +1,10 @@ -/* this is for the sphinx_rtd_theme +/* this is for the sphinx_rtd_theme */ div.wy-nav-content { max-width: 100% !important; } -*/ + +/* this is for the alabaser theme */ div.body { max-width: 100%; } @@ -32,4 +33,19 @@ pre, tt, code { } } +dd { + padding-bottom: 0.5em; +} + +/* make nested bullet lists nicer (ales too much space above inner nested list) */ +.rst-content .section ul li ul { + margin-top: 0px; + margin-bottom: 6px; +} + +/* make some bullet lists more dense (this rule exists in theme.css, but not important)*/ +.wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child { + margin-bottom: 0 !important; +} + diff --git a/doc/source/conf.py b/doc/source/conf.py index 70be1b6..052c9bc 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -89,9 +89,10 @@ pygments_style = 'sphinx' # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = True -# sort by source instead of alphabetic -autodoc_member_order = 'bysource' - +autodoc_default_options = { + 'member-order': 'bysource', + 'show-inheritance': True, +} default_role = 'any' # -- Options for HTML output ---------------------------------------------- @@ -99,9 +100,19 @@ default_role = 'any' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -#import sphinx_rtd_theme -#html_theme = 'sphinx_rtd_theme' -html_theme = 'alabaster' +if False: # alabaster + html_theme = 'alabaster' + # Theme options are theme-specific and customize the look and feel of a theme + # further. For a list of options available for each theme, see the + # documentation. + # + html_theme_options = { + 'page_width': '100%', + 'fixed_sidebar': True, + } +else: + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' # If not None, a 'Last updated on:' timestamp is inserted at every page # bottom, using the given strftime format. @@ -110,14 +121,6 @@ html_theme = 'alabaster' html_last_updated_fmt = '%Y-%m-%d %H:%M' -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -# -html_theme_options = { - 'page_width': '100%', - 'fixed_sidebar': True, -} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/doc/source/facility/demo/cryo.rst b/doc/source/facility/demo/cryo.rst deleted file mode 100644 index ed0b353..0000000 --- a/doc/source/facility/demo/cryo.rst +++ /dev/null @@ -1,6 +0,0 @@ -Demo cryostat -============= - -.. automodule:: secop_demo.cryo - :members: - diff --git a/doc/source/facility/demo/index.rst b/doc/source/facility/demo/index.rst deleted file mode 100644 index 5db5d77..0000000 --- a/doc/source/facility/demo/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -Demo -==== - -Specific sample environments ----------------------------- - -.. toctree:: - :maxdepth: 3 - - cryo - test - diff --git a/doc/source/facility/demo/test.rst b/doc/source/facility/demo/test.rst deleted file mode 100644 index ffdf65f..0000000 --- a/doc/source/facility/demo/test.rst +++ /dev/null @@ -1,6 +0,0 @@ -Test devices -============= - -.. automodule:: secop_demo.test - :members: - diff --git a/doc/source/facility/ess/index.rst b/doc/source/facility/ess/index.rst deleted file mode 100644 index d834df2..0000000 --- a/doc/source/facility/ess/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -ESS -=== - -Frameworks ----------- - -.. toctree:: - :maxdepth: 3 - - epics - diff --git a/doc/source/facility/index.rst b/doc/source/facility/index.rst deleted file mode 100644 index 0b83d17..0000000 --- a/doc/source/facility/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -Facility specific functionalities -================================= - -.. toctree:: - :maxdepth: 3 - - demo/index - mlz/index - ess/index - psi/index diff --git a/doc/source/facility/mlz/amagnet.rst b/doc/source/facility/mlz/amagnet.rst deleted file mode 100644 index 9883bdb..0000000 --- a/doc/source/facility/mlz/amagnet.rst +++ /dev/null @@ -1,6 +0,0 @@ -ANTARES magnet (amagnet) -======================== - -.. automodule:: secop_mlz.amagnet - :members: - diff --git a/doc/source/facility/mlz/entangle.rst b/doc/source/facility/mlz/entangle.rst deleted file mode 100644 index 8ac5a20..0000000 --- a/doc/source/facility/mlz/entangle.rst +++ /dev/null @@ -1,6 +0,0 @@ -Entangle -======== - -.. automodule:: secop_mlz.entangle - :members: - diff --git a/doc/source/facility/mlz/index.rst b/doc/source/facility/mlz/index.rst deleted file mode 100644 index 02f7a42..0000000 --- a/doc/source/facility/mlz/index.rst +++ /dev/null @@ -1,20 +0,0 @@ -MLZ -=== - -Frameworks ----------- - -.. toctree:: - :maxdepth: 3 - - entangle - - -Specific sample environments ----------------------------- - -.. toctree:: - :maxdepth: 3 - - amagnet - diff --git a/doc/source/facility/psi/index.rst b/doc/source/facility/psi/index.rst deleted file mode 100644 index 36b46e1..0000000 --- a/doc/source/facility/psi/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -PSI -=== - -.. toctree:: - :maxdepth: 3 - - ppms - ls370res - - diff --git a/doc/source/facility/psi/ls370res.rst b/doc/source/facility/psi/ls370res.rst deleted file mode 100644 index 81c7e32..0000000 --- a/doc/source/facility/psi/ls370res.rst +++ /dev/null @@ -1,7 +0,0 @@ -LakeShore 370 resistivity -========================= - -.. automodule:: secop_psi.ls370res - :members: - - diff --git a/doc/source/facility/psi/ppms.rst b/doc/source/facility/psi/ppms.rst deleted file mode 100644 index a2e9fac..0000000 --- a/doc/source/facility/psi/ppms.rst +++ /dev/null @@ -1,7 +0,0 @@ -PPMS -==== - -.. automodule:: secop_psi.ppms - :members: - - diff --git a/doc/source/framework.rst b/doc/source/framework.rst deleted file mode 100644 index 4f5b307..0000000 --- a/doc/source/framework.rst +++ /dev/null @@ -1,67 +0,0 @@ -Framework documentation -======================= - - -Module Base Classes -------------------- - -.. autoclass:: secop.core.Module - :members: startModule - -.. autoclass:: secop.core.Readable - :members: pollerClass, Status - -.. autoclass:: secop.core.Writable - -.. autoclass:: secop.core.Drivable - :members: Status, isBusy, isDriving, do_stop - - -Parameters, Commands and Properties ------------------------------------ - -.. autoclass:: secop.core.Parameter -.. autoclass:: secop.core.Command -.. autoclass:: secop.core.Override -.. autoclass:: secop.core.Property -.. autoclass:: secop.core.Attached - - -Datatypes ---------- - -.. autoclass:: secop.core.FloatRange -.. autoclass:: secop.core.IntRange -.. autoclass:: secop.core.BoolType -.. autoclass:: secop.core.ScaledInteger -.. autoclass:: secop.core.EnumType -.. autoclass:: secop.core.StringType -.. autoclass:: secop.core.TupleOf -.. autoclass:: secop.core.ArrayOf -.. autoclass:: secop.core.StructOf -.. autoclass:: secop.core.BLOBType - - -Communication -------------- - -.. autoclass:: secop.core.Communicator - :members: do_communicate - -.. autoclass:: secop.core.StringIO - :members: do_communicate, do_multicomm - -.. autoclass:: secop.core.HasIodev - -.. autoclass:: secop.core.IOHandlerBase - :members: - -.. autoclass:: secop.core.IOHandler - :members: - - -Exception classes ------------------ - -.. automodule:: secop.errors - :members: diff --git a/doc/source/index.rst b/doc/source/index.rst index 970728d..8cb2774 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,18 +1,16 @@ -Welcome to the FRAPPY documentation! -==================================== +Frappy Programming Guide +======================== .. toctree:: :maxdepth: 2 - tutorial/tutorial - server - framework - facility/index - - -Indices and tables -================== + introduction + tutorial + reference + secop_psi + secop_demo + secop_mlz + secop_ess * :ref:`genindex` -* :ref:`modindex` -* :ref:`search` + diff --git a/doc/source/introduction.rst b/doc/source/introduction.rst new file mode 100644 index 0000000..2c70b39 --- /dev/null +++ b/doc/source/introduction.rst @@ -0,0 +1,70 @@ +Introduction +============ + +Frappy - a Python Framework for SECoP +------------------------------------- + +*Frappy* is a Python framework for creating Sample Environment Control Nodes (SEC Node) with +a SECoP interface. A *SEC Node* is a service, running usually a computer or microcomputer, +which accesses the hardware over the interfaces given by the manufacturer of the used +electronic devices. It provides access to the data in an abstracted form over the SECoP interface. +`SECoP `_ is a protocol for +communicating with Sample Environment and other mobile devices, specified by a committee of +the `ISSE `_. + +The Frappy framework deals with all the details of the SECoP protocol, so the programmer +can concentrate on the details of accessing the hardware with support for different types +of interfaces (TCP or Serial, ASCII or binary). However, the programmer should be aware of +the basic principle of the SECoP protocol: the hardware abstraction. + + +Hardware Abstraction +-------------------- + +The idea of hardware abstraction is to hide the details of hardware access from the SECoP interface. +A SECoP module is a logical component of an abstract view of the sample environment. +It is one independent value of measurement like a temperature or pressure or a physical output like +a current or voltage. This corresponds roughly to an EPICS channel or a NICOS device. On the +hardware side we may have devices with several channels, like a typical temperature controller, +which will be represented individual SECoP modules. +On the other hand a SECoP channel might be linked with several hardware devices, for example if +you imagine a superconducting magnet controller built of separate electronic devices like a power +supply, switch heater and coil temperature monitor. The latter case does not mean that we have +to hide the details in the SECoP interface. For an expert it might be useful to give at least +read access to hardware specific data by providing them as separate SECoP modules. But the +magnet module should be usable without knowledge of all the inner details. + +A SECoP module has: + +* **properties**: static information describing the module, for example a human readable + *description* of the module or information about the intended *visibility*. +* **parameters**: changing information about the state of a module (for example the *status* + containing information about the state of the module) or modifiable information influencing + the measurement (for example a "ramp" rate). +* **commands**: actions, for example *stop*. + +A SECoP module belongs to an interface class, mainly *Readable* or *Drivable*. A *Readable* +has at least the parameters *value* and *status*, a *Drivable* in addition *target*. *value* is +the main value of the module and is read only. *status* is a tuple (status code, status text), +and *target* is the target value. When the *target* parameter value of a *Drivable* changes, +the status code changes normally to a busy code. As soon as the target value is reached, +the status code changes back to an idle code, if no error occurs. + +**Programmers Hint:** before starting to code, choose carefully the main SECoP modules you want +to provide to the user. + + +Programming a Driver +-------------------- + +Programming a driver means extending one of the base classes like :class:`secop.modules.Readable` +or :class:`secop.modules.Drivable`. The parameters are defined in the dict :py:attr:`parameters`, as a +class attribute of the extended class, using the :class:`secop.params.Parameter` constructor, or in case +of altering the properties of an inherited parameter, :class:`secop.params.Override`. + +Parameters usually need a method :meth:`read_()` +implementing the code to retrieve their value from the hardware. Writeable parameters +(with the argument ``readonly=False``) usually need a method :meth:`write_()` +implementing how they are written to the hardware. Above methods may be omitted, when +there is no interaction with the hardware involved. + diff --git a/doc/source/reference.rst b/doc/source/reference.rst new file mode 100644 index 0000000..7f3d8fb --- /dev/null +++ b/doc/source/reference.rst @@ -0,0 +1,77 @@ +Reference +--------- + +Module Base Classes +................... + +.. autoclass:: secop.modules.Module + :members: earlyInit, initModule, startModule + +.. autoclass:: secop.modules.Readable + :members: pollerClass, Status + +.. autoclass:: secop.modules.Writable + +.. autoclass:: secop.modules.Drivable + :members: Status, isBusy, isDriving, do_stop + + +Parameters, Commands and Properties +................................... + +.. autoclass:: secop.params.Parameter +.. autoclass:: secop.params.Command +.. autoclass:: secop.params.Override +.. autoclass:: secop.properties.Property +.. autoclass:: secop.modules.Attached + :show-inheritance: + + + +Datatypes +......... + +.. autoclass:: secop.datatypes.FloatRange +.. autoclass:: secop.datatypes.IntRange +.. autoclass:: secop.datatypes.BoolType +.. autoclass:: secop.datatypes.ScaledInteger +.. autoclass:: secop.datatypes.EnumType +.. autoclass:: secop.datatypes.StringType +.. autoclass:: secop.datatypes.TupleOf +.. autoclass:: secop.datatypes.ArrayOf +.. autoclass:: secop.datatypes.StructOf +.. autoclass:: secop.datatypes.BLOBType + + + +Communication +............. + +.. autoclass:: secop.modules.Communicator + :show-inheritance: + :members: do_communicate + +.. autoclass:: secop.stringio.StringIO + :show-inheritance: + :members: do_communicate, do_multicomm + +.. autoclass:: secop.stringio.HasIodev + :show-inheritance: + +.. autoclass:: secop.iohandler.IOHandlerBase + :show-inheritance: + :members: + +.. autoclass:: secop.iohandler.IOHandler + :show-inheritance: + :members: + + +Exception classes +.....................-- + +.. automodule:: secop.errors + :members: + +.. include:: server.rst + diff --git a/doc/source/secop_demo.rst b/doc/source/secop_demo.rst new file mode 100644 index 0000000..7273d58 --- /dev/null +++ b/doc/source/secop_demo.rst @@ -0,0 +1,10 @@ +Demo +==== + +.. automodule:: secop_demo.cryo + :show-inheritance: + :members: + +.. automodule:: secop_demo.test + :show-inheritance: + :members: diff --git a/doc/source/facility/ess/epics.rst b/doc/source/secop_ess.rst similarity index 52% rename from doc/source/facility/ess/epics.rst rename to doc/source/secop_ess.rst index a101acd..7f115c7 100644 --- a/doc/source/facility/ess/epics.rst +++ b/doc/source/secop_ess.rst @@ -1,6 +1,9 @@ -EPICS modules -============= +ESS +--- + +EPICS +..... .. automodule:: secop_ess.epics + :show-inheritance: :members: - diff --git a/doc/source/secop_mlz.rst b/doc/source/secop_mlz.rst new file mode 100644 index 0000000..ec275ef --- /dev/null +++ b/doc/source/secop_mlz.rst @@ -0,0 +1,19 @@ +MLZ +--- + +Amagnet (Garfield) +.................. + +.. automodule:: secop_mlz.amagnet + :show-inheritance: + :members: + + +Entangle Framework +.................. + +.. automodule:: secop_mlz.entangle + :show-inheritance: + :members: + + diff --git a/doc/source/secop_psi.rst b/doc/source/secop_psi.rst new file mode 100644 index 0000000..0112651 --- /dev/null +++ b/doc/source/secop_psi.rst @@ -0,0 +1,19 @@ +PSI (SINQ) +---------- + +PPMS +.... + +.. automodule:: secop_psi.ppms + :show-inheritance: + :members: + +LakeShore 370 +............. + +Calibrated sensors and control loop not yet supported. + +.. automodule:: secop_psi.ls370res + :show-inheritance: + :members: + diff --git a/doc/source/server.rst b/doc/source/server.rst index 2e7abb3..e5ed364 100644 --- a/doc/source/server.rst +++ b/doc/source/server.rst @@ -1,8 +1,5 @@ -Configuring and Starting -======================== - Configuration -------------- +............. The configuration consists of a **NODE** section, an **INTERFACE** section and one section per SECoP module. @@ -51,7 +48,7 @@ the SECoP interface. Starting --------- +........ The Frappy server can be started via the **bin/secop-server** script. @@ -73,5 +70,3 @@ The Frappy server can be started via the **bin/secop-server** script. -q, --quiet suppress non-error messages -d, --daemonize run as daemon -t, --test check cfg files only - - diff --git a/doc/source/tutorial.rst b/doc/source/tutorial.rst new file mode 100644 index 0000000..c349f65 --- /dev/null +++ b/doc/source/tutorial.rst @@ -0,0 +1,7 @@ +Tutorial +-------- + +.. toctree:: + :maxdepth: 2 + + tutorial_helevel diff --git a/doc/source/tutorial/tutorial.rst b/doc/source/tutorial_helevel.rst similarity index 66% rename from doc/source/tutorial/tutorial.rst rename to doc/source/tutorial_helevel.rst index f602968..2e1b467 100644 --- a/doc/source/tutorial/tutorial.rst +++ b/doc/source/tutorial_helevel.rst @@ -1,64 +1,10 @@ -Frappy Programming Guide -======================== +HeLevel - a Simple Driver +========================= -Introduction ------------- - -*Frappy* is a Python framework for creating Sample Environment Control Nodes (SEC Node) with -a SECoP interface. A *SEC Node* is a service, running usually a computer or microcomputer, -which accesses the hardware over the interfaces given by the manufacturer of the used -electronic devices. It provides access to the data in an abstracted form over the SECoP interface. -`SECoP `_ is a protocol for -communicating with Sample Environment and other mobile devices, specified by a committee of -the `ISSE `_. - -The Frappy framework deals with all the details of the SECoP protocol, so the programmer -can concentrate on the details of accessing the hardware with support for different types -of interfaces (TCP or Serial, ASCII or binary). However, the programmer should be aware of -the basic principle of the SECoP protocol: the hardware abstraction. - -Hardware Abstraction --------------------- - -The idea of hardware abstraction is to hide the details of hardware access from the SECoP interface. -A SECoP module is a logical component of an abstract view of the sample environment. -It is one independent value of measurement like a temperature or physical output like a current or voltage. -This corresponds roughly to an EPICS channel or a NICOS device. On the hardware side we may have devices -with several channels, like a typical temperature controller, which will be represented individual SECoP modules. -On the other hand a SECoP channel might be linked with several hardware devices, for example if you imagine -a superconducting magnet controller built of seperate electronic devices like a power supply, switch heater -and coil temperature monitor. The latter case does not mean that we have to hide complete the details in the -SECoP interface. For an expert it might be useful to give at least read access to hardware specific data -by providing them as seperate SECoP modules. But the magnet module should be usable without knowledge of -all the inner details. - -A SECoP module has: - -* **properties**: static information describing the module, for example a human readable *description* of - the module or information about the intended *visibiliy*. -* **parameters**: changing information about the state of a module (for example the *status* containing - information about the state of the module )or modifiable information influencing the measurement - (for example a "ramp" rate) -* **commands**: actions, for example *stop* - -A SECoP module belongs to an interface class, mainly *Readable* or *Drivable*. A *Readable* has at least the -parameters *value* and *status*, a *Drivable* in addition *target*. *value* is the main value of the module -and is read only. *status* is a tuple (status code, status text), and *target* is the target value. -When the *target* parameter value of a *Drivable* changes, the status code changes normally to a busy code. -As soon as the target value is reached, the status code changes back to an idle code, if no error occurs. - -**Programmers Hint:** before starting to code, choose carefully the main SECoP modules you have to provide -to the user. - - -Tutorial Example ----------------- -For this tutorial we choose as an example a cryostat with a LakeShore 336 temperature controller, a level -meter and a motorized needle value. Let us start with the level meter, as this is the simplest module. - - -Coding the HeLevel Driver -------------------------- +Coding the Driver +----------------- +For this tutorial we choose as an example a cryostat. Let us start with the helium level meter, +as this is the simplest module. As mentioned in the introduction, we have to code the access to the hardware (driver), and the Frappy framework will deal with the SECoP interface. The code for the driver is located in a subdirectory named after the facility or institute programming the driver in our case *secop_psi*. @@ -79,11 +25,12 @@ CCU4 luckily has a very simple and logical protocol: StringIO, HasIodev - # the class used for communication class CCU4IO(StringIO): + """communication with CCU4""" + # for completeness: (not needed, as it is the default) + end_of_line = '\n' # on connect, we send 'cid' and expect a reply starting with 'CCU4' identification = [('cid', r'CCU4.*')] - end_of_line = '\n' # inheriting the HasIodev mixin creates us the things needed for talking @@ -108,7 +55,11 @@ CCU4 luckily has a very simple and logical protocol: assert name == 'h' # check that we got a reply to our command return txtvalue # the framework will automatically convert the string to a float -This is already a very simple working He Level meter driver. For a next step, we want to improve it: +The class :class:`CCU4`, an extension of (:class:`secop.stringio.StringIO`) serves as +communication class. + +Above is already the code for a very simple working He Level meter driver. For a next step, +we want to improve it: * We should inform the client about errors. That is what the *status* parameter is for. * We want to be able to configure the He Level sensor. @@ -254,3 +205,4 @@ the parameters *empty* and *full* from the client by defining: However, we do not do this here, as it is nice to try out chaning parameters for a test! +**name** *(x)* \ No newline at end of file diff --git a/secop/datatypes.py b/secop/datatypes.py index b34a611..54a2293 100644 --- a/secop/datatypes.py +++ b/secop/datatypes.py @@ -126,6 +126,10 @@ class DataType(HasProperties): """ raise NotImplementedError + def short_doc(self): + """short description for automatic extension of doc strings""" + return None + class Stub(DataType): """incomplete datatype, to be replaced with a proper one later during module load @@ -155,6 +159,10 @@ class Stub(DataType): if isinstance(stub, cls): prop.datatype = globals()[stub.name](*stub.args) + def short_doc(self): + return self.name.replace('Type', '').replace('Range', '').lower() + + # SECoP types: @@ -163,6 +171,7 @@ class FloatRange(DataType): :param minval: (property **min**) :param maxval: (property **max**) + :param properties: any of the properties below """ properties = { @@ -240,6 +249,9 @@ class FloatRange(DataType): other(max(sys.float_info.min, self.min)) other(min(sys.float_info.max, self.max)) + def short_doc(self): + return 'float' + class IntRange(DataType): """restricted int type @@ -304,15 +316,25 @@ class IntRange(DataType): for i in range(self.min, self.max + 1): other(i) + def short_doc(self): + return 'int' + class ScaledInteger(DataType): """scaled integer (= fixed resolution float) type + | In general *ScaledInteger* is needed only in special cases, + e.g. when the a SEC node is running on very limited hardware + without floating point support. + | Please use *FloatRange* instead. + :param minval: (property **min**) :param maxval: (property **max**) + :param properties: any of the properties below - note: limits are for the scaled float value - the scale is only used for calculating to/from transport serialisation + {properties} + :note: - limits are for the scaled float value + - the scale is only used for calculating to/from transport serialisation """ properties = { 'scale': Property('scale factor', FloatRange(sys.float_info.min), extname='scale', mandatory=True), @@ -413,14 +435,17 @@ class ScaledInteger(DataType): other(self.min) other(self.max) + def short_doc(self): + return 'float' + class EnumType(DataType): """enumeration :param enum_or_name: the name of the Enum or an Enum to inherit from - :param members: members= + :param members: each argument denotes = - other keywords: (additional) members + exception: use members= to add members from a dict """ def __init__(self, enum_or_name='', **members): super().__init__() @@ -466,6 +491,9 @@ class EnumType(DataType): for m in self._enum.members: other(m) + def short_doc(self): + return 'one of %s' % str(tuple(self._enum.keys())) + class BLOBType(DataType): """binary large object @@ -547,11 +575,11 @@ class StringType(DataType): Stub('BoolType'), extname='isUTF8', default=False), } - def __init__(self, minchars=0, maxchars=None, **properties): + def __init__(self, minchars=0, maxchars=None, isUTF8=False): super().__init__() if maxchars is None: maxchars = minchars or UNLIMITED - self.set_properties(minchars=minchars, maxchars=maxchars, **properties) + self.set_properties(minchars=minchars, maxchars=maxchars, isUTF8=isUTF8) def checkProperties(self): self.default = ' ' * self.minchars @@ -607,12 +635,24 @@ class StringType(DataType): except AttributeError: raise BadValueError('incompatible datatypes') + def short_doc(self): + return 'str' + # TextType is a special StringType intended for longer texts (i.e. embedding \n), # whereas StringType is supposed to not contain '\n' # unfortunately, SECoP makes no distinction here.... # note: content is supposed to follow the format of a git commit message, i.e. a line of text, 2 '\n' + a longer explanation class TextType(StringType): + """special string type, intended for longer texts + + :param maxchars: maximum number of characters + + whereas StringType is supposed to not contain '\n' + unfortunately, SECoP makes no distinction here.... + note: content is supposed to follow the format of a git commit message, + i.e. a line of text, 2 '\n' + a longer explanation + """ def __init__(self, maxchars=None): if maxchars is None: maxchars = UNLIMITED @@ -667,6 +707,9 @@ class BoolType(DataType): other(False) other(True) + def short_doc(self): + return 'bool' + Stub.fix_datatypes() @@ -678,6 +721,7 @@ Stub.fix_datatypes() class ArrayOf(DataType): """data structure with fields of homogeneous type + :param members: the datatype for all elements """ properties = { 'minlen': Property('minimum number of elements', IntRange(0), extname='minlen', @@ -774,10 +818,14 @@ class ArrayOf(DataType): except AttributeError: raise BadValueError('incompatible datatypes') + def short_doc(self): + return 'array of %s' % self.members.short_doc() + class TupleOf(DataType): """data structure with fields of inhomogeneous type + :param members: each argument is a datatype of an element """ def __init__(self, *members): @@ -841,6 +889,9 @@ class TupleOf(DataType): for a, b in zip(self.members, other.members): a.compatible(b) + def short_doc(self): + return 'tuple of (%s)' % ', '.join(m.short_doc() for m in self.members) + class ImmutableDict(dict): def _no(self, *args, **kwds): @@ -851,6 +902,8 @@ class ImmutableDict(dict): class StructOf(DataType): """data structure with named fields + :param optional: (*sequence*) optional members + :param members: each argument denotes = """ def __init__(self, optional=None, **members): super().__init__() @@ -926,11 +979,18 @@ class StructOf(DataType): except (AttributeError, TypeError, KeyError): raise BadValueError('incompatible datatypes') + def short_doc(self): + return 'dict' + class CommandType(DataType): """command a pseudo datatype for commands with arguments and return values + + :param argument: None or the data type of the argument. multiple arguments may be simulated + by TupleOf or StructOf + :param result: None or the data type of the result """ IS_COMMAND = True @@ -989,10 +1049,16 @@ class CommandType(DataType): except AttributeError: raise BadValueError('incompatible datatypes') + def short_doc(self): + argument = self.argument.short_doc() if self.argument else '' + result = ' -> %s' % self.argument.short_doc() if self.result else '' + return '(%s)%s' % (argument, result) # return argument list only + # internally used datatypes (i.e. only for programming the SEC-node) class DataTypeType(DataType): + """DataType type""" def __call__(self, value): """check if given value (a python obj) is a valid datatype @@ -1036,7 +1102,9 @@ class ValueType(DataType): class NoneOr(DataType): - """validates a None or smth. else""" + """validates a None or other + + :param other: the other datatype""" default = None def __init__(self, other): @@ -1051,8 +1119,16 @@ class NoneOr(DataType): return None return self.other.export_value(value) + def short_doc(self): + other = self.other.short_doc() + return '%s or None' % other if other else None + class OrType(DataType): + """validates one of the + + :param types: each argument denotes one allowed type + """ def __init__(self, *types): super().__init__() self.types = types @@ -1066,6 +1142,12 @@ class OrType(DataType): pass raise BadValueError("Invalid Value, must conform to one of %s" % (', '.join((str(t) for t in self.types)))) + def short_doc(self): + types = [t.short_doc() for t in self.types] + if None in types: + return None + return ' or '.join(types) + Int8 = IntRange(-(1 << 7), (1 << 7) - 1) Int16 = IntRange(-(1 << 15), (1 << 15) - 1) @@ -1079,6 +1161,12 @@ UInt64 = IntRange(0, (1 << 64) - 1) # Goodie: Convenience Datatypes for Programming class LimitsType(TupleOf): + """limit (min, max) tuple + + :param members: the type of both members + + checks for min <= max + """ def __init__(self, members): TupleOf.__init__(self, members, members) @@ -1090,7 +1178,13 @@ class LimitsType(TupleOf): class StatusType(TupleOf): - # shorten initialisation and allow acces to status enumMembers from status values + """SECoP status type + + :param enum: the status code enum type + + allows to access enum members directly + """ + def __init__(self, enum): TupleOf.__init__(self, EnumType(enum), StringType()) self.enum = enum diff --git a/secop/lib/classdoc.py b/secop/lib/classdoc.py new file mode 100644 index 0000000..59f3cc6 --- /dev/null +++ b/secop/lib/classdoc.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# ***************************************************************************** +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Module authors: +# Markus Zolliker +# +# ***************************************************************************** + +from inspect import cleandoc +from textwrap import indent + + +def indent_description(p): + """indent lines except first one""" + return indent(p.description, ' ').replace(' ', '', 1) + + +def append_to_doc(cls, name, title, attrname, newitems, fmtfunc): + """add information about some items to the doc + + :param cls: the class with the doc string to be extended + :param name: the name of the attribute dict to be used + :param title: the title to be used + :param newitems: the set of new items defined for this class + :param fmtfunc: a function returning a formatted item to be displayed, including line feed at end + or an empty string to suppress output for this item + :type fmtfunc: function(key, value) + """ + doc = cleandoc(cls.__doc__ or '') + allitems = getattr(cls, attrname, {}) + fmtdict = {n: fmtfunc(n, p) or ' - **%s** *removed*\n' % n for n, p in allitems.items()} + head, _, tail = doc.partition('{all %s}' % name) + if tail: # take all + inherited = set() + fmted = ''.join(fmtdict.values()) + else: + inherited = {n: p for n, p in allitems.items() if fmtdict.get(n) and n not in newitems} + fmted = ''.join(' ' + v for k, v in fmtdict.items() if k in newitems) + head, _, tail = doc.partition('{%s}' % name) + if not tail: + head, _, tail = doc.partition('{no %s}' % name) + if tail: # add no information + return + # no tag found: append to the end + if fmted: + clsset = set() + for name in inherited: + p = allitems[name] + refcls = cls + for base in cls.__mro__: + dp = getattr(base, attrname, {}).get(name) + if dp: + if dp == p: + refcls = base + else: + break + clsset.add(refcls) + clsset.discard(cls) + if clsset: + fmted += ' - see also %s\n' % (', '.join(':class:`%s.%s`' % (c.__module__, c.__name__) + for c in cls.__mro__ if c in clsset)) + cls.__doc__ = '%s\n\n:%s: %s\n%s' % (head, title, fmted, tail) diff --git a/secop/metaclass.py b/secop/metaclass.py index 8244162..44ae52b 100644 --- a/secop/metaclass.py +++ b/secop/metaclass.py @@ -28,7 +28,8 @@ from collections import OrderedDict from secop.errors import ProgrammingError, BadValueError from secop.params import Command, Override, Parameter from secop.datatypes import EnumType -from secop.properties import PropertyMeta, add_extra_doc +from secop.properties import PropertyMeta +from secop.lib.classdoc import append_to_doc, indent_description class Done: @@ -77,6 +78,9 @@ class ModuleMeta(PropertyMeta): obj = obj.apply(accessibles[key]) accessibles[key] = obj else: + if obj is None: # allow removal of accessibles + accessibles.pop(key, None) + continue if key in accessibles: # for now, accept redefinitions: print("WARNING: module %s: %s should not be redefined" @@ -206,10 +210,33 @@ class ModuleMeta(PropertyMeta): raise ProgrammingError('%r: command %r has to be specified ' 'explicitly!' % (name, attrname[3:])) - add_extra_doc(newtype, '**parameters**', - {k: p for k, p in accessibles.items() if isinstance(p, Parameter)}) - add_extra_doc(newtype, '**commands**', - {k: p for k, p in accessibles.items() if isinstance(p, Command)}) + def fmt_param(name, param): + if not isinstance(param, Parameter): + return '' + desc = indent_description(param) + if '(' in desc[0:2]: + dtinfo = '' + else: + dtinfo = [param.datatype.short_doc(), 'rd' if param.readonly else 'wr', + None if param.export else 'hidden'] + dtinfo = '*(%s)* ' % ', '.join(filter(None, dtinfo)) + return '- **%s** - %s%s\n' % (name, dtinfo, desc) + + def fmt_command(name, command): + if not isinstance(command, Command): + return '' + desc = indent_description(command) + if '(' in desc[0:2]: + dtinfo = '' # note: we expect that desc contains argument list + else: + dtinfo = '*%s*' % command.datatype.short_doc() + ' -%s ' % ('' if command.export else ' *(hidden)*') + return '- **%s**\\ %s%s\n' % (name, dtinfo, desc) + + append_to_doc(newtype, 'parameters', 'SECOP Parameters', + 'accessibles', set(parameters) | set(overrides), fmt_param) + append_to_doc(newtype, 'commands', 'SECOP Commands', + 'accessibles', set(commands) | set(overrides), fmt_command) + attrs['__constructed__'] = True return newtype diff --git a/secop/modules.py b/secop/modules.py index 97a0f85..29582b4 100644 --- a/secop/modules.py +++ b/secop/modules.py @@ -50,17 +50,28 @@ class Module(HasProperties, metaclass=ModuleMeta): all SECoP modules derive from this. - note: within modules, parameters should only be addressed as ``self.`` - i.e. ``self.value``, ``self.target`` etc... - these are accessing the cached version. - they can also be written to, generating an async update + :param name: the modules name + :param logger: a logger instance + :param cfgdict: the dict from this modules section in the config file + :param srv: the server instance - if you want to 'update from the hardware', call ``self.read_()`` instead - the return value of this method will be used as the new cached value and - be an async update sent automatically. + Notes: + + - the programmer normally should not need to reimplement :meth:`__init__` + - within modules, parameters should only be addressed as ``self.``, i.e. ``self.value``, ``self.target`` etc... + + - these are accessing the cached version. + - they can also be written to, generating an async update + + - if you want to 'update from the hardware', call ``self.read_()`` instead + + - the return value of this method will be used as the new cached value and + be an async update sent automatically. + + - if you want to 'update the hardware' call ``self.write_()``. + + - The return value of this method will also update the cache. - if you want to 'update the hardware' call ``self.write_()``. - The return value of this method will also update the cache. """ # static properties, definitions in derived classes should overwrite earlier ones. # note: properties don't change after startup and are usually filled @@ -69,22 +80,22 @@ class Module(HasProperties, metaclass=ModuleMeta): # note: the names map to a [datatype, value] list, value comes from the cfg file, # datatype is fixed! properties = { - 'export': Property('Flag if this Module is to be exported', BoolType(), default=True, export=False), - 'group': Property('Optional group the Module belongs to', StringType(), default='', extname='group'), - 'description': Property('Description of the module', TextType(), extname='description', mandatory=True), - 'meaning': Property('Optional Meaning indicator', TupleOf(StringType(),IntRange(0,50)), + 'export': Property('flag if this Module is to be exported', BoolType(), default=True, export=False), + 'group': Property('optional group the Module belongs to', StringType(), default='', extname='group'), + 'description': Property('description of the module', TextType(), extname='description', mandatory=True), + 'meaning': Property('dptional Meaning indicator', TupleOf(StringType(),IntRange(0,50)), default=('',0), extname='meaning'), - 'visibility': Property('Optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3), + 'visibility': Property('optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3), default='user', extname='visibility'), - 'implementation': Property('Internal name of the implementation class of the module', StringType(), + 'implementation': Property('internal name of the implementation class of the module', StringType(), extname='implementation'), - 'interface_classes': Property('Offical highest Interface-class of the module', ArrayOf(StringType()), + 'interface_classes': Property('offical highest Interface-class of the module', ArrayOf(StringType()), extname='interface_classes'), } # properties, parameters and commands are auto-merged upon subclassing - parameters = {} - commands = {} + parameters = {} #: definition of parameters + commands = {} #: definition of commands # reference to the dispatcher (used for sending async updates) DISPATCHER = None @@ -354,12 +365,31 @@ class Module(HasProperties, metaclass=ModuleMeta): return False def earlyInit(self): - # may be overriden in derived classes to init stuff + """may be overriden in derived classes to init stuff + + after creating the module (no super call needed) + """ self.log.debug('empty %s.earlyInit()' % self.__class__.__name__) def initModule(self): + """may be overriden to do stuff after all modules are intiialized + + no super call needed + """ self.log.debug('empty %s.initModule()' % self.__class__.__name__) + def startModule(self, started_callback): + """runs after init of all modules + + :param started_callback: argument less function to be called when the thread + spawned by startModule has finished its initial work + :return: None or a timeout value, if different from default (30 sec) + + override this method for doing stuff during startup, after all modules are + initialized. do not forget the super call + """ + mkthread(self.writeInitParams, started_callback) + def pollOneParam(self, pname): """poll parameter with proper error handling""" try: @@ -391,15 +421,6 @@ class Module(HasProperties, metaclass=ModuleMeta): if started_callback: started_callback() - def startModule(self, started_callback): - """runs after init of all modules - - started_callback to be called when the thread spawned by startModule - has finished its initial work - might return a timeout value, if different from default - """ - mkthread(self.writeInitParams, started_callback) - class Readable(Module): """basic readable module""" @@ -421,7 +442,7 @@ class Readable(Module): readonly=False, datatype=FloatRange(0.1, 120), ), - 'status': Parameter('current status of the Module', + 'status': Parameter('*(rd, tuple of (Readable.Status, str))* current status of the Module', default=(Status.IDLE, ''), datatype=TupleOf(EnumType(Status), StringType()), readonly=True, poll=True, @@ -496,7 +517,8 @@ class Drivable(Writable): } overrides = { - 'status': Override(datatype=StatusType(Status)), + 'status': Override('*(rd, tuple of (Drivable.Status, str))* current status of the Module', + datatype=StatusType(Status)), } def isBusy(self, status=None): @@ -561,7 +583,7 @@ class Communicator(Module): class Attached(Property): - """a special property, defining an attached modle + """a special property, defining an attached module assign a module name to this property in the cfg file, and the server will create an attribute with this module diff --git a/secop/params.py b/secop/params.py index 76ddb41..d78aeee 100644 --- a/secop/params.py +++ b/secop/params.py @@ -24,6 +24,7 @@ from collections import OrderedDict +from inspect import cleandoc from secop.datatypes import CommandType, DataType, StringType, BoolType, EnumType, DataTypeType, ValueType, OrType, \ NoneOr, TextType, IntRange @@ -88,18 +89,30 @@ class Parameter(Accessible): extname='visibility', default=1), 'constant': Property('optional constant value for constant parameters', ValueType(), extname='constant', default=None, mandatory=False), - 'default': Property('default (startup) value of this parameter if it can not be read from the hardware.', - ValueType(), export=False, default=None, mandatory=False), - 'export': Property('[internal] is this parameter accessible via SECoP? (vs. internal parameter)', - OrType(BoolType(), StringType()), export=False, default=True), - 'poll': Property('[internal] polling indicator, may be:\n' + '\n '.join(['', - '* None (omitted): will be converted to True/False if handler is/is not None', - '* False or 0 (never poll this parameter)', - '* True or 1 (AUTO), converted to SLOW (readonly=False), ' - 'DYNAMIC (*status* and *value*) or REGULAR (else)', - '* 2 (SLOW), polled with lower priority and a multiple of pollinterval', - '* 3 (REGULAR), polled with pollperiod', - '* 4 (DYNAMIC), if BUSY, with a fraction of pollinterval, else polled with pollperiod']), + 'default': Property('[internal] default (startup) value of this parameter ' + 'if it can not be read from the hardware.', + ValueType(), export=False, default=None, mandatory=False), + 'export': Property(''' + [internal] export settings + + * False: not accessible via SECoP. + * True: exported, name automatic. + * a string: exported with custom name''', + OrType(BoolType(), StringType()), export=False, default=True), + 'poll': Property(''' + [internal] polling indicator + + may be: + + * None (omitted): will be converted to True/False if handler is/is not None + * False or 0 (never poll this parameter) + * True or 1 (AUTO), converted to SLOW (readonly=False) + DYNAMIC (*status* and *value*) or REGULAR (else) + * 2 (SLOW), polled with lower priority and a multiple of pollinterval + * 3 (REGULAR), polled with pollperiod + * 4 (DYNAMIC), if BUSY, with a fraction of pollinterval, + else polled with pollperiod + ''', NoneOr(IntRange()), export=False, default=None), 'needscfg': Property('[internal] needs value in config', NoneOr(BoolType()), export=False, default=None), 'optional': Property('[internal] is this parameter optional?', BoolType(), export=False, @@ -124,7 +137,7 @@ class Parameter(Accessible): raise ProgrammingError( 'datatype MUST be derived from class DataType!') - kwds['description'] = description + kwds['description'] = cleandoc(description) kwds['datatype'] = datatype kwds['readonly'] = kwds.get('readonly', True) # for frappy optional, for SECoP mandatory if unit is not None: # for legacy code only @@ -213,7 +226,7 @@ class Commands(Parameters): class Override(CountedObj): - """Stores the overrides to be applied to a Parameter + """Stores the overrides to be applied to a Parameter or Command note: overrides are applied by the metaclass during class creating reorder=True: use position of Override instead of inherited for the order @@ -224,7 +237,7 @@ class Override(CountedObj): self.reorder = reorder # allow to override description and datatype without keyword if description: - self.kwds['description'] = description + self.kwds['description'] = cleandoc(description) if datatype is not None: self.kwds['datatype'] = datatype # for now, do not use the Override ctr @@ -252,12 +265,10 @@ class Override(CountedObj): props.update(self.kwds) if self.reorder: - #props['ctr'] = self.ctr - return type(obj)(ctr=self.ctr, **props) - return type(obj)(**props) + return type(obj)(**props) + return type(obj)(ctr=self.ctr, **props) raise ProgrammingError( - "Overrides can only be applied to Accessibles, %r is none!" % - obj) + "Overrides can only be applied to Accessibles, %r is none!" % obj) class Command(Accessible): @@ -270,8 +281,13 @@ class Command(Accessible): extname='group', export=True, default=''), 'visibility': Property('optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3), extname='visibility', export=True, default=1), - 'export': Property('[internal] flag: is the command accessible via SECoP? (vs. pure internal use)', - OrType(BoolType(), StringType()), export=False, default=True), + 'export': Property(''' + [internal] export settings + + - False: not accessible via SECoP. + - True: exported, name automatic. + - a string: exported with custom name''', + OrType(BoolType(), StringType()), export=False, default=True), 'optional': Property('[internal] is the command optional to implement? (vs. mandatory)', BoolType(), export=False, default=False, settable=False), 'datatype': Property('[internal] datatype of the command, auto generated from \'argument\' and \'result\'', @@ -283,7 +299,7 @@ class Command(Accessible): } def __init__(self, description, ctr=None, **kwds): - kwds['description'] = description + kwds['description'] = cleandoc(description) kwds['datatype'] = CommandType(kwds.get('argument', None), kwds.get('result', None)) super(Command, self).__init__(**kwds) if ctr is not None: diff --git a/secop/properties.py b/secop/properties.py index 1be6916..a666871 100644 --- a/secop/properties.py +++ b/secop/properties.py @@ -24,8 +24,10 @@ from collections import OrderedDict +from inspect import cleandoc from secop.errors import ProgrammingError, ConfigError, BadValueError +from secop.lib.classdoc import append_to_doc, indent_description # storage for 'properties of a property' @@ -33,7 +35,7 @@ class Property: """base class holding info about a property :param description: mandatory - :param datatype: the datatype to be accepted. not only to the SECoP datatypes are allowed! + :param datatype: the datatype to be accepted. not only to the SECoP datatypes are allowed, also for example ``ValueType()`` (any type!), ``NoneOr(...)``, etc. :param default: a default value. SECoP properties are normally not sent to the ECS, when they match the default @@ -48,7 +50,7 @@ class Property: def __init__(self, description, datatype, default=None, extname='', export=False, mandatory=None, settable=True): if not callable(datatype): raise ValueError('datatype MUST be a valid DataType or a basic_validator') - self.description = description + self.description = cleandoc(description) self.default = datatype.default if default is None else datatype(default) self.datatype = datatype self.extname = extname @@ -85,17 +87,6 @@ class Properties(OrderedDict): raise ProgrammingError('deleting Properties is not supported!') -def add_extra_doc(cls, title, items): - """add bulleted list to doc string - - using names and description of items - """ - bulletlist = ['\n - **%s** - %s' % (k, p.description) for k, p in items.items()] - if bulletlist: - doctext = '%s\n\n%s' % (title, ''.join(bulletlist)) - cls.__doc__ = (cls.__doc__ or '') + '\n\n %s\n' % doctext - - class PropertyMeta(type): """Metaclass for HasProperties @@ -142,7 +133,21 @@ class PropertyMeta(type): % (newtype, k, attrs[k])) setattr(newtype, k, property(getter)) - add_extra_doc(newtype, '**properties**', attrs.get('properties', {})) # only new properties + # add property information to the doc string + def fmt_property(name, prop): + desc = indent_description(prop) + if '(' in desc[0:2]: + dtinfo = '' + else: + dtinfo = [prop.datatype.short_doc(), None if prop.export else 'hidden'] + dtinfo = ', '.join(filter(None, dtinfo)) + if dtinfo: + dtinfo = '*(%s)* ' % dtinfo + return '- **%s** - %s%s\n' % (name, dtinfo, desc) + + append_to_doc(newtype, 'properties', 'SECOP Properties', + 'properties', attrs.get("properties", {}), fmt_property) + return newtype diff --git a/secop/stringio.py b/secop/stringio.py index 5f535d5..3399b15 100644 --- a/secop/stringio.py +++ b/secop/stringio.py @@ -27,7 +27,7 @@ import time import threading import re from secop.lib.asynconn import AsynConn, ConnectionClosed -from secop.modules import Module, Communicator, Parameter, Command, Property, Attached +from secop.modules import Module, Communicator, Parameter, Command, Property, Attached, Override from secop.datatypes import StringType, FloatRange, ArrayOf, BoolType, TupleOf, ValueType from secop.errors import CommunicationFailedError, CommunicationSilentError from secop.poller import REGULAR @@ -65,8 +65,20 @@ class StringIO(Communicator): Parameter('reconnect interval', datatype=FloatRange(0), readonly=False, default=10), } commands = { + 'communicate': + Override(''' + send a command and receive a reply + + - using end_of_line, encoding and self._lock + - for commands without reply, the command must be joined with a query command, + - wait_before is respected for end_of_lines within a command + '''), 'multicomm': - Command('execute multiple commands in one go', + Command(''' + execute multiple commands in one go + + assuring that no other thread calls commands in between + ''', argument=ArrayOf(StringType()), result=ArrayOf(StringType())) } @@ -169,12 +181,6 @@ class StringIO(Communicator): self._reconnectCallbacks.pop(key) def do_communicate(self, command): - """send a command and receive a reply - - using end_of_line, encoding and self._lock - for commands without reply, the command must be joined with a query command, - wait_before is respected for end_of_lines within a command. - """ if not self.is_connected: self.read_is_connected() # try to reconnect try: diff --git a/secop_psi/ppms.py b/secop_psi/ppms.py index a935a86..431abd6 100644 --- a/secop_psi/ppms.py +++ b/secop_psi/ppms.py @@ -136,8 +136,8 @@ class Main(Communicator): class PpmsMixin(HasIodev, Module): """common methods for ppms modules""" - properties = { - 'iodev': Attached(), + parameters = { + 'pollinterval': None, } pollerClass = Poller @@ -186,8 +186,6 @@ class Channel(PpmsMixin, Readable): 'enabled': Parameter('is this channel used?', readonly=False, poll=False, datatype=BoolType(), default=False), - 'pollinterval': - Override(visibility=3), } properties = { 'channel': @@ -210,13 +208,9 @@ class Channel(PpmsMixin, Readable): class UserChannel(Channel): """user channel""" - parameters = { - 'pollinterval': - Override(visibility=3), - } properties = { 'no': - Property('channel number', + Property('*(unused)*', datatype=IntRange(0, 0), export=False, default=0), 'linkenable': Property('name of linked channel for enabling', @@ -243,8 +237,6 @@ class DriverChannel(Channel): 'powerlimit': Parameter('power limit', readonly=False, handler=drvout, datatype=FloatRange(0., 1000., unit='uW')), - 'pollinterval': - Override(visibility=3), } def analyze_drvout(self, no, current, powerlimit): @@ -281,8 +273,6 @@ class BridgeChannel(Channel): 'voltagelimit': Parameter('voltage limit', readonly=False, handler=bridge, datatype=FloatRange(0.0001, 100., unit='mV')), - 'pollinterval': - Override(visibility=3), } def analyze_bridge(self, no, excitation, powerlimit, dcflag, readingmode, voltagelimit): @@ -312,8 +302,6 @@ class Level(PpmsMixin, Readable): parameters = { 'value': Override(datatype=FloatRange(unit='%'), handler=level), 'status': Override(handler=level), - 'pollinterval': - Override(visibility=3), } channel = 'level' @@ -370,8 +358,6 @@ class Chamber(PpmsMixin, Drivable): 'target': Override(description='chamber command', handler=chamber, datatype=EnumType(Operation)), - 'pollinterval': - Override(visibility=3), } STATUS_MAP = { StatusCode.purged_and_sealed: (Status.IDLE, 'purged and sealed'), @@ -435,8 +421,6 @@ class Temp(PpmsMixin, Drivable): 'approachmode': Parameter('how to approach target!', readonly=False, handler=temp, datatype=EnumType(ApproachMode)), - 'pollinterval': - Override(visibility=3), 'timeout': Parameter('drive timeout, in addition to ramp time', readonly=False, datatype=FloatRange(0, unit='sec'), default=3600), @@ -632,8 +616,6 @@ class Field(PpmsMixin, Drivable): 'persistentmode': Parameter('what to do after changing field', readonly=False, handler=field, datatype=EnumType(PersistentMode)), - 'pollinterval': - Override(visibility=3), } STATUS_MAP = { @@ -763,8 +745,6 @@ class Position(PpmsMixin, Drivable): 'speed': Parameter('motor speed', readonly=False, handler=move, datatype=FloatRange(0.8, 12, unit='deg/sec')), - 'pollinterval': - Override(visibility=3), } STATUS_MAP = { 1: (Status.IDLE, 'at target'), From 41baf5805f0d952872e045dba9cb16cd1a830243 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 24 Feb 2021 16:15:23 +0100 Subject: [PATCH 38/51] migrated secop_psi drivers to new syntax - includes all changes up to 'fix inheritance order' from git_mlz 6a32ecf34224c559ae558efd7c0d20078d09463b Change-Id: Ie3ceee3dbd0a9284b47b1d5b5dbe262eebe8f283 --- doc/source/_static/custom.css | 49 +- doc/source/conf.py | 20 +- doc/source/reference.rst | 6 +- doc/source/secop_psi.rst | 8 + doc/source/tutorial.rst | 7 - doc/source/tutorial_helevel.rst | 230 +++++---- secop/basic_validators.py | 147 ------ secop/client/__init__.py | 22 +- secop/client/baseclient.py | 584 ---------------------- secop/client/console.py | 193 ------- secop/core.py | 20 +- secop/datatypes.py | 303 ++++------- secop/errors.py | 7 - secop/features.py | 180 +++---- secop/gui/cfg_editor/config_file.py | 14 +- secop/gui/cfg_editor/mainwindow.py | 8 +- secop/gui/cfg_editor/node_display.py | 2 +- secop/gui/cfg_editor/tree_widget_item.py | 9 +- secop/gui/cfg_editor/utils.py | 9 +- secop/gui/cfg_editor/widgets.py | 16 +- secop/gui/mainwindow.py | 8 +- secop/gui/modulectrl.py | 16 +- secop/gui/nodectrl.py | 8 +- secop/gui/params/__init__.py | 7 +- secop/gui/util.py | 1 + secop/gui/valuewidgets.py | 46 +- secop/iohandler.py | 14 +- secop/lib/__init__.py | 5 +- secop/lib/asynconn.py | 16 +- secop/lib/classdoc.py | 161 +++++- secop/lib/enum.py | 51 +- secop/lib/parsing.py | 1 + secop/lib/sequence.py | 2 +- secop/metaclass.py | 259 ---------- secop/modules.py | 353 ++++++++----- secop/params.py | 607 +++++++++++++---------- secop/poller.py | 9 +- secop/properties.py | 258 +++++----- secop/protocol/dispatcher.py | 60 +-- secop/protocol/interface/__init__.py | 1 + secop/protocol/interface/tcp.py | 7 +- secop/protocol/messages.py | 1 - secop/protocol/router.py | 8 +- secop/proxy.py | 54 +- secop/server.py | 58 +-- secop/simulation.py | 5 +- secop/stringio.py | 107 ++-- secop/version.py | 2 +- secop_demo/cryo.py | 170 +++---- secop_demo/modules.py | 195 ++++---- secop_demo/test.py | 52 +- secop_ess/epics.py | 79 ++- secop_mlz/amagnet.py | 65 +-- secop_mlz/entangle.py | 353 ++++++------- secop_psi/FG_Lecroy_3000.py | 101 ++-- secop_psi/SR_7270.py | 259 +--------- secop_psi/ah2700.py | 14 +- secop_psi/dg645.py | 14 +- secop_psi/k2601b.py | 50 +- secop_psi/ls370res.py | 96 ++-- secop_psi/ls370sim.py | 6 +- secop_psi/ppms.py | 302 +++++------ secop_psi/ppmsf.py | 4 +- secop_psi/ppmssim.py | 3 +- secop_psi/sea.py | 86 ++-- secop_psi/senis.py | 85 ++-- secop_psi/softcal.py | 36 +- secop_psi/testcmd.py | 48 +- secop_psi/testtemp.py | 48 +- secop_psi/ultrasound.py | 135 +++-- test/test_basic_validators.py | 9 +- test/test_datatypes.py | 14 +- test/test_iohandler.py | 23 +- test/test_modules.py | 96 ++-- test/test_msg.py | 2 +- test/test_params.py | 110 ++-- test/test_parse.py | 2 +- test/test_poller.py | 5 +- test/test_properties.py | 141 +++--- 79 files changed, 2610 insertions(+), 3952 deletions(-) delete mode 100644 doc/source/tutorial.rst delete mode 100644 secop/basic_validators.py delete mode 100644 secop/client/baseclient.py delete mode 100644 secop/client/console.py delete mode 100644 secop/metaclass.py diff --git a/doc/source/_static/custom.css b/doc/source/_static/custom.css index 5f508cc..1c0636c 100644 --- a/doc/source/_static/custom.css +++ b/doc/source/_static/custom.css @@ -1,51 +1,20 @@ -/* this is for the sphinx_rtd_theme */ div.wy-nav-content { max-width: 100% !important; } -/* this is for the alabaser theme */ -div.body { - max-width: 100%; -} - -div.bodywrapper { - margin: 0 0 0 26%; -} - -div.sphinxsidebar { - width: 25%; -} - -pre, tt, code { - font-size: 0.75em; -} - -@media screen and (max-width: 875px) { - div.bodywrapper { - margin: 0; - } - div.sphinxsidebar { - width: 102.5%; - } - div.document { - width: 100%; - } -} - -dd { - padding-bottom: 0.5em; -} - -/* make nested bullet lists nicer (ales too much space above inner nested list) */ -.rst-content .section ul li ul { - margin-top: 0px; - margin-bottom: 6px; -} - /* make some bullet lists more dense (this rule exists in theme.css, but not important)*/ .wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child { margin-bottom: 0 !important; } +/* overwrite custom font (to save bandwidth not using a custom font) */ +body { + font-family: "proxima-nova", "Helvetica Neue", Arial, sans-serif; +} + +h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend { + font-family: "ff-tisa-web-pro", "Georgia", Arial, sans-serif; +} + diff --git a/doc/source/conf.py b/doc/source/conf.py index 052c9bc..d319d15 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -100,19 +100,8 @@ default_role = 'any' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -if False: # alabaster - html_theme = 'alabaster' - # Theme options are theme-specific and customize the look and feel of a theme - # further. For a list of options available for each theme, see the - # documentation. - # - html_theme_options = { - 'page_width': '100%', - 'fixed_sidebar': True, - } -else: - import sphinx_rtd_theme - html_theme = 'sphinx_rtd_theme' +import sphinx_rtd_theme +html_theme = 'sphinx_rtd_theme' # If not None, a 'Last updated on:' timestamp is inserted at every page # bottom, using the given strftime format. @@ -223,3 +212,8 @@ epub_exclude_files = ['search.html'] # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {'https://docs.python.org/': None} + +from secop.lib.classdoc import class_doc_handler + +def setup(app): + app.connect('autodoc-process-docstring', class_doc_handler) \ No newline at end of file diff --git a/doc/source/reference.rst b/doc/source/reference.rst index 7f3d8fb..a8f67a4 100644 --- a/doc/source/reference.rst +++ b/doc/source/reference.rst @@ -5,10 +5,10 @@ Module Base Classes ................... .. autoclass:: secop.modules.Module - :members: earlyInit, initModule, startModule + :members: earlyInit, initModule, startModule, pollerClass .. autoclass:: secop.modules.Readable - :members: pollerClass, Status + :members: Status .. autoclass:: secop.modules.Writable @@ -21,13 +21,11 @@ Parameters, Commands and Properties .. autoclass:: secop.params.Parameter .. autoclass:: secop.params.Command -.. autoclass:: secop.params.Override .. autoclass:: secop.properties.Property .. autoclass:: secop.modules.Attached :show-inheritance: - Datatypes ......... diff --git a/doc/source/secop_psi.rst b/doc/source/secop_psi.rst index 0112651..fd3663c 100644 --- a/doc/source/secop_psi.rst +++ b/doc/source/secop_psi.rst @@ -1,6 +1,14 @@ PSI (SINQ) ---------- +CCU4 tutorial example +..................... + +.. automodule:: secop_psi.ccu4 + :show-inheritance: + :members: + + PPMS .... diff --git a/doc/source/tutorial.rst b/doc/source/tutorial.rst deleted file mode 100644 index c349f65..0000000 --- a/doc/source/tutorial.rst +++ /dev/null @@ -1,7 +0,0 @@ -Tutorial --------- - -.. toctree:: - :maxdepth: 2 - - tutorial_helevel diff --git a/doc/source/tutorial_helevel.rst b/doc/source/tutorial_helevel.rst index 2e1b467..d778c2d 100644 --- a/doc/source/tutorial_helevel.rst +++ b/doc/source/tutorial_helevel.rst @@ -3,12 +3,13 @@ HeLevel - a Simple Driver Coding the Driver ----------------- -For this tutorial we choose as an example a cryostat. Let us start with the helium level meter, -as this is the simplest module. -As mentioned in the introduction, we have to code the access to the hardware (driver), and the Frappy -framework will deal with the SECoP interface. The code for the driver is located in a subdirectory -named after the facility or institute programming the driver in our case *secop_psi*. -We create a file named from the electronic device CCU4 we use here for the He level reading. +For this tutorial we choose as an example a cryostat. Let us start with the helium level +meter, as this is the simplest module. +As mentioned in the introduction, we have to code the access to the hardware (driver), +and the Frappy framework will deal with the SECoP interface. The code for the driver is +located in a subdirectory named after the facility or institute programming the driver +in our case *secop_psi*. We create a file named from the electronic device CCU4 we use +here for the He level reading. CCU4 luckily has a very simple and logical protocol: @@ -20,9 +21,8 @@ CCU4 luckily has a very simple and logical protocol: .. code:: python - # the most common classes can be imported from secop.core - from secop.core import Readable, Parameter, Override, FloatRange, BoolType, \ - StringIO, HasIodev + # the most common Frappy classes can be imported from secop.core + from secop.core import Readable, Parameter, FloatRange, BoolType, StringIO, HasIodev class CCU4IO(StringIO): @@ -33,30 +33,48 @@ CCU4 luckily has a very simple and logical protocol: identification = [('cid', r'CCU4.*')] - # inheriting the HasIodev mixin creates us the things needed for talking - # with a device by means of the sendRecv method + # inheriting the HasIodev mixin creates us a private attribute *_iodev* + # for talking with the hardware # Readable as a base class defines the value and status parameters class HeLevel(HasIodev, Readable): """He Level channel of CCU4""" - # define or alter the parameters - parameters = { - # we are changing the 'unit' parameter property of the inherited 'value' - # parameter, therefore 'Override' - 'value': Override(unit='%'), - } # define the communication class to create the IO module iodevClass = CCU4IO - + + # define or alter the parameters + # as Readable.value exists already, we give only the modified property 'unit' + value = Parameter(unit='%') + def read_value(self): # method for reading the main value - reply = self.sendRecv('h') # send 'h\n' and get the reply 'h=\n' + reply = self._iodev.communicate('h') # send 'h\n' and get the reply 'h=\n' name, txtvalue = reply.split('=') assert name == 'h' # check that we got a reply to our command return txtvalue # the framework will automatically convert the string to a float -The class :class:`CCU4`, an extension of (:class:`secop.stringio.StringIO`) serves as -communication class. + +The class :class:`secop_psi.ccu4.CCU4IO`, an extension of (:class:`secop.stringio.StringIO`) +serves as communication class. + +:Note: + + You might wonder why the parameter *value* is declared here as class attribute. + In Python, usually class attributes are used to set a default value which might + be overwritten in a method. But class attributes can do more, look for Python + descriptors or properties if you are interested in details. + In Frappy, the *Parameter* class is a descriptor, which does the magic needed for + the SECoP interface. Given ``lev`` as an instance of the class ``HeLevel`` above, + ``lev.value`` will just return its internal cached value. + ``lev.value = 85.3`` will try to convert to the data type of the parameter, + put it to the internal cache and send a messages to the SECoP clients telling + that ``lev.value`` has got a new value. + For getting a value from the hardware, you have to call ``lev.read_value()``. + Frappy has replaced your version of *read_value* with a wrapped one which + also takes care to announce the change to the clients. + Even when you did not code this method, Frappy adds it silently, so calling + ``.read_`` will be possible for all parameters declared + in a module. Above is already the code for a very simple working He Level meter driver. For a next step, we want to improve it: @@ -66,32 +84,26 @@ we want to improve it: * We want to be able to switch the Level Monitor to fast reading before we start to fill. Let us start to code these additions. We do not need to declare the status parameter, -as it is inherited from *Readable*. But we declare the new parameters *empty*, *full* and *fast*, -and we have to code the communication and convert the status codes from the hardware to -the standard SECoP status codes. +as it is inherited from *Readable*. But we declare the new parameters *empty_length*, +*full_length* and *sample_rate*, and we have to code the communication and convert +the status codes from the hardware to the standard SECoP status codes. .. code:: python - ... - # define or alter the parameters - parameters = { - - ... - - # the first two arguments to Parameter are 'description' and 'datatype' - # it is highly recommended to define always the physical unit - 'empty': Parameter('warm length when empty', FloatRange(0, 2000), - readonly=False, unit='mm'), - 'full': Parameter('warm length when full', FloatRange(0, 2000), - readonly=False, unit='mm'), - 'fast': Parameter('fast reading', BoolType(), - readonly=False), - } + ... + # the first two arguments to Parameter are 'description' and 'datatype' + # it is highly recommended to define always the physical unit + empty_length = Parameter('warm length when empty', FloatRange(0, 2000, unit='mm'), + readonly=False) + full_length = Parameter('warm length when full', FloatRange(0, 2000, unit='mm'), + readonly=False) + sample_rate = Parameter('sample rate', EnumType(slow=0, fast=1), readonly=False) ... Status = Readable.Status + # conversion of the code from the CCU4 parameter 'hsf' STATUS_MAP = { 0: (Status.IDLE, 'sensor ok'), 1: (Status.ERROR, 'sensor warm'), @@ -102,69 +114,98 @@ the standard SECoP status codes. } def read_status(self): - name, txtvalue = self.sendRecv('hsf').split('=') + name, txtvalue = self._iodev.communicate('hsf').split('=') assert name == 'hsf' return self.STATUS_MAP(int(txtvalue)) - def read_emtpy(self): - name, txtvalue = self.sendRecv('hem').split('=') + def read_empty_length(self): + name, txtvalue = self._iodev.communicate('hem').split('=') assert name == 'hem' return txtvalue - def write_empty(self, value): - name, txtvalue = self.sendRecv('hem=%g' % value).split('=') + def write_empty_length(self, value): + name, txtvalue = self._iodev.communicate('hem=%g' % value).split('=') assert name == 'hem' return txtvalue ... - -Here we start to realize, that we will repeat similar code for other parameters, which means it might be -worth to create our own *_sendRecv* method, and then the *read_* and *write_* methods -will become shorter: + + +Here we start to realize, that we will repeat similar code for other parameters, +which means it might be worth to create a *query* method, and then the +*read_* and *write_* methods will become shorter: .. code:: python ... - def _sendRecv(self, cmd): - # method may be used for reading and writing parameters - name, txtvalue = self.sendRecv(cmd).split('=') - assert name == cmd.split('=')[0] # check that we got a reply to our command - return txtvalue # the framework will automatically convert the string to a float - - def read_value(self): - return self._sendRecv('h') - - ... - - def read_status(self): - return self.STATUS_MAP(int(self._sendRecv('hsf'))) + class HeLevel(Readable): - def read_empty(self): - return self._sendRecv('hem') - - def write_empty(self, value): - return self._sendRecv('hem=%g' % value) - - def read_full(self): - return self._sendRecv('hfu') - - def write_full(self, value): - return self._sendRecv('hfu=%g' % value) - - def read_fast(self): - return self._sendRecv('hf') - - def write_fast(self, value): - return self._sendRecv('hf=%s' % value) + ... + + + def query(self, cmd): + """send a query and get the response + + :param cmd: the name of the parameter to query or '= -# -# ***************************************************************************** -"""basic validators (for properties)""" - - -import re - -from secop.errors import ProgrammingError - - -def FloatProperty(value): - return float(value) - - -def PositiveFloatProperty(value): - value = float(value) - if value > 0: - return value - raise ValueError('Value must be >0 !') - - -def NonNegativeFloatProperty(value): - value = float(value) - if value >= 0: - return value - raise ValueError('Value must be >=0 !') - - -def IntProperty(value): - if int(value) == float(value): - return int(value) - raise ValueError('Can\'t convert %r to int!' % value) - - -def PositiveIntProperty(value): - value = IntProperty(value) - if value > 0: - return value - raise ValueError('Value must be >0 !') - - -def NonNegativeIntProperty(value): - value = IntProperty(value) - if value >= 0: - return value - raise ValueError('Value must be >=0 !') - - -def BoolProperty(value): - try: - if value.lower() in ['0', 'false', 'no', 'off',]: - return False - if value.lower() in ['1', 'true', 'yes', 'on', ]: - return True - except AttributeError: # was no string - if bool(value) == value: - return value - raise ValueError('%r is no valid boolean: try one of True, False, "on", "off",...' % value) - - -def StringProperty(value): - return str(value) - - -def UnitProperty(value): - # probably too simple! - for s in str(value): - if s.lower() not in '°abcdefghijklmnopqrstuvwxyz': - raise ValueError('%r is not a valid unit!') - - -def FmtStrProperty(value, regexp=re.compile(r'^%\.?\d+[efg]$')): - value=str(value) - if regexp.match(value): - return value - raise ValueError('%r is not a valid fmtstr!' % value) - - -def OneOfProperty(*args): - # literally oneof! - if not args: - raise ProgrammingError('OneOfProperty needs some argumets to check against!') - def OneOfChecker(value): - if value not in args: - raise ValueError('Value must be one of %r' % list(args)) - return value - return OneOfChecker - - -def NoneOr(checker): - if not callable(checker): - raise ProgrammingError('NoneOr needs a basic validator as Argument!') - def NoneOrChecker(value): - if value is None: - return None - return checker(value) - return NoneOrChecker - - -def EnumProperty(**kwds): - if not kwds: - raise ProgrammingError('EnumProperty needs a mapping!') - def EnumChecker(value): - if value in kwds: - return kwds[value] - if value in kwds.values(): - return value - raise ValueError('Value must be one of %r' % list(kwds)) - return EnumChecker - -def TupleProperty(*checkers): - if not checkers: - checkers = [None] - for c in checkers: - if not callable(c): - raise ProgrammingError('TupleProperty needs basic validators as Arguments!') - def TupleChecker(values): - if len(values)==len(checkers): - return tuple(c(v) for c, v in zip(checkers, values)) - raise ValueError('Value needs %d elements!' % len(checkers)) - return TupleChecker - -def ListOfProperty(checker): - if not callable(checker): - raise ProgrammingError('ListOfProperty needs a basic validator as Argument!') - def ListOfChecker(values): - return [checker(v) for v in values] - return ListOfChecker diff --git a/secop/client/__init__.py b/secop/client/__init__.py index 27d53fd..c1d22b4 100644 --- a/secop/client/__init__.py +++ b/secop/client/__init__.py @@ -22,21 +22,22 @@ # ***************************************************************************** """general SECoP client""" -import time -import queue import json -from threading import Event, RLock, current_thread +import queue +import time from collections import defaultdict +from threading import Event, RLock, current_thread -from secop.lib import mkthread, formatExtendedTraceback, formatExtendedStack -from secop.lib.asynconn import AsynConn, ConnectionClosed -from secop.datatypes import get_datatype -from secop.protocol.interface import encode_msg_frame, decode_msg -from secop.protocol.messages import REQUEST2REPLY, ERRORPREFIX, EVENTREPLY, WRITEREQUEST, WRITEREPLY, \ - READREQUEST, READREPLY, IDENTREQUEST, IDENTPREFIX, ENABLEEVENTSREQUEST, COMMANDREQUEST, \ - DESCRIPTIONREQUEST, HEARTBEATREQUEST import secop.errors import secop.params +from secop.datatypes import get_datatype +from secop.lib import mkthread +from secop.lib.asynconn import AsynConn, ConnectionClosed +from secop.protocol.interface import decode_msg, encode_msg_frame +from secop.protocol.messages import COMMANDREQUEST, \ + DESCRIPTIONREQUEST, ENABLEEVENTSREQUEST, ERRORPREFIX, \ + EVENTREPLY, HEARTBEATREQUEST, IDENTPREFIX, IDENTREQUEST, \ + READREPLY, READREQUEST, REQUEST2REPLY, WRITEREPLY, WRITEREQUEST # replies to be handled for cache UPDATE_MESSAGES = {EVENTREPLY, READREPLY, WRITEREPLY, ERRORPREFIX + READREQUEST, ERRORPREFIX + EVENTREPLY} @@ -160,7 +161,6 @@ class ProxyClient: if not cblist: self.callbacks[cbname].pop(key) - def callback(self, key, cbname, *args): """perform callbacks diff --git a/secop/client/baseclient.py b/secop/client/baseclient.py deleted file mode 100644 index e46b81c..0000000 --- a/secop/client/baseclient.py +++ /dev/null @@ -1,584 +0,0 @@ -# -*- coding: utf-8 -*- -# ***************************************************************************** -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Module authors: -# Enrico Faulhaber -# -# ***************************************************************************** -"""Define Client side proxies""" - - -import json -import queue -import socket -import threading -import time -from collections import OrderedDict -from select import select - -try: - import mlzlog -except ImportError: - pass - -import serial - -from secop.datatypes import CommandType, EnumType, get_datatype -from secop.errors import EXCEPTIONS -from secop.lib import formatException, formatExtendedStack, mkthread -from secop.lib.parsing import format_time, parse_time -from secop.protocol.messages import BUFFERREQUEST, COMMANDREQUEST, \ - DESCRIPTIONREPLY, DESCRIPTIONREQUEST, DISABLEEVENTSREQUEST, \ - ENABLEEVENTSREQUEST, ERRORPREFIX, EVENTREPLY, \ - HEARTBEATREQUEST, HELPREQUEST, IDENTREQUEST, READREPLY, \ - READREQUEST, REQUEST2REPLY, WRITEREPLY, WRITEREQUEST - -class TCPConnection: - # disguise a TCP connection as serial one - - def __init__(self, host, port, getLogger=None): - if getLogger: - self.log = getLogger('TCPConnection') - else: - self.log = mlzlog.getLogger('TCPConnection') - self._host = host - self._port = int(port) - self._thread = None - self.callbacks = [] # called if SEC-node shuts down - self._io = None - self.connect() - - def connect(self): - self._readbuffer = queue.Queue(100) - time.sleep(1) - io = socket.create_connection((self._host, self._port)) - io.setblocking(False) - self.stopflag = False - self._io = io - if self._thread and self._thread.is_alive(): - return - self._thread = mkthread(self._run) - - def _run(self): - try: - data = b'' - while not self.stopflag: - rlist, _, xlist = select([self._io], [], [self._io], 1) - if xlist: - # on some strange systems, a closed connection is indicated by - # an exceptional condition instead of "read ready" + "empty recv" - newdata = b'' - else: - if not rlist: - continue # check stopflag every second - # self._io is now ready to read some bytes - try: - newdata = self._io.recv(1024) - except socket.error as err: - if err.args[0] == socket.EAGAIN: - # if we receive an EAGAIN error, just continue - continue - newdata = b'' - except Exception: - newdata = b'' - if not newdata: # no data on recv indicates a closed connection - raise IOError('%s:%d disconnected' % (self._host, self._port)) - lines = (data + newdata).split(b'\n') - for line in lines[:-1]: # last line is incomplete or empty - try: - self._readbuffer.put(line.strip(b'\r').decode('utf-8'), - block=True, timeout=1) - except queue.Full: - self.log.debug('rcv queue full! dropping line: %r' % line) - data = lines[-1] - except Exception as err: - self.log.error(err) - try: - self._io.shutdown(socket.SHUT_RDWR) - except socket.error: - pass - try: - self._io.close() - except socket.error: - pass - for cb, args in self.callbacks: - cb(*args) - - def readline(self, timeout=None): - """blocks until a full line was read and returns it - - returns None when connection is stopped""" - if self.stopflag: - return None - return self._readbuffer.get(block=True, timeout=timeout) - - def stop(self): - self.stopflag = True - self._readbuffer.put(None) # terminate pending readline - - def readable(self): - return not self._readbuffer.empty() - - def write(self, data): - if self._io is None: - self.connect() - self._io.sendall(data.encode('latin-1')) - - def writeline(self, line): - self.write(line + '\n') - - def writelines(self, *lines): - for line in lines: - self.writeline(line) - - -class Value: - t = None # pylint: disable = C0103 - u = None - e = None - fmtstr = '%s' - - def __init__(self, value, qualifiers=None): - self.value = value - if qualifiers: - self.__dict__.update(qualifiers) - if 't' in qualifiers: - try: - self.t = float(qualifiers['t']) - except Exception: - self.t = parse_time(qualifiers['t']) - - def __repr__(self): - r = [] - if self.t is not None: - r.append("timestamp=%r" % format_time(self.t)) - if self.u is not None: - r.append('unit=%r' % self.u) - if self.e is not None: - r.append(('error=%s' % self.fmtstr) % self.e) - if r: - return (self.fmtstr + '(%s)') % (self.value, ', '.join(r)) - return self.fmtstr % self.value - - -class Client: - secop_id = 'unknown' - describing_data = {} - stopflag = False - connection_established = False - - def __init__(self, opts, autoconnect=True, getLogger=None): - if 'testing' not in opts: - if getLogger: - self.log = getLogger('client') - else: - self.log = mlzlog.getLogger('client', True) - else: - class logStub: - - def info(self, *args): - pass - debug = info - error = info - warning = info - exception = info - self.log = logStub() - self._cache = dict() - if 'module' in opts: - # serial port - devport = opts.pop('module') - baudrate = int(opts.pop('baudrate', 115200)) - self.contactPoint = "serial://%s:%s" % (devport, baudrate) - self.connection = serial.Serial( - devport, baudrate=baudrate, timeout=1) - self.connection.callbacks = [] - elif 'testing' not in opts: - host = opts.pop('host', 'localhost') - port = int(opts.pop('port', 10767)) - self.contactPoint = "tcp://%s:%d" % (host, port) - self.connection = TCPConnection(host, port, getLogger=getLogger) - else: - self.contactPoint = 'testing' - self.connection = opts.pop('testing') - - # maps an expected reply to a list containing a single Event() - # upon rcv of that reply, entry is appended with False and - # the data of the reply. - # if an error is received, the entry is appended with True and an - # appropriate Exception. - # Then the Event is set. - self.expected_replies = {} - - # maps spec to a set of callback functions (or single_shot callbacks) - self.callbacks = dict() - self.single_shots = dict() - - # mapping the modulename to a dict mapping the parameter names to their values - # note: the module value is stored as the value of the parameter value - # of the module - - self._syncLock = threading.RLock() - self._thread = threading.Thread(target=self._run) - self._thread.daemon = True - self._thread.start() - - if autoconnect: - self.startup() - - def _run(self): - while not self.stopflag: - try: - self._inner_run() - except Exception as err: - print(formatExtendedStack()) - self.log.exception(err) - raise - - def _inner_run(self): - data = '' - self.connection.writeline('*IDN?') - - while not self.stopflag: - line = self.connection.readline() - if line is None: # connection stopped - break - self.connection_established = True - self.log.debug('got answer %r' % line) - if line.startswith(('SECoP', 'SINE2020&ISSE,SECoP')): - self.log.info('connected to: ' + line.strip()) - self.secop_id = line - continue - msgtype, spec, data = self.decode_message(line) - if msgtype in (EVENTREPLY, READREPLY, WRITEREPLY): - # handle async stuff - self._handle_event(spec, data) - # handle sync stuff - self._handle_sync_reply(msgtype, spec, data) - - def _handle_sync_reply(self, msgtype, spec, data): - # handle sync stuff - if msgtype.startswith(ERRORPREFIX): - # find originating msgtype and map to expected_reply_type - # errormessages carry to offending request as the first - # result in the resultist - request = msgtype[len(ERRORPREFIX):] - reply = REQUEST2REPLY.get(request, request) - - entry = self.expected_replies.get((reply, spec), None) - if entry: - self.log.error("request %r resulted in Error %r" % - ("%s %s" % (request, spec), (data[0], data[1]))) - entry.extend([True, EXCEPTIONS[data[0]](*data[1:])]) - entry[0].set() - return - self.log.error("got an unexpected %s %r" % (msgtype,data[0:1])) - self.log.error(repr(data)) - return - if msgtype == DESCRIPTIONREPLY: - entry = self.expected_replies.get((msgtype, ''), None) - else: - entry = self.expected_replies.get((msgtype, spec), None) - - if entry: - self.log.debug("got expected reply '%s %s'" % (msgtype, spec) - if spec else "got expected reply '%s'" % msgtype) - entry.extend([False, msgtype, spec, data]) - entry[0].set() - - def encode_message(self, requesttype, spec='', data=None): - """encodes the given message to a string - """ - req = [str(requesttype)] - if spec: - req.append(str(spec)) - if data is not None: - req.append(json.dumps(data)) - req = ' '.join(req) - return req - - def decode_message(self, msg): - """return a decoded message triple""" - msg = msg.strip() - if ' ' not in msg: - return msg, '', None - msgtype, spec = msg.split(' ', 1) - data = None - if ' ' in spec: - spec, json_data = spec.split(' ', 1) - try: - data = json.loads(json_data) - except ValueError: - # keep as string - data = json_data - # print formatException() - return msgtype, spec, data - - def _handle_event(self, spec, data): - """handles event""" -# self.log.debug('handle_event %r %r' % (spec, data)) - if ':' not in spec: - self.log.warning("deprecated specifier %r" % spec) - spec = '%s:value' % spec - modname, pname = spec.split(':', 1) - - if data: - self._cache.setdefault(modname, {})[pname] = Value(*data) - else: - self.log.warning( - 'got malformed answer! (%s,%s)' % (spec, data)) - -# self.log.info('cache: %s:%s=%r (was: %s)', modname, pname, data, previous) - if spec in self.callbacks: - for func in self.callbacks[spec]: - try: - mkthread(func, modname, pname, data) - except Exception as err: - self.log.exception('Exception in Callback!', err) - run = set() - if spec in self.single_shots: - for func in self.single_shots[spec]: - try: - mkthread(func, data) - except Exception as err: - self.log.exception('Exception in Single-shot Callback!', - err) - run.add(func) - self.single_shots[spec].difference_update(run) - - def _getDescribingModuleData(self, module): - return self.describingModulesData[module] - - def _getDescribingParameterData(self, module, parameter): - return self._getDescribingModuleData(module)['accessibles'][parameter] - - def _decode_substruct(self, specialkeys=[], data={}): # pylint: disable=W0102 - # take a dict and move all keys which are not in specialkeys - # into a 'properties' subdict - # specialkeys entries are converted from list to ordereddict - try: - result = {} - for k in specialkeys: - result[k] = OrderedDict(data.pop(k, [])) - result['properties'] = data - return result - except Exception as err: - raise RuntimeError('Error decoding substruct of descriptive data: %r\n%r' % (err, data)) - - def _issueDescribe(self): - _, _, describing_data = self._communicate(DESCRIPTIONREQUEST) - try: - describing_data = self._decode_substruct( - ['modules'], describing_data) - for modname, module in list(describing_data['modules'].items()): - # convert old namings of interface_classes - if 'interface_class' in module: - module['interface_classes'] = module.pop('interface_class') - elif 'interfaces' in module: - module['interface_classes'] = module.pop('interfaces') - describing_data['modules'][modname] = self._decode_substruct( - ['accessibles'], module) - - self.describing_data = describing_data - - for module, moduleData in self.describing_data['modules'].items(): - for aname, adata in moduleData['accessibles'].items(): - datatype = get_datatype(adata.pop('datainfo')) - # *sigh* special handling for 'some' parameters.... - if isinstance(datatype, EnumType): - datatype._enum.name = aname - if aname == 'status': - datatype.members[0]._enum.name = 'Status' - self.describing_data['modules'][module]['accessibles'] \ - [aname]['datatype'] = datatype - except Exception as _exc: - print(formatException(verbose=True)) - raise - - def register_callback(self, module, parameter, cb): - self.log.debug('registering callback %r for %s:%s' % - (cb, module, parameter)) - self.callbacks.setdefault('%s:%s' % (module, parameter), set()).add(cb) - - def unregister_callback(self, module, parameter, cb): - self.log.debug('unregistering callback %r for %s:%s' % - (cb, module, parameter)) - self.callbacks.setdefault('%s:%s' % (module, parameter), - set()).discard(cb) - - def register_shutdown_callback(self, func, *args): - self.connection.callbacks.append((func, args)) - - def communicate(self, msgtype, spec='', data=None): - # only return the data portion.... - return self._communicate(msgtype, spec, data)[2] - - def _communicate(self, msgtype, spec='', data=None): - self.log.debug('communicate: %r %r %r' % (msgtype, spec, data)) - if self.stopflag: - raise RuntimeError('alreading stopping!') - if msgtype == IDENTREQUEST: - return self.secop_id - - # sanitize input - msgtype = str(msgtype) - spec = str(spec) - - if msgtype not in (DESCRIPTIONREQUEST, ENABLEEVENTSREQUEST, - DISABLEEVENTSREQUEST, COMMANDREQUEST, - WRITEREQUEST, BUFFERREQUEST, - READREQUEST, HEARTBEATREQUEST, HELPREQUEST): - raise EXCEPTIONS['Protocol'](args=[ - self.encode_message(msgtype, spec, data), - dict( - errorclass='Protocol', - errorinfo='%r: No Such Messagetype defined!' % msgtype, ), - ]) - - # handle syntactic sugar - if msgtype == WRITEREQUEST and ':' not in spec: - spec = spec + ':target' - if msgtype == READREQUEST and ':' not in spec: - spec = spec + ':value' - - # check if such a request is already out - rply = REQUEST2REPLY[msgtype] - if (rply, spec) in self.expected_replies: - raise RuntimeError( - "can not have more than one requests of the same type at the same time!" - ) - - # prepare sending request - event = threading.Event() - self.expected_replies[(rply, spec)] = [event] - self.log.debug('prepared reception of %r msg' % rply) - - # send request - msg = self.encode_message(msgtype, spec, data) - while not self.connection_established: - self.log.debug('connection not established yet, waiting ...') - time.sleep(0.1) - self.connection.writeline(msg) - self.log.debug('sent msg %r' % msg) - - # wait for reply. timeout after 10s - if event.wait(10): - self.log.debug('checking reply') - entry = self.expected_replies.pop((rply, spec)) - # entry is: event, is_error, exc_or_msgtype [,spec, date]<- if !err - is_error = entry[1] - if is_error: - # if error, entry[2] contains the rigth Exception to raise - raise entry[2] - # valid reply: entry[2:5] contain msgtype, spec, data - return tuple(entry[2:5]) - - # timed out - del self.expected_replies[(rply, spec)] - # XXX: raise a TimedOut ? - raise RuntimeError("timeout upon waiting for reply to %r!" % msgtype) - - def quit(self): - # after calling this the client is dysfunctional! - # self.communicate(DISABLEEVENTSREQUEST) - self.stopflag = True - self.connection.stop() - if self._thread and self._thread.is_alive(): - self._thread.join(10) - - def startup(self, _async=False): - self._issueDescribe() - # always fill our cache - self.communicate(ENABLEEVENTSREQUEST) - # deactivate updates if not wanted - if not _async: - self.communicate(DISABLEEVENTSREQUEST) - - def queryCache(self, module, parameter=None): - result = self._cache.get(module, {}) - - if parameter is not None: - result = result[parameter] - - return result - - def getParameter(self, module, parameter): - return self.communicate(READREQUEST, '%s:%s' % (module, parameter)) - - def setParameter(self, module, parameter, value): - datatype = self._getDescribingParameterData(module, - parameter)['datatype'] - - value = datatype.from_string(value) - value = datatype.export_value(value) - self.communicate(WRITEREQUEST, '%s:%s' % (module, parameter), value) - - @property - def describingData(self): - return self.describing_data - - @property - def describingModulesData(self): - return self.describingData['modules'] - - @property - def equipmentId(self): - if self.describingData: - return self.describingData['properties']['equipment_id'] - return 'Undetermined' - - @property - def protocolVersion(self): - return self.secop_id - - @property - def modules(self): - return list(self.describing_data['modules'].keys()) - - def getParameters(self, module): - params = filter(lambda item: not isinstance(item[1]['datatype'], CommandType), - self.describing_data['modules'][module]['accessibles'].items()) - return list(param[0] for param in params) - - def getModuleProperties(self, module): - return self.describing_data['modules'][module]['properties'] - - def getModuleBaseClass(self, module): - return self.getModuleProperties(module)['interface_classes'] - - def getCommands(self, module): - cmds = filter(lambda item: isinstance(item[1]['datatype'], CommandType), - self.describing_data['modules'][module]['accessibles'].items()) - return OrderedDict(cmds) - - def execCommand(self, module, command, args): - # ignore reply message + reply specifier, only return data - return self._communicate(COMMANDREQUEST, '%s:%s' % (module, command), list(args) if args else None)[2] - - def getProperties(self, module, parameter): - return self.describing_data['modules'][module]['accessibles'][parameter] - - def syncCommunicate(self, *msg): - res = self._communicate(*msg) # pylint: disable=E1120 - try: - res = self.encode_message(*res) - except Exception: - res = str(res) - return res - - def ping(self, pingctr=[0]): # pylint: disable=W0102 - pingctr[0] = pingctr[0] + 1 - self.communicate(HEARTBEATREQUEST, pingctr[0]) diff --git a/secop/client/console.py b/secop/client/console.py deleted file mode 100644 index df3d815..0000000 --- a/secop/client/console.py +++ /dev/null @@ -1,193 +0,0 @@ -# -*- coding: utf-8 -*- -# ***************************************************************************** -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Module authors: -# Enrico Faulhaber -# -# ***************************************************************************** -"""console client""" - -# this needs to be reworked or removed - - -import code -import socket -import threading -from collections import deque -from os import path -import configparser -import mlzlog - -from secop.protocol.interface import decode_msg, encode_msg_frame, get_msg -from secop.protocol.messages import EVENTREPLY - - - -class NameSpace(dict): - - def __init__(self): - dict.__init__(self) - self.__const = set() - - def setconst(self, name, value): - dict.__setitem__(self, name, value) - self.__const.add(name) - - def __setitem__(self, name, value): - if name in self.__const: - raise RuntimeError('%s cannot be assigned' % name) - dict.__setitem__(self, name, value) - - def __delitem__(self, name): - if name in self.__const: - raise RuntimeError('%s cannot be deleted' % name) - dict.__delitem__(self, name) - - - -def getClientOpts(cfgfile): - parser = configparser.SafeConfigParser() - if not parser.read([cfgfile + '.cfg']): - print("Error reading cfg file %r" % cfgfile) - return {} - if not parser.has_section('client'): - print("No Server section found!") - return dict(item for item in parser.items('client')) - - -class ClientConsole: - - def __init__(self, cfgname, basepath): - self.namespace = NameSpace() - self.namespace.setconst('help', self.helpCmd) - - cfgfile = path.join(basepath, 'etc', cfgname) - cfg = getClientOpts(cfgfile) - self.client = Client(cfg) - self.client.populateNamespace(self.namespace) - - def run(self): - console = code.InteractiveConsole(self.namespace) - console.interact("Welcome to the SECoP console") - - def close(self): - pass - - def helpCmd(self, arg=Ellipsis): - if arg is Ellipsis: - print("No help available yet") - else: - help(arg) - - -class TCPConnection: - - def __init__(self, connect, port, **kwds): - self.log = mlzlog.log.getChild('connection', False) - port = int(port) - self.connection = socket.create_connection((connect, port), 3) - self.queue = deque() - self._rcvdata = '' - self.callbacks = set() - self._thread = threading.Thread(target=self.thread) - self._thread.daemonize = True - self._thread.start() - - def send(self, msg): - self.log.debug("Sending msg %r" % msg) - data = encode_msg_frame(*msg.serialize()) - self.log.debug("raw data: %r" % data) - self.connection.sendall(data) - - def thread(self): - while True: - try: - self.thread_step() - except Exception as e: - self.log.exception("Exception in RCV thread: %r" % e) - - def thread_step(self): - data = b'' - while True: - newdata = self.connection.recv(1024) - self.log.debug("RCV: got raw data %r" % newdata) - data = data + newdata - while True: - origin, data = get_msg(data) - if origin is None: - break # no more messages to process - if not origin: # empty string - continue # ??? - _ = decode_msg(origin) - # construct msgObj from msg - try: - #msgObj = Message(*msg) - #msgObj.origin = origin.decode('latin-1') - #self.handle(msgObj) - pass - except Exception: - # ??? what to do here? - pass - - def handle(self, msg): - if msg.action == EVENTREPLY: - self.log.info("got Async: %r" % msg) - for cb in self.callbacks: - try: - cb(msg) - except Exception as e: - self.log.debug( - "handle_async: got exception %r" % e, exception=True) - else: - self.queue.append(msg) - - def read(self): - while not self.queue: - pass # XXX: remove BUSY polling - return self.queue.popleft() - - def register_callback(self, callback): - """registers callback for async data""" - self.callbacks.add(callback) - - def unregister_callback(self, callback): - """unregisters callback for async data""" - self.callbacks.discard(callback) - - -class Client: - - def __init__(self, opts): - self.log = mlzlog.log.getChild('client', True) - self._cache = dict() - self.connection = TCPConnection(**opts) - self.connection.register_callback(self.handle_async) - - def handle_async(self, msg): - self.log.info("Got async update %r" % msg) - module = msg.module - param = msg.param - value = msg.value - self._cache.getdefault(module, {})[param] = value - # XXX: further notification-callbacks needed ??? - - def populateNamespace(self, namespace): - #self.connection.send(Message(DESCRIPTIONREQUEST)) - # reply = self.connection.read() - # self.log.info("found modules %r" % reply) - # create proxies, populate cache.... - namespace.setconst('connection', self.connection) diff --git a/secop/core.py b/secop/core.py index 8ea1cd4..e6ca57f 100644 --- a/secop/core.py +++ b/secop/core.py @@ -26,14 +26,14 @@ # allow to import the most important classes from 'secop' # pylint: disable=unused-import -from secop.datatypes import FloatRange, IntRange, ScaledInteger, \ - BoolType, EnumType, BLOBType, StringType, TupleOf, ArrayOf, StructOf -from secop.lib.enum import Enum -from secop.modules import Module, Readable, Writable, Drivable, Communicator, Attached -from secop.properties import Property -from secop.params import Parameter, Command, Override -from secop.metaclass import Done +from secop.datatypes import ArrayOf, BLOBType, BoolType, EnumType, \ + FloatRange, IntRange, ScaledInteger, StringType, StructOf, TupleOf from secop.iohandler import IOHandler, IOHandlerBase -from secop.stringio import StringIO, HasIodev -from secop.proxy import SecNode, Proxy, proxy_class -from secop.poller import AUTO, REGULAR, SLOW, DYNAMIC +from secop.lib.enum import Enum +from secop.modules import Attached, Communicator, \ + Done, Drivable, Module, Readable, Writable +from secop.params import Command, Parameter +from secop.poller import AUTO, DYNAMIC, REGULAR, SLOW +from secop.properties import Property +from secop.proxy import Proxy, SecNode, proxy_class +from secop.stringio import HasIodev, StringIO diff --git a/secop/datatypes.py b/secop/datatypes.py index 54a2293..93c9b46 100644 --- a/secop/datatypes.py +++ b/secop/datatypes.py @@ -28,13 +28,13 @@ import sys from base64 import b64decode, b64encode -from secop.errors import ProgrammingError, ProtocolError, BadValueError, ConfigError +from secop.errors import BadValueError, \ + ConfigError, ProgrammingError, ProtocolError from secop.lib import clamp from secop.lib.enum import Enum from secop.parse import Parser from secop.properties import HasProperties, Property - # Only export these classes for 'from secop.datatypes import *' __all__ = [ 'DataType', 'get_datatype', @@ -53,6 +53,7 @@ UNLIMITED = 1 << 64 # internal limit for integers, is probably high enough for Parser = Parser() +# base class for all DataTypes class DataType(HasProperties): """base class for all data types""" IS_COMMAND = False @@ -97,7 +98,7 @@ class DataType(HasProperties): def set_properties(self, **kwds): """init datatype properties""" try: - for k,v in kwds.items(): + for k, v in kwds.items(): self.setProperty(k, v) self.checkProperties() except Exception as e: @@ -126,10 +127,6 @@ class DataType(HasProperties): """ raise NotImplementedError - def short_doc(self): - """short description for automatic extension of doc strings""" - return None - class Stub(DataType): """incomplete datatype, to be replaced with a proper one later during module load @@ -154,42 +151,35 @@ class Stub(DataType): """ for dtcls in globals().values(): if isinstance(dtcls, type) and issubclass(dtcls, DataType): - for prop in dtcls.properties.values(): + for prop in dtcls.propertyDict.values(): stub = prop.datatype if isinstance(stub, cls): prop.datatype = globals()[stub.name](*stub.args) - def short_doc(self): - return self.name.replace('Type', '').replace('Range', '').lower() - # SECoP types: - class FloatRange(DataType): """(restricted) float type :param minval: (property **min**) :param maxval: (property **max**) - :param properties: any of the properties below + :param kwds: any of the properties below """ + min = Property('low limit', Stub('FloatRange'), extname='min', default=-sys.float_info.max) + max = Property('high limit', Stub('FloatRange'), extname='max', default=sys.float_info.max) + unit = Property('physical unit', Stub('StringType'), extname='unit', default='') + fmtstr = Property('format string', Stub('StringType'), extname='fmtstr', default='%g') + absolute_resolution = Property('absolute resolution', Stub('FloatRange', 0), + extname='absolute_resolution', default=0.0) + relative_resolution = Property('relative resolution', Stub('FloatRange', 0), + extname='relative_resolution', default=1.2e-7) - properties = { - 'min': Property('low limit', Stub('FloatRange'), extname='min', default=-sys.float_info.max), - 'max': Property('high limit', Stub('FloatRange'), extname='max', default=sys.float_info.max), - 'unit': Property('physical unit', Stub('StringType'), extname='unit', default=''), - 'fmtstr': Property('format string', Stub('StringType'), extname='fmtstr', default='%g'), - 'absolute_resolution': Property('absolute resolution', Stub('FloatRange', 0), - extname='absolute_resolution', default=0.0), - 'relative_resolution': Property('relative resolution', Stub('FloatRange', 0), - extname='relative_resolution', default=1.2e-7), - } - - def __init__(self, minval=None, maxval=None, **properties): + def __init__(self, minval=None, maxval=None, **kwds): super().__init__() - properties['min'] = minval if minval is not None else -sys.float_info.max - properties['max'] = maxval if maxval is not None else sys.float_info.max - self.set_properties(**properties) + kwds['min'] = minval if minval is not None else -sys.float_info.max + kwds['max'] = maxval if maxval is not None else sys.float_info.max + self.set_properties(**kwds) def checkProperties(self): self.default = 0 if self.min <= 0 <= self.max else self.min @@ -213,7 +203,7 @@ class FloatRange(DataType): if self.min - prec <= value <= self.max + prec: return min(max(value, self.min), self.max) raise BadValueError('%.14g should be a float between %.14g and %.14g' % - (value, self.min, self.max)) + (value, self.min, self.max)) def __repr__(self): hints = self.get_info() @@ -221,7 +211,7 @@ class FloatRange(DataType): hints['minval'] = hints.pop('min') if 'max' in hints: hints['maxval'] = hints.pop('max') - return 'FloatRange(%s)' % (', '.join('%s=%r' % (k,v) for k,v in hints.items())) + return 'FloatRange(%s)' % (', '.join('%s=%r' % (k, v) for k, v in hints.items())) def export_value(self, value): """returns a python object fit for serialisation""" @@ -249,9 +239,6 @@ class FloatRange(DataType): other(max(sys.float_info.min, self.min)) other(min(sys.float_info.max, self.max)) - def short_doc(self): - return 'float' - class IntRange(DataType): """restricted int type @@ -259,12 +246,10 @@ class IntRange(DataType): :param minval: (property **min**) :param maxval: (property **max**) """ - properties = { - 'min': Property('minimum value', Stub('IntRange', -UNLIMITED, UNLIMITED), extname='min', mandatory=True), - 'max': Property('maximum value', Stub('IntRange', -UNLIMITED, UNLIMITED), extname='max', mandatory=True), - # a unit on an int is now allowed in SECoP, but do we need them in Frappy? - # 'unit': Property('physical unit', StringType(), extname='unit', default=''), - } + min = Property('minimum value', Stub('IntRange', -UNLIMITED, UNLIMITED), extname='min', mandatory=True) + max = Property('maximum value', Stub('IntRange', -UNLIMITED, UNLIMITED), extname='max', mandatory=True) + # a unit on an int is now allowed in SECoP, but do we need them in Frappy? + # unit = Property('physical unit', StringType(), extname='unit', default='') def __init__(self, minval=None, maxval=None): super().__init__() @@ -290,7 +275,12 @@ class IntRange(DataType): raise BadValueError('Can not convert %r to int' % value) def __repr__(self): - return 'IntRange(%d, %d)' % (self.min, self.max) + args = (self.min, self.max) + if args[1] == DEFAULT_MAX_INT: + args = args[:1] + if args[0] == DEFAULT_MIN_INT: + args = () + return 'IntRange%s' % repr(args) def export_value(self, value): """returns a python object fit for serialisation""" @@ -316,48 +306,38 @@ class IntRange(DataType): for i in range(self.min, self.max + 1): other(i) - def short_doc(self): - return 'int' - class ScaledInteger(DataType): """scaled integer (= fixed resolution float) type - | In general *ScaledInteger* is needed only in special cases, - e.g. when the a SEC node is running on very limited hardware - without floating point support. - | Please use *FloatRange* instead. - :param minval: (property **min**) :param maxval: (property **max**) - :param properties: any of the properties below + :param kwds: any of the properties below - {properties} - :note: - limits are for the scaled float value - - the scale is only used for calculating to/from transport serialisation + note: limits are for the scaled float value + the scale is only used for calculating to/from transport serialisation """ - properties = { - 'scale': Property('scale factor', FloatRange(sys.float_info.min), extname='scale', mandatory=True), - 'min': Property('low limit', FloatRange(), extname='min', mandatory=True), - 'max': Property('high limit', FloatRange(), extname='max', mandatory=True), - 'unit': Property('physical unit', Stub('StringType'), extname='unit', default=''), - 'fmtstr': Property('format string', Stub('StringType'), extname='fmtstr', default='%g'), - 'absolute_resolution': Property('absolute resolution', FloatRange(0), - extname='absolute_resolution', default=0.0), - 'relative_resolution': Property('relative resolution', FloatRange(0), - extname='relative_resolution', default=1.2e-7), - } + scale = Property('scale factor', FloatRange(sys.float_info.min), extname='scale', mandatory=True) + min = Property('low limit', FloatRange(), extname='min', mandatory=True) + max = Property('high limit', FloatRange(), extname='max', mandatory=True) + unit = Property('physical unit', Stub('StringType'), extname='unit', default='') + fmtstr = Property('format string', Stub('StringType'), extname='fmtstr', default='%g') + absolute_resolution = Property('absolute resolution', FloatRange(0), + extname='absolute_resolution', default=0.0) + relative_resolution = Property('relative resolution', FloatRange(0), + extname='relative_resolution', default=1.2e-7) - def __init__(self, scale, minval=None, maxval=None, absolute_resolution=None, **properties): + def __init__(self, scale, minval=None, maxval=None, absolute_resolution=None, **kwds): super().__init__() scale = float(scale) if absolute_resolution is None: absolute_resolution = scale - self.set_properties(scale=scale, + self.set_properties( + scale=scale, min=DEFAULT_MIN_INT * scale if minval is None else float(minval), max=DEFAULT_MAX_INT * scale if maxval is None else float(maxval), absolute_resolution=absolute_resolution, - **properties) + **kwds) def checkProperties(self): self.default = 0 if self.min <= 0 <= self.max else self.min @@ -384,8 +364,8 @@ class ScaledInteger(DataType): def export_datatype(self): return self.get_info(type='scaled', - min = int((self.min + self.scale * 0.5) // self.scale), - max = int((self.max + self.scale * 0.5) // self.scale)) + min=int((self.min + self.scale * 0.5) // self.scale), + max=int((self.max + self.scale * 0.5) // self.scale)) def __call__(self, value): try: @@ -398,15 +378,15 @@ class ScaledInteger(DataType): value = min(max(value, self.min), self.max) else: raise BadValueError('%g should be a float between %g and %g' % - (value, self.min, self.max)) + (value, self.min, self.max)) intval = int((value + self.scale * 0.5) // self.scale) value = float(intval * self.scale) return value # return 'actual' value (which is more discrete than a float) def __repr__(self): hints = self.get_info(scale=float('%g' % self.scale), - min = int((self.min + self.scale * 0.5) // self.scale), - max = int((self.max + self.scale * 0.5) // self.scale)) + min=int((self.min + self.scale * 0.5) // self.scale), + max=int((self.max + self.scale * 0.5) // self.scale)) return 'ScaledInteger(%s)' % (', '.join('%s=%r' % kv for kv in hints.items())) def export_value(self, value): @@ -435,25 +415,19 @@ class ScaledInteger(DataType): other(self.min) other(self.max) - def short_doc(self): - return 'float' - class EnumType(DataType): """enumeration :param enum_or_name: the name of the Enum or an Enum to inherit from - :param members: each argument denotes = - - exception: use members= to add members from a dict + :param members: members dict or None when using kwds only + :param kwds: (additional) members """ - def __init__(self, enum_or_name='', **members): + def __init__(self, enum_or_name='', *, members=None, **kwds): super().__init__() - if 'members' in members: - members = dict(members) - members.update(members['members']) - members.pop('members') - self._enum = Enum(enum_or_name, **members) + if members is not None: + kwds.update(members) + self._enum = Enum(enum_or_name, **kwds) self.default = self._enum[self._enum.members[0]] def copy(self): @@ -461,10 +435,11 @@ class EnumType(DataType): return EnumType(self._enum) def export_datatype(self): - return {'type': 'enum', 'members':dict((m.name, m.value) for m in self._enum.members)} + return {'type': 'enum', 'members': dict((m.name, m.value) for m in self._enum.members)} def __repr__(self): - return "EnumType(%r, %s)" % (self._enum.name, ', '.join('%s=%d' %(m.name, m.value) for m in self._enum.members)) + return "EnumType(%r, %s)" % (self._enum.name, + ', '.join('%s=%d' % (m.name, m.value) for m in self._enum.members)) def export_value(self, value): """returns a python object fit for serialisation""" @@ -478,7 +453,7 @@ class EnumType(DataType): """return the validated (internal) value or raise""" try: return self._enum[value] - except (KeyError, TypeError): # TypeError will be raised when value is not hashable + except (KeyError, TypeError): # TypeError will be raised when value is not hashable raise BadValueError('%r is not a member of enum %r' % (value, self._enum)) def from_string(self, text): @@ -487,25 +462,24 @@ class EnumType(DataType): def format_value(self, value, unit=None): return '%s<%s>' % (self._enum[value].name, self._enum[value].value) + def set_name(self, name): + self._enum.name = name + def compatible(self, other): for m in self._enum.members: other(m) - def short_doc(self): - return 'one of %s' % str(tuple(self._enum.keys())) - class BLOBType(DataType): """binary large object internally treated as bytes """ - properties = { - 'minbytes': Property('minimum number of bytes', IntRange(0), extname='minbytes', - default=0), - 'maxbytes': Property('maximum number of bytes', IntRange(0), extname='maxbytes', - mandatory=True), - } + + minbytes = Property('minimum number of bytes', IntRange(0), extname='minbytes', + default=0) + maxbytes = Property('maximum number of bytes', IntRange(0), extname='maxbytes', + mandatory=True) def __init__(self, minbytes=0, maxbytes=None): super().__init__() @@ -565,21 +539,20 @@ class BLOBType(DataType): class StringType(DataType): """string + for parameters see properties below """ - properties = { - 'minchars': Property('minimum number of character points', IntRange(0, UNLIMITED), - extname='minchars', default=0), - 'maxchars': Property('maximum number of character points', IntRange(0, UNLIMITED), - extname='maxchars', default=UNLIMITED), - 'isUTF8': Property('flag telling whether encoding is UTF-8 instead of ASCII', - Stub('BoolType'), extname='isUTF8', default=False), - } + minchars = Property('minimum number of character points', IntRange(0, UNLIMITED), + extname='minchars', default=0) + maxchars = Property('maximum number of character points', IntRange(0, UNLIMITED), + extname='maxchars', default=UNLIMITED) + isUTF8 = Property('flag telling whether encoding is UTF-8 instead of ASCII', + Stub('BoolType'), extname='isUTF8', default=False) - def __init__(self, minchars=0, maxchars=None, isUTF8=False): + def __init__(self, minchars=0, maxchars=None, **kwds): super().__init__() if maxchars is None: maxchars = minchars or UNLIMITED - self.set_properties(minchars=minchars, maxchars=maxchars, isUTF8=isUTF8) + self.set_properties(minchars=minchars, maxchars=maxchars, **kwds) def checkProperties(self): self.default = ' ' * self.minchars @@ -635,24 +608,13 @@ class StringType(DataType): except AttributeError: raise BadValueError('incompatible datatypes') - def short_doc(self): - return 'str' - # TextType is a special StringType intended for longer texts (i.e. embedding \n), # whereas StringType is supposed to not contain '\n' # unfortunately, SECoP makes no distinction here.... -# note: content is supposed to follow the format of a git commit message, i.e. a line of text, 2 '\n' + a longer explanation +# note: content is supposed to follow the format of a git commit message, +# i.e. a line of text, 2 '\n' + a longer explanation class TextType(StringType): - """special string type, intended for longer texts - - :param maxchars: maximum number of characters - - whereas StringType is supposed to not contain '\n' - unfortunately, SECoP makes no distinction here.... - note: content is supposed to follow the format of a git commit message, - i.e. a line of text, 2 '\n' + a longer explanation - """ def __init__(self, maxchars=None): if maxchars is None: maxchars = UNLIMITED @@ -661,7 +623,7 @@ class TextType(StringType): def __repr__(self): if self.maxchars == UNLIMITED: return 'TextType()' - return 'TextType(%d)' % (self.maxchars) + return 'TextType(%d)' % self.maxchars def copy(self): # DataType.copy will not work, because it is exported as 'string' @@ -669,9 +631,7 @@ class TextType(StringType): class BoolType(DataType): - """boolean - - """ + """boolean""" default = False def export_datatype(self): @@ -707,9 +667,6 @@ class BoolType(DataType): other(False) other(True) - def short_doc(self): - return 'bool' - Stub.fix_datatypes() @@ -721,14 +678,12 @@ Stub.fix_datatypes() class ArrayOf(DataType): """data structure with fields of homogeneous type - :param members: the datatype for all elements + :param members: the datatype of the elements """ - properties = { - 'minlen': Property('minimum number of elements', IntRange(0), extname='minlen', - default=0), - 'maxlen': Property('maximum number of elements', IntRange(0), extname='maxlen', - mandatory=True), - } + minlen = Property('minimum number of elements', IntRange(0), extname='minlen', + default=0) + maxlen = Property('maximum number of elements', IntRange(0), extname='maxlen', + mandatory=True) def __init__(self, members, minlen=0, maxlen=None): super().__init__() @@ -759,14 +714,14 @@ class ArrayOf(DataType): def setProperty(self, key, value): """set also properties of members""" - if key in self.__class__.properties: + if key in self.propertyDict: super().setProperty(key, value) else: self.members.setProperty(key, value) def export_datatype(self): return dict(type='array', minlen=self.minlen, maxlen=self.maxlen, - members=self.members.export_datatype()) + members=self.members.export_datatype()) def __repr__(self): return 'ArrayOf(%s, %s, %s)' % ( @@ -818,16 +773,12 @@ class ArrayOf(DataType): except AttributeError: raise BadValueError('incompatible datatypes') - def short_doc(self): - return 'array of %s' % self.members.short_doc() - class TupleOf(DataType): """data structure with fields of inhomogeneous type - :param members: each argument is a datatype of an element + types are given as positional arguments """ - def __init__(self, *members): super().__init__() if not members: @@ -855,11 +806,10 @@ class TupleOf(DataType): try: if len(value) != len(self.members): raise BadValueError( - 'Illegal number of Arguments! Need %d arguments.' % - (len(self.members))) + 'Illegal number of Arguments! Need %d arguments.' % len(self.members)) # validate elements and return as list return tuple(sub(elem) - for sub, elem in zip(self.members, value)) + for sub, elem in zip(self.members, value)) except Exception as exc: raise BadValueError('Can not validate:', str(exc)) @@ -879,19 +829,16 @@ class TupleOf(DataType): def format_value(self, value, unit=None): return '(%s)' % (', '.join([sub.format_value(elem) - for sub, elem in zip(self.members, value)])) + for sub, elem in zip(self.members, value)])) def compatible(self, other): if not isinstance(other, TupleOf): raise BadValueError('incompatible datatypes') - if len(self.members) != len(other.members) : + if len(self.members) != len(other.members): raise BadValueError('incompatible datatypes') for a, b in zip(self.members, other.members): a.compatible(b) - def short_doc(self): - return 'tuple of (%s)' % ', '.join(m.short_doc() for m in self.members) - class ImmutableDict(dict): def _no(self, *args, **kwds): @@ -902,8 +849,8 @@ class ImmutableDict(dict): class StructOf(DataType): """data structure with named fields - :param optional: (*sequence*) optional members - :param members: each argument denotes = + :param optional: a list of optional members + :param members: names as keys and types as values for all members """ def __init__(self, optional=None, **members): super().__init__() @@ -919,15 +866,15 @@ class StructOf(DataType): if name not in members: raise ProgrammingError( 'Only members of StructOf may be declared as optional!') - self.default = dict((k,el.default) for k, el in members.items()) + self.default = dict((k, el.default) for k, el in members.items()) def copy(self): """DataType.copy does not work when members contain enums""" - return StructOf(self.optional, **{k: v.copy() for k,v in self.members.items()}) + return StructOf(self.optional, **{k: v.copy() for k, v in self.members.items()}) def export_datatype(self): res = dict(type='struct', members=dict((n, s.export_datatype()) - for n, s in list(self.members.items()))) + for n, s in list(self.members.items()))) if self.optional: res['optional'] = self.optional return res @@ -979,18 +926,11 @@ class StructOf(DataType): except (AttributeError, TypeError, KeyError): raise BadValueError('incompatible datatypes') - def short_doc(self): - return 'dict' - class CommandType(DataType): """command a pseudo datatype for commands with arguments and return values - - :param argument: None or the data type of the argument. multiple arguments may be simulated - by TupleOf or StructOf - :param result: None or the data type of the result """ IS_COMMAND = True @@ -1049,16 +989,10 @@ class CommandType(DataType): except AttributeError: raise BadValueError('incompatible datatypes') - def short_doc(self): - argument = self.argument.short_doc() if self.argument else '' - result = ' -> %s' % self.argument.short_doc() if self.result else '' - return '(%s)%s' % (argument, result) # return argument list only - # internally used datatypes (i.e. only for programming the SEC-node) class DataTypeType(DataType): - """DataType type""" def __call__(self, value): """check if given value (a python obj) is a valid datatype @@ -1102,9 +1036,7 @@ class ValueType(DataType): class NoneOr(DataType): - """validates a None or other - - :param other: the other datatype""" + """validates a None or smth. else""" default = None def __init__(self, other): @@ -1119,16 +1051,8 @@ class NoneOr(DataType): return None return self.other.export_value(value) - def short_doc(self): - other = self.other.short_doc() - return '%s or None' % other if other else None - class OrType(DataType): - """validates one of the - - :param types: each argument denotes one allowed type - """ def __init__(self, *types): super().__init__() self.types = types @@ -1142,12 +1066,6 @@ class OrType(DataType): pass raise BadValueError("Invalid Value, must conform to one of %s" % (', '.join((str(t) for t in self.types)))) - def short_doc(self): - types = [t.short_doc() for t in self.types] - if None in types: - return None - return ' or '.join(types) - Int8 = IntRange(-(1 << 7), (1 << 7) - 1) Int16 = IntRange(-(1 << 15), (1 << 15) - 1) @@ -1161,12 +1079,6 @@ UInt64 = IntRange(0, (1 << 64) - 1) # Goodie: Convenience Datatypes for Programming class LimitsType(TupleOf): - """limit (min, max) tuple - - :param members: the type of both members - - checks for min <= max - """ def __init__(self, members): TupleOf.__init__(self, members, members) @@ -1178,22 +1090,13 @@ class LimitsType(TupleOf): class StatusType(TupleOf): - """SECoP status type - - :param enum: the status code enum type - - allows to access enum members directly - """ - + # shorten initialisation and allow access to status enumMembers from status values def __init__(self, enum): TupleOf.__init__(self, EnumType(enum), StringType()) - self.enum = enum + self._enum = enum def __getattr__(self, key): - enum = TupleOf.__getattr__(self, 'enum') - if hasattr(enum, key): - return getattr(enum, key) - return TupleOf.__getattr__(self, key) + return getattr(self._enum, key) def floatargs(kwds): diff --git a/secop/errors.py b/secop/errors.py index 6d652a1..53300e7 100644 --- a/secop/errors.py +++ b/secop/errors.py @@ -22,7 +22,6 @@ """Define (internal) SECoP Errors""" - class SECoPError(RuntimeError): def __init__(self, *args, **kwds): @@ -138,12 +137,6 @@ def secop_error(exception): return InternalError(repr(exception)) -def fmt_error(exception): - if isinstance(exception, SECoPError): - return str(exception) - return repr(exception) - - EXCEPTIONS = dict( NoSuchModule=NoSuchModuleError, NoSuchParameter=NoSuchParameterError, diff --git a/secop/features.py b/secop/features.py index 8eb9d11..522ac53 100644 --- a/secop/features.py +++ b/secop/features.py @@ -24,11 +24,10 @@ from secop.datatypes import ArrayOf, BoolType, EnumType, \ FloatRange, StringType, StructOf, TupleOf -from secop.metaclass import ModuleMeta -from secop.modules import Command, Parameter +from secop.modules import Command, HasAccessibles, Parameter -class Feature(metaclass=ModuleMeta): +class Feature(HasAccessibles): """all things belonging to a small, predefined functionality influencing the working of a module""" @@ -39,33 +38,37 @@ class HAS_PID(Feature): # note: (i would still but them in the same group, though) # note: if extra elements are implemented in the pid struct they MUST BE # properly described in the description of the pid Parameter - parameters = { - 'use_pid' : Parameter('use the pid mode', datatype=EnumType(openloop=0, pid_control=1), ), - 'p' : Parameter('proportional part of the regulation', datatype=FloatRange(0), ), - 'i' : Parameter('(optional) integral part', datatype=FloatRange(0), optional=True), - 'd' : Parameter('(optional) derivative part', datatype=FloatRange(0), optional=True), - 'base_output' : Parameter('(optional) minimum output value', datatype=FloatRange(0), optional=True), - 'pid': Parameter('(optional) Struct of p,i,d, minimum output value', - datatype=StructOf(p=FloatRange(0), - i=FloatRange(0), - d=FloatRange(0), - base_output=FloatRange(0), - ), optional=True, - ), # note: struct may be extended with custom elements (names should be prefixed with '_') - 'output' : Parameter('(optional) output of pid-control', datatype=FloatRange(0), optional=True, readonly=False), - } + + # parameters + use_pid = Parameter('use the pid mode', datatype=EnumType(openloop=0, pid_control=1), ) + # pylint: disable=invalid-name + p = Parameter('proportional part of the regulation', datatype=FloatRange(0), ) + i = Parameter('(optional) integral part', datatype=FloatRange(0), optional=True) + d = Parameter('(optional) derivative part', datatype=FloatRange(0), optional=True) + base_output = Parameter('(optional) minimum output value', datatype=FloatRange(0), optional=True) + pid = Parameter('(optional) Struct of p,i,d, minimum output value', + datatype=StructOf(p=FloatRange(0), + i=FloatRange(0), + d=FloatRange(0), + base_output=FloatRange(0), + ), optional=True, + ) # note: struct may be extended with custom elements (names should be prefixed with '_') + output = Parameter('(optional) output of pid-control', datatype=FloatRange(0), optional=True, readonly=False) + class Has_PIDTable(HAS_PID): - parameters = { - 'use_pidtable' : Parameter('use the zoning mode', datatype=EnumType(fixed_pid=0, zone_mode=1)), - 'pidtable' : Parameter('Table of pid-values vs. target temperature', datatype=ArrayOf(TupleOf(FloatRange(0), - StructOf(p=FloatRange(0), - i=FloatRange(0), - d=FloatRange(0), - _heater_range=FloatRange(0), - _base_output=FloatRange(0),),),), optional=True), # struct may include 'heaterrange' - } + + # parameters + use_pidtable = Parameter('use the zoning mode', datatype=EnumType(fixed_pid=0, zone_mode=1)) + pidtable = Parameter('Table of pid-values vs. target temperature', datatype=ArrayOf(TupleOf(FloatRange(0), + StructOf(p=FloatRange(0), + i=FloatRange(0), + d=FloatRange(0), + _heater_range=FloatRange(0), + _base_output=FloatRange(0),),),), optional=True) # struct may include 'heaterrange' + + class HAS_Persistent(Feature): @@ -75,89 +78,98 @@ class HAS_Persistent(Feature): # 'coupled' : Status.BUSY+2, # to be discussed. # 'decoupling' : Status.BUSY+3, # to be discussed. #} - parameters = { - 'persistent_mode': Parameter('Use persistent mode', - datatype=EnumType(off=0,on=1), - default=0, readonly=False), - 'is_persistent': Parameter('current state of persistence', - datatype=BoolType(), optional=True), - 'stored_value': Parameter('current persistence value, often used as the modules value', - datatype='main', unit='$', optional=True), - 'driven_value': Parameter('driven value (outside value, syncs with stored_value if non-persistent)', - datatype='main', unit='$' ), - } + + # parameters + persistent_mode = Parameter('Use persistent mode', + datatype=EnumType(off=0,on=1), + default=0, readonly=False) + is_persistent = Parameter('current state of persistence', + datatype=BoolType(), optional=True) + stored_value = Parameter('current persistence value, often used as the modules value', + datatype='main', unit='$', optional=True) + driven_value = Parameter('driven value (outside value, syncs with stored_value if non-persistent)', + datatype='main', unit='$' ) + class HAS_Tolerance(Feature): # detects IDLE status by checking if the value lies in a given window: # tolerance is the maximum allowed deviation from target, value must lie in this interval # for at least ´timewindow´ seconds. - parameters = { - 'tolerance': Parameter('Half height of the Window', - datatype=FloatRange(0), default=1, unit='$'), - 'timewindow': Parameter('Length of the timewindow to check', - datatype=FloatRange(0), default=30, unit='s', - optional=True), - } + + # parameters + tolerance = Parameter('Half height of the Window', + datatype=FloatRange(0), default=1, unit='$') + timewindow = Parameter('Length of the timewindow to check', + datatype=FloatRange(0), default=30, unit='s', + optional=True) + class HAS_Timeout(Feature): - parameters = { - 'timeout': Parameter('timeout for movement', - datatype=FloatRange(0), default=0, unit='s'), - } + + # parameters + timeout = Parameter('timeout for movement', + datatype=FloatRange(0), default=0, unit='s') + class HAS_Pause(Feature): # just a proposal, can't agree on it.... - parameters = { - 'pause': Command('pauses movement', argument=None, result=None), - 'go': Command('continues movement or start a new one if target was change since the last pause', - argument=None, result=None), - } + + @Command(argument=None, result=None) + def pause(self): + """pauses movement""" + + @Command(argument=None, result=None) + def go(self): + """continues movement or start a new one if target was change since the last pause""" class HAS_Ramp(Feature): - parameters = { - 'ramp': Parameter('speed of movement', unit='$/min', - datatype=FloatRange(0)), - 'use_ramp': Parameter('use the ramping of the setpoint, or jump', - datatype=EnumType(disable_ramp=0, use_ramp=1), - optional=True), - 'setpoint': Parameter('currently active setpoint', - datatype=FloatRange(0), unit='$', - readonly=True, ), - } + + # parameters + ramp =Parameter('speed of movement', unit='$/min', + datatype=FloatRange(0)) + use_ramp = Parameter('use the ramping of the setpoint, or jump', + datatype=EnumType(disable_ramp=0, use_ramp=1), + optional=True) + setpoint = Parameter('currently active setpoint', + datatype=FloatRange(0), unit='$', + readonly=True, ) + class HAS_Speed(Feature): - parameters = { - 'speed' : Parameter('(maximum) speed of movement (of the main value)', - unit='$/s', datatype=FloatRange(0)), - } + + # parameters + speed = Parameter('(maximum) speed of movement (of the main value)', + unit='$/s', datatype=FloatRange(0)) + class HAS_Accel(HAS_Speed): - parameters = { - 'accel' : Parameter('acceleration of movement', unit='$/s^2', - datatype=FloatRange(0)), - 'decel' : Parameter('deceleration of movement', unit='$/s^2', - datatype=FloatRange(0), optional=True), - } + + # parameters + accel = Parameter('acceleration of movement', unit='$/s^2', + datatype=FloatRange(0)) + decel = Parameter('deceleration of movement', unit='$/s^2', + datatype=FloatRange(0), optional=True) + class HAS_MotorCurrents(Feature): - parameters = { - 'movecurrent' : Parameter('Current while moving', - datatype=FloatRange(0)), - 'idlecurrent' : Parameter('Current while idle', - datatype=FloatRange(0), optional=True), - } + + # parameters + movecurrent = Parameter('Current while moving', + datatype=FloatRange(0)) + idlecurrent = Parameter('Current while idle', + datatype=FloatRange(0), optional=True) + class HAS_Curve(Feature): # proposed, not yet agreed upon! - parameters = { - 'curve' : Parameter('Calibration curve', datatype=StringType(80), default=''), - # XXX: tbd. (how to upload/download/select a curve?) - } + + # parameters + curve = Parameter('Calibration curve', datatype=StringType(80), default='') diff --git a/secop/gui/cfg_editor/config_file.py b/secop/gui/cfg_editor/config_file.py index a707231..3418e12 100644 --- a/secop/gui/cfg_editor/config_file.py +++ b/secop/gui/cfg_editor/config_file.py @@ -21,13 +21,13 @@ # ***************************************************************************** import configparser -from configparser import NoOptionError from collections import OrderedDict -from secop.gui.cfg_editor.tree_widget_item import TreeWidgetItem -from secop.gui.cfg_editor.utils import get_all_items, get_params, get_props,\ - get_all_children_with_names, get_module_class_from_name, \ - get_interface_class_from_name +from configparser import NoOptionError +from secop.gui.cfg_editor.tree_widget_item import TreeWidgetItem +from secop.gui.cfg_editor.utils import get_all_children_with_names, \ + get_all_items, get_interface_class_from_name, \ + get_module_class_from_name, get_params, get_props NODE = 'node' INTERFACE = 'interface' @@ -58,7 +58,7 @@ def write_config(file_name, tree_widget): value = value.replace('\n\n', '\n.\n') value = value.replace('\n', '\n ') itm_lines[id(itm)] = '[%s %s]\n' % (itm.kind, itm.name) +\ - value_str % (SECTIONS[itm.kind], value) + value_str % (SECTIONS[itm.kind], value) # TODO params and props elif itm.kind == PARAMETER and value: itm_lines[id(itm)] = value_str % (itm.name, value) @@ -142,7 +142,7 @@ def read_config(file_path): else: param.addChild(TreeWidgetItem(PROPERTY, separated[1], get_value(config, section, - option))) + option))) node = get_comments(node, ifs, mods, file_path) return node, ifs, mods diff --git a/secop/gui/cfg_editor/mainwindow.py b/secop/gui/cfg_editor/mainwindow.py index 66284b6..099686c 100644 --- a/secop/gui/cfg_editor/mainwindow.py +++ b/secop/gui/cfg_editor/mainwindow.py @@ -21,11 +21,11 @@ # ***************************************************************************** import os -from secop.gui.qt import QMainWindow, QMessageBox -from secop.gui.cfg_editor.node_display import NodeDisplay -from secop.gui.cfg_editor.utils import loadUi, get_file_paths -from secop.gui.cfg_editor.widgets import TabBar +from secop.gui.cfg_editor.node_display import NodeDisplay +from secop.gui.cfg_editor.utils import get_file_paths, loadUi +from secop.gui.cfg_editor.widgets import TabBar +from secop.gui.qt import QMainWindow, QMessageBox # TODO move secop mainwinodw to gui/client and all specific stuff NODE = 'node' diff --git a/secop/gui/cfg_editor/node_display.py b/secop/gui/cfg_editor/node_display.py index 4b80833..300d55c 100644 --- a/secop/gui/cfg_editor/node_display.py +++ b/secop/gui/cfg_editor/node_display.py @@ -20,8 +20,8 @@ # # ***************************************************************************** -from secop.gui.qt import QWidget, Qt, QHBoxLayout, QSpacerItem, QSizePolicy from secop.gui.cfg_editor.utils import loadUi +from secop.gui.qt import QHBoxLayout, QSizePolicy, QSpacerItem, Qt, QWidget class NodeDisplay(QWidget): diff --git a/secop/gui/cfg_editor/tree_widget_item.py b/secop/gui/cfg_editor/tree_widget_item.py index 72bf728..948d891 100644 --- a/secop/gui/cfg_editor/tree_widget_item.py +++ b/secop/gui/cfg_editor/tree_widget_item.py @@ -20,10 +20,11 @@ # # ***************************************************************************** -from secop.gui.qt import QTreeWidgetItem, QFont, QWidget, QVBoxLayout, QLabel, \ - QHBoxLayout, QPushButton, QSize, QSizePolicy, QDialog, QTextEdit, pyqtSignal -from secop.gui.cfg_editor.utils import setTreeIcon, setIcon, loadUi, \ - set_name_edit_style +from secop.gui.cfg_editor.utils import loadUi, \ + set_name_edit_style, setIcon, setTreeIcon +from secop.gui.qt import QDialog, QFont, QHBoxLayout, \ + QLabel, QPushButton, QSize, QSizePolicy, QTextEdit, \ + QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal from secop.gui.valuewidgets import get_widget from secop.properties import Property diff --git a/secop/gui/cfg_editor/utils.py b/secop/gui/cfg_editor/utils.py index 1aa4b42..d85ee96 100644 --- a/secop/gui/cfg_editor/utils.py +++ b/secop/gui/cfg_editor/utils.py @@ -20,15 +20,16 @@ # # ***************************************************************************** -from os import path, listdir -import sys import inspect -from secop.gui.qt import uic, QIcon, QSize, QFileDialog, QDialogButtonBox -from secop.server import getGeneralConfig +import sys +from os import listdir, path + +from secop.gui.qt import QDialogButtonBox, QFileDialog, QIcon, QSize, uic from secop.modules import Module from secop.params import Parameter from secop.properties import Property from secop.protocol.interface.tcp import TCPServer +from secop.server import getGeneralConfig uipath = path.dirname(__file__) diff --git a/secop/gui/cfg_editor/widgets.py b/secop/gui/cfg_editor/widgets.py index 46c325c..577ac29 100644 --- a/secop/gui/cfg_editor/widgets.py +++ b/secop/gui/cfg_editor/widgets.py @@ -23,15 +23,15 @@ import os -from secop.gui.cfg_editor.config_file import write_config, read_config +from secop.gui.cfg_editor.config_file import read_config, write_config from secop.gui.cfg_editor.tree_widget_item import TreeWidgetItem -from secop.gui.cfg_editor.utils import get_file_paths, get_modules, \ - get_interfaces, loadUi, set_name_edit_style, get_module_class_from_name, \ - get_all_items, get_interface_class_from_name, get_params, get_props, \ - setActionIcon -from secop.gui.qt import QWidget, QDialog, QLabel, QTabBar, Qt, QPoint, QMenu, \ - QTreeWidget, QSize, pyqtSignal, QLineEdit, QComboBox, QDialogButtonBox, \ - QTextEdit, QTreeView, QStandardItemModel, QStandardItem +from secop.gui.cfg_editor.utils import get_all_items, \ + get_file_paths, get_interface_class_from_name, get_interfaces, \ + get_module_class_from_name, get_modules, get_params, \ + get_props, loadUi, set_name_edit_style, setActionIcon +from secop.gui.qt import QComboBox, QDialog, QDialogButtonBox, QLabel, \ + QLineEdit, QMenu, QPoint, QSize, QStandardItem, QStandardItemModel, \ + Qt, QTabBar, QTextEdit, QTreeView, QTreeWidget, QWidget, pyqtSignal NODE = 'node' MODULE = 'module' diff --git a/secop/gui/mainwindow.py b/secop/gui/mainwindow.py index b8b69e7..3399eba 100644 --- a/secop/gui/mainwindow.py +++ b/secop/gui/mainwindow.py @@ -26,9 +26,9 @@ import secop.client from secop.gui.modulectrl import ModuleCtrl from secop.gui.nodectrl import NodeCtrl from secop.gui.paramview import ParameterView -from secop.gui.qt import QInputDialog, QMainWindow, QMessageBox, \ - QObject, QTreeWidgetItem, pyqtSignal, pyqtSlot, QBrush, QColor -from secop.gui.util import loadUi, Value +from secop.gui.qt import QBrush, QColor, QInputDialog, QMainWindow, \ + QMessageBox, QObject, QTreeWidgetItem, pyqtSignal, pyqtSlot +from secop.gui.util import Value, loadUi from secop.lib import formatExtendedTraceback ITEM_TYPE_NODE = QTreeWidgetItem.UserType + 1 @@ -90,7 +90,7 @@ class QSECNode(QObject): def queryCache(self, module): return {k: Value(*self.conn.cache[(module, k)]) - for k in self.modules[module]['parameters']} + for k in self.modules[module]['parameters']} def syncCommunicate(self, action, ident='', data=None): reply = self.conn.request(action, ident, data) diff --git a/secop/gui/modulectrl.py b/secop/gui/modulectrl.py index 700e25b..4c54d86 100644 --- a/secop/gui/modulectrl.py +++ b/secop/gui/modulectrl.py @@ -36,19 +36,19 @@ class CommandDialog(QDialog): loadUi(self, 'cmddialog.ui') self.setWindowTitle('Arguments for %s' % cmdname) - #row = 0 + # row = 0 self._labels = [] self.widgets = [] # improve! recursive? dtype = argument - l = QLabel(repr(dtype)) - l.setWordWrap(True) - w = get_widget(dtype, readonly=False) - self.gridLayout.addWidget(l, 0, 0) - self.gridLayout.addWidget(w, 0, 1) - self._labels.append(l) - self.widgets.append(w) + label = QLabel(repr(dtype)) + label.setWordWrap(True) + widget = get_widget(dtype, readonly=False) + self.gridLayout.addWidget(label, 0, 0) + self.gridLayout.addWidget(widget, 0, 1) + self._labels.append(label) + self.widgets.append(widget) self.gridLayout.setRowStretch(1, 1) self.setModal(True) diff --git a/secop/gui/nodectrl.py b/secop/gui/nodectrl.py index e6d0278..af6d3da 100644 --- a/secop/gui/nodectrl.py +++ b/secop/gui/nodectrl.py @@ -25,14 +25,15 @@ import json import pprint from time import sleep + import mlzlog +import secop.lib from secop.datatypes import EnumType, StringType from secop.errors import SECoPError from secop.gui.qt import QFont, QFontMetrics, QLabel, \ QMessageBox, QTextCursor, QWidget, pyqtSlot, toHtmlEscaped -from secop.gui.util import loadUi, Value -import secop.lib +from secop.gui.util import Value, loadUi class NodeCtrl(QWidget): @@ -167,7 +168,6 @@ class NodeCtrl(QWidget): print(secop.lib.formatExtendedTraceback()) widget = QLabel('Bad configured Module %s! (%s)' % (modname, e)) - if unit: labelstr = '%s (%s):' % (modname, unit) else: @@ -289,7 +289,7 @@ class DrivableWidget(ReadableWidget): def update_current(self, value): self.currentLineEdit.setText(str(value)) - #elif self._is_enum: + # elif self._is_enum: # member = self._map[self._revmap[value.value]] # self.currentLineEdit.setText('%s.%s (%d)' % (member.enum.name, member.name, member.value)) diff --git a/secop/gui/params/__init__.py b/secop/gui/params/__init__.py index 18fc959..92e5584 100644 --- a/secop/gui/params/__init__.py +++ b/secop/gui/params/__init__.py @@ -22,12 +22,9 @@ # ***************************************************************************** -from secop.datatypes import EnumType, FloatRange, IntRange -from secop.gui.qt import QPushButton as QButton -from secop.gui.qt import QCheckBox, QLabel, QLineEdit, \ - QMessageBox, QSizePolicy, Qt, QWidget, pyqtSignal, pyqtSlot +from secop.datatypes import EnumType +from secop.gui.qt import QWidget, pyqtSignal, pyqtSlot from secop.gui.util import loadUi -from secop.lib import formatExtendedStack class ParameterWidget(QWidget): diff --git a/secop/gui/util.py b/secop/gui/util.py index 4e24b62..e908733 100644 --- a/secop/gui/util.py +++ b/secop/gui/util.py @@ -32,6 +32,7 @@ uipath = path.dirname(__file__) def loadUi(widget, uiname, subdir='ui'): uic.loadUi(path.join(uipath, subdir, uiname), widget) + class Value: def __init__(self, value, timestamp=None, readerror=None): self.value = value diff --git a/secop/gui/valuewidgets.py b/secop/gui/valuewidgets.py index 43ff3d5..856e6bb 100644 --- a/secop/gui/valuewidgets.py +++ b/secop/gui/valuewidgets.py @@ -23,12 +23,13 @@ from secop.datatypes import ArrayOf, BLOBType, BoolType, EnumType, \ - FloatRange, IntRange, StringType, StructOf, TupleOf, TextType -from secop.gui.qt import QCheckBox, QComboBox, QDialog, QDoubleSpinBox, \ - QFrame, QGridLayout, QGroupBox, QLabel, QLineEdit, QSpinBox, QVBoxLayout, \ - QTextEdit + FloatRange, IntRange, StringType, StructOf, TextType, TupleOf +from secop.gui.qt import QCheckBox, QComboBox, QDialog, \ + QDoubleSpinBox, QFrame, QGridLayout, QGroupBox, \ + QLabel, QLineEdit, QSpinBox, QTextEdit, QVBoxLayout from secop.gui.util import loadUi + # XXX: implement live validators !!!! # XXX: signals upon change of value # XXX: honor readonly in all cases! @@ -171,12 +172,12 @@ class StructWidget(QGroupBox): self._labels = [] for idx, name in enumerate(sorted(datatype.members)): dt = datatype.members[name] - w = get_widget(dt, readonly=readonly, parent=self) - l = QLabel(name) - self.layout.addWidget(l, idx, 0) - self.layout.addWidget(w, idx, 1) - self._labels.append(l) - self.subwidgets[name] = (w, dt) + widget = get_widget(dt, readonly=readonly, parent=self) + label = QLabel(name) + self.layout.addWidget(label, idx, 0) + self.layout.addWidget(widget, idx, 1) + self._labels.append(label) + self.subwidgets[name] = (widget, dt) self.datatypes.append(dt) self.setLayout(self.layout) @@ -215,21 +216,22 @@ class ArrayWidget(QGroupBox): w.set_value(v) - def get_widget(datatype, readonly=False, parent=None): - return {FloatRange: FloatWidget, - IntRange: IntWidget, - StringType: StringWidget, - TextType: TextWidget, - BLOBType: BlobWidget, - EnumType: EnumWidget, - BoolType: BoolWidget, - TupleOf: TupleWidget, - StructOf: StructWidget, - ArrayOf: ArrayWidget, + return { + FloatRange: FloatWidget, + IntRange: IntWidget, + StringType: StringWidget, + TextType: TextWidget, + BLOBType: BlobWidget, + EnumType: EnumWidget, + BoolType: BoolWidget, + TupleOf: TupleWidget, + StructOf: StructWidget, + ArrayOf: ArrayWidget, }.get(datatype.__class__)(datatype, readonly, parent) # TODO: handle NoneOr + class msg(QDialog): def __init__(self, stuff, parent=None): super(msg, self).__init__(parent) @@ -242,7 +244,7 @@ class msg(QDialog): dt = StructOf(i=IntRange(0, 10), f=FloatRange(), b=BoolType()) w = StructWidget(dt) self.gridLayout.addWidget(w, row, 1) - row+=1 + row += 1 self.gridLayout.addWidget(QLabel('stuff'), row, 0, 1, 0) row += 1 # at pos (0,0) span 2 cols, 1 row diff --git a/secop/iohandler.py b/secop/iohandler.py index 1c18532..594554b 100644 --- a/secop/iohandler.py +++ b/secop/iohandler.py @@ -54,8 +54,8 @@ method has to be called explicitly int the write_ method, if needed. """ import re -from secop.metaclass import Done from secop.errors import ProgrammingError +from secop.modules import Done class CmdParser: @@ -202,13 +202,19 @@ class IOHandler(IOHandlerBase): :param replyfmt: the format for reading the reply with some scanf like behaviour :param changecmd: the first part of the change command (without values), may be omitted if no write happens - - """ + """ CMDARGS = [] #: list of properties or parameters to be used for building some of the the query and change commands CMDSEPARATOR = None #: if not None, it is possible to join a command and a query with the given separator def __init__(self, group, querycmd, replyfmt, changecmd=None): - """initialize the IO handler""" + """initialize the IO handler + + group: the handler group (used for analyze_ and change_) + querycmd: the command for a query, may contain named formats for cmdargs + replyfmt: the format for reading the reply with some scanf like behaviour + changecmd: the first part of the change command (without values), may be + omitted if no write happens + """ self.group = group self.parameters = set() self._module_class = None diff --git a/secop/lib/__init__.py b/secop/lib/__init__.py index c712950..ad3df26 100644 --- a/secop/lib/__init__.py +++ b/secop/lib/__init__.py @@ -21,13 +21,13 @@ # ***************************************************************************** """Define helpers""" +import importlib import linecache import socket import sys import threading import traceback -import importlib -from os import path, environ +from os import environ, path repodir = path.abspath(path.join(path.dirname(__file__), '..', '..')) @@ -58,6 +58,7 @@ CONFIG['basedir'] = repodir unset_value = object() + class lazy_property: """A property that calculates its value only once.""" diff --git a/secop/lib/asynconn.py b/secop/lib/asynconn.py index 829b45f..348f971 100644 --- a/secop/lib/asynconn.py +++ b/secop/lib/asynconn.py @@ -28,16 +28,18 @@ support for asynchronous communication, but may be used also for synchronous IO (see secop.stringio.StringIO) """ -import socket -import select -import time import ast +import select +import socket +import time + +from secop.errors import CommunicationFailedError, ConfigError +from secop.lib import closeSocket, parseHostPort, tcpSocket + try: from serial import Serial except ImportError: Serial = None -from secop.lib import parseHostPort, tcpSocket, closeSocket -from secop.errors import ConfigError, CommunicationFailedError class ConnectionClosed(ConnectionError): @@ -60,10 +62,10 @@ class AsynConn: except (ValueError, TypeError, AssertionError): if 'COM' in uri: raise ValueError("the correct uri for a COM port is: " - "'serial://COM[?