move most files at root to tests
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
Node('camea_be_filter.psi.ch',
|
||||
'Camea Be-Filter',
|
||||
)
|
||||
|
||||
Mod('sea_addons',
|
||||
'frappy_psi.sea.SeaClient',
|
||||
'addons sea connection for camea-be-filter.addon',
|
||||
config='camea-be-filter.addon',
|
||||
service='addons',
|
||||
)
|
||||
|
||||
Mod('t_be_filter',
|
||||
'frappy_psi.sea.SeaReadable',
|
||||
'Be filter T',
|
||||
io='sea_addons',
|
||||
sea_object='t_be_filter',
|
||||
extra_modules=['a', 'b', 'c', 'd', 'det'],
|
||||
)
|
||||
|
||||
Mod('t_be_fil_top_m',
|
||||
'frappy_psi.sea.SeaReadable', '',
|
||||
io='sea_addons',
|
||||
single_module='t_be_filter.a',
|
||||
)
|
||||
|
||||
Mod('t_be_fil_top_r',
|
||||
'frappy_psi.sea.SeaReadable', '',
|
||||
io='sea_addons',
|
||||
single_module='t_be_filter.b',
|
||||
)
|
||||
|
||||
Mod('t_be_fil_bot_l',
|
||||
'frappy_psi.sea.SeaReadable', '',
|
||||
io='sea_addons',
|
||||
single_module='t_be_filter.c',
|
||||
)
|
||||
|
||||
Mod('t_be_fil_bot_r',
|
||||
'frappy_psi.sea.SeaReadable', '',
|
||||
io='sea_addons',
|
||||
single_module='t_be_filter.d',
|
||||
)
|
||||
|
||||
Mod('t_detector',
|
||||
'frappy_psi.sea.SeaReadable', '',
|
||||
io='sea_addons',
|
||||
single_module='t_be_filter.det',
|
||||
)
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
Node('QnwTC1test.psi.ch',
|
||||
'QnwTC1 test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.qnw.QnwIO',
|
||||
'connection for Quantum northwest',
|
||||
uri='tcp://ldm-fi-ts:3001',
|
||||
)
|
||||
|
||||
Mod('T',
|
||||
'frappy_psi.qnw.TemperatureLoopTC1',
|
||||
'holder temperature',
|
||||
channel='CT',
|
||||
io='io',
|
||||
)
|
||||
|
||||
Mod('Th',
|
||||
'frappy_psi.qnw.SensorTC1',
|
||||
'heat exch. temperature',
|
||||
channel='HT',
|
||||
io='io',
|
||||
)
|
||||
@@ -0,0 +1,19 @@
|
||||
Node('TFA10.psi.ch',
|
||||
'TFA10 test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.thermofisher.ThermFishIO',
|
||||
'connection for ThermoFisher A10',
|
||||
uri='tcp://ldm-fi-ts:3002',
|
||||
)
|
||||
|
||||
Mod('T',
|
||||
'frappy_psi.thermofisher.TemperatureLoopA10',
|
||||
'holder temperature',
|
||||
io='io',
|
||||
target=Param(max=100),
|
||||
tolerance=0.5,
|
||||
settling_time=20,
|
||||
)
|
||||
@@ -0,0 +1,10 @@
|
||||
Node('AH2700Test.psi.ch',
|
||||
'AH2700 capacitance bridge test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('cap',
|
||||
'frappy_psi.ah2700.Capacitance',
|
||||
'capacitance',
|
||||
uri='ldmse3-ts:3015',
|
||||
)
|
||||
@@ -0,0 +1,91 @@
|
||||
Node('MLZ_amagnet(Garfield)',
|
||||
'MLZ-Amagnet\n'
|
||||
'\n'
|
||||
'Water cooled magnet from ANTARES@MLZ.\n'
|
||||
'\n'
|
||||
'Use module to control the magnetic field.\n'
|
||||
'Don\'t forget to select symmetry first (can be moved only at zero field!).\n'
|
||||
'\n'
|
||||
'Monitor T1..T4 (Coil temps), if they get to hot, field will ramp down!\n'
|
||||
'\n'
|
||||
'In case of Problems, contact the ANTARES people at MLZ.',
|
||||
'tcp://10767',
|
||||
visibility = 'expert',
|
||||
foo = 'bar',
|
||||
)
|
||||
|
||||
Mod('enable',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'Enables to Output of the Powersupply',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_enable',
|
||||
value = Param(datatype=["enum", {'On':1,'Off':0}]),
|
||||
target = Param(datatype=["enum", {'On':1,'Off':0}]),
|
||||
visibility = 'advanced',
|
||||
)
|
||||
|
||||
Mod('polarity',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'polarity (+/-) switch\n'
|
||||
'\n'
|
||||
'there is an interlock in the plc:\n'
|
||||
'if there is current, switching polarity is forbidden\n'
|
||||
'if polarity is short, powersupply is disabled',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_polarity',
|
||||
value = Param(datatype=["enum", {'+1':1,'0':0,'-1':-1}]),
|
||||
target = Param(datatype=["enum", {'+1':1,'0':0,'-1':-1}]),
|
||||
visibility = 'advanced',
|
||||
comtries = 50,
|
||||
)
|
||||
|
||||
Mod('symmetry',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'par/ser switch selecting (a)symmetric mode\n'
|
||||
'\n'
|
||||
'symmetric is ser, asymmetric is par',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_symmetric',
|
||||
value = Param(datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]),
|
||||
target = Param(datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]),
|
||||
visibility = 'advanced',
|
||||
)
|
||||
|
||||
for i in range(1,5):
|
||||
Mod('T%d' % i,
|
||||
'frappy_mlz.entangle.AnalogInput',
|
||||
'Temperature %d of the coils system' % i,
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_t%d' % i,
|
||||
#warnlimits=(0, 50),
|
||||
value = Param(unit='degC'),
|
||||
)
|
||||
|
||||
Mod('currentsource',
|
||||
'frappy_mlz.entangle.PowerSupply',
|
||||
'Device for the magnet power supply (current mode)',
|
||||
tangodevice = 'tango://localhost:10000/box/lambda/curr',
|
||||
abslimits = (0,200),
|
||||
speed = 1,
|
||||
ramp = 60,
|
||||
precision = 0.02,
|
||||
current = 0,
|
||||
voltage = 10,
|
||||
#value=Param(unit='A')
|
||||
visibility = 'advanced',
|
||||
)
|
||||
|
||||
Mod('mf',
|
||||
'frappy_mlz.amagnet.GarfieldMagnet',
|
||||
'magnetic field module, handling polarity switching and stuff',
|
||||
currentsource = 'currentsource',
|
||||
enable = 'enable',
|
||||
polswitch = 'polarity',
|
||||
symmetry = 'symmetry',
|
||||
target = Param(unit='T'),
|
||||
value = Param(unit='T'),
|
||||
userlimits = (-0.35, 0.35),
|
||||
calibrationtable = {'symmetric':[0.00186517, 0.0431937, -0.185956, 0.0599757, 0.194042],
|
||||
'short': [0.0, 0.0, 0.0, 0.0, 0.0],
|
||||
'asymmetric':[0.00136154, 0.027454, -0.120951, 0.0495289, 0.110689]},
|
||||
meaning = ['The magnetic field', 1],
|
||||
#priority=100,
|
||||
visibility = 'user',
|
||||
abslimits = (-0.4,0.4,),
|
||||
)
|
||||
@@ -0,0 +1,19 @@
|
||||
Node('attocube_test.psi.ch',
|
||||
'a single attocube axis',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('r',
|
||||
'frappy_psi.attocube.Axis',
|
||||
'ANRv220-F3-02882',
|
||||
axis = 1,
|
||||
value = Param(unit='deg'),
|
||||
tolerance = 0.1,
|
||||
target_min = 0,
|
||||
target_max = 360,
|
||||
steps_fwd = 45,
|
||||
steps_bwd = 85,
|
||||
step_mode = True,
|
||||
# gear = 1.2,
|
||||
)
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
Node('bkpower.psi.ch',
|
||||
'Powersupply B&K Precission BK168xB',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('htr_io',
|
||||
'frappy_psi.bkpower.IO',
|
||||
'powersupply communicator',
|
||||
uri = 'serial:///dev/ttyUSBupper',
|
||||
)
|
||||
|
||||
Mod('htr',
|
||||
'frappy_psi.bkpower.Power',
|
||||
'heater power',
|
||||
io= 'htr_io',
|
||||
)
|
||||
|
||||
Mod('out',
|
||||
'frappy_psi.bkpower.Output',
|
||||
'heater output',
|
||||
io = 'htr_io',
|
||||
maxvolt = 50,
|
||||
maxcurrent = 2,
|
||||
)
|
||||
@@ -0,0 +1,148 @@
|
||||
desc = '''CCR box of MLZ Sample environment group
|
||||
|
||||
Contains a Lakeshore 336 and an PLC controlling the compressor
|
||||
and some valves.'''
|
||||
Node('MLZ_ccr',
|
||||
desc,
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('automatik',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'controls the (simple) pressure regulation\n'
|
||||
'\n'
|
||||
'selects between off, regulate on p1 or regulate on p2 sensor',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_automatik',
|
||||
mapping={'Off':0,'p1':1,'p2':2},
|
||||
)
|
||||
|
||||
Mod('compressor',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'control the compressor (on/off)',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_cooler_onoff',
|
||||
mapping={'Off':0,'On':1},
|
||||
)
|
||||
|
||||
Mod('gas',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'control the gas inlet into the ccr (on/off)\n'
|
||||
'\n'
|
||||
'note: this switches off automatically after 15 min.\n'
|
||||
'note: activation de-activates the vacuum inlet\n'
|
||||
'note: if the pressure regulation is active, it enslave this device',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_gas_onoff',
|
||||
mapping={'Off':0,'On':1},
|
||||
)
|
||||
|
||||
Mod('vacuum',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'control the vacuum inlet into the ccr (on/off)\n'
|
||||
'\n'
|
||||
'note: activation de-activates the gas inlet\n'
|
||||
'note: if the pressure regulation is active, it enslave this device',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_vacuum_onoff',
|
||||
mapping={'Off':0,'On':1},
|
||||
)
|
||||
|
||||
Mod('p1',
|
||||
'frappy_mlz.entangle.AnalogInput',
|
||||
'pressure sensor 1 (linear scale)',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_p1',
|
||||
value = Param(unit='mbar')
|
||||
)
|
||||
|
||||
Mod('p2',
|
||||
'frappy_mlz.entangle.AnalogInput',
|
||||
'pressure sensor 2 (selectable curve)',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_p2',
|
||||
value = Param(unit='mbar'),
|
||||
)
|
||||
|
||||
Mod('curve_p2',
|
||||
'frappy_mlz.entangle.NamedDigitalInput',
|
||||
'calibration curve for pressure sensor 2',
|
||||
tangodevice = 'tango://localhost:10000/box/plc/_curve',
|
||||
value = 0,
|
||||
mapping = {'0-10V':0, '0-1000mbar':1, '1-9V to 0-1 mbar':2,
|
||||
'DI200':3, 'DI2000':4, 'TTR100':7, 'PTR90':8,
|
||||
'PTR225/237':9, 'ITR90':10, 'ITR100-D':11,
|
||||
'ITR100-2':12, 'ITR100-3':13, 'ITR100-4':14,
|
||||
'ITR100-5':15, 'ITR100-6':16, 'ITR100-7':17,
|
||||
'ITR100-8':18, 'ITR100-9':19, 'ITR100-A':20,
|
||||
'CMR361':21, 'CMR362':22, 'CMR363':23,
|
||||
'CMR364':24, 'CMR365':25},
|
||||
)
|
||||
|
||||
Mod('T_tube_regulation',
|
||||
'frappy_mlz.entangle.TemperatureController',
|
||||
'regulation of tube temperature',
|
||||
tangodevice = 'tango://localhost:10000/box/tube/control1',
|
||||
value = Param(unit = 'K'),
|
||||
heateroutput = 0,
|
||||
ramp = 6,
|
||||
speed = 0.1,
|
||||
setpoint = 0,
|
||||
pid = (40, 10, 1),
|
||||
p = 40,
|
||||
i = 10,
|
||||
d = 1,
|
||||
abslimits = (0, 500),
|
||||
)
|
||||
|
||||
Mod('T_stick_regulation',
|
||||
'frappy_mlz.entangle.TemperatureController',
|
||||
'regualtion of stick temperature',
|
||||
tangodevice = 'tango://localhost:10000/box/stick/control2',
|
||||
value = Param(unit = 'K'),
|
||||
heateroutput = 0,
|
||||
ramp = 6,
|
||||
speed = 0.1,
|
||||
setpoint = 0,
|
||||
pid = (40, 10, 1),
|
||||
p = 40,
|
||||
i = 10,
|
||||
d = 1,
|
||||
abslimits = (0, 500),
|
||||
)
|
||||
Mod('T_sample',
|
||||
'frappy_mlz.entangle.Sensor',
|
||||
'sample temperature',
|
||||
tangodevice = 'tango://localhost:10000/box/sample/sensora',
|
||||
value = Param(unit = 'K'),
|
||||
)
|
||||
|
||||
Mod('T_stick',
|
||||
'frappy_mlz.entangle.Sensor',
|
||||
'temperature at bottom of sample stick',
|
||||
tangodevice = 'tango://localhost:10000/box/stick/sensorb',
|
||||
value = Param(unit = 'K'),
|
||||
)
|
||||
|
||||
Mod('T_coldhead',
|
||||
'frappy_mlz.entangle.Sensor',
|
||||
'temperature at coldhead',
|
||||
tangodevice = 'tango://localhost:10000/box/coldhead/sensorc',
|
||||
value = Param(unit = 'K'),
|
||||
)
|
||||
|
||||
Mod('T_tube',
|
||||
'frappy_mlz.entangle.Sensor',
|
||||
'temperature at thermal coupling tube <-> stick',
|
||||
tangodevice = 'tango://localhost:10000/box/tube/sensord',
|
||||
value = Param(unit = 'K'),
|
||||
)
|
||||
|
||||
# THIS IS A HACK: due to entangle (in controller)
|
||||
Mod('T_tube_regulation_heaterrange',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'heaterrange for tube regulation',
|
||||
tangodevice = 'tango://localhost:10000/box/tube/range1',
|
||||
mapping={'Off':0,'Low':1,'Medium':2, 'High':3},
|
||||
)
|
||||
|
||||
Mod('T_stick_regulation_heaterrange',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'heaterrange for stick regulation',
|
||||
tangodevice = 'tango://localhost:10000/box/stick/range2',
|
||||
mapping={'Off':0,'Low':1,'Medium':2, 'High':3},
|
||||
)
|
||||
@@ -0,0 +1,35 @@
|
||||
#####################################################################
|
||||
# Python version of frappy config
|
||||
#####################################################################
|
||||
|
||||
Node('cryo_7.frappy.demo',
|
||||
'short description\n\n'
|
||||
'This is a very long description providing all the gory details '
|
||||
'about the stuff we are describing.',
|
||||
'tcp://10769',
|
||||
more="blub",
|
||||
)
|
||||
|
||||
Mod('cryo',
|
||||
'frappy_demo.cryo.Cryostat',
|
||||
'A simulated cc cryostat with heat-load, specific heat for the sample and a '
|
||||
'temperature dependent heat-link between sample and regulation.',
|
||||
group='very important/stuff',
|
||||
jitter=0.1,
|
||||
T_start=10.0,
|
||||
target=10.0,
|
||||
looptime=1,
|
||||
ramp=6,
|
||||
maxpower=20.0,
|
||||
heater=4.1,
|
||||
mode='pid',
|
||||
tolerance=0.1,
|
||||
window=30,
|
||||
timeout=900,
|
||||
p = Param(40, unit='%/K'), # in case 'default' is the first arg, we can omit 'default='
|
||||
i = 10,
|
||||
d = 2,
|
||||
pid = Group('p', 'i', 'd'),
|
||||
pollinterval = Param(export=False),
|
||||
value = Param(unit = 'K', test = 'customized value'),
|
||||
)
|
||||
@@ -0,0 +1,47 @@
|
||||
Node('demo.frappy.demo',
|
||||
'Basic demo server for frappy',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('heatswitch',
|
||||
'frappy_demo.modules.Switch',
|
||||
'Heatswitch for `mf` device',
|
||||
switch_on_time = 5,
|
||||
switch_off_time = 10,
|
||||
)
|
||||
|
||||
Mod('mf',
|
||||
'frappy_demo.modules.MagneticField',
|
||||
'simulates some cryomagnet with persistent/non-persistent switching',
|
||||
heatswitch = 'heatswitch',
|
||||
)
|
||||
|
||||
Mod('ts',
|
||||
'frappy_demo.modules.SampleTemp',
|
||||
'some temperature',
|
||||
sensor = 'Q1329V7R3',
|
||||
ramp = 4,
|
||||
target = 10,
|
||||
value = 10,
|
||||
meaning = ['temperature', 20],
|
||||
)
|
||||
|
||||
Mod('tc1',
|
||||
'frappy_demo.modules.CoilTemp',
|
||||
'some temperature',
|
||||
sensor = 'X34598T7',
|
||||
)
|
||||
|
||||
Mod('tc2',
|
||||
'frappy_demo.modules.CoilTemp',
|
||||
'some temperature',
|
||||
sensor = 'X39284Q8',
|
||||
)
|
||||
|
||||
Mod('label',
|
||||
'frappy_demo.modules.Label',
|
||||
'some label indicating the state of the magnet `mf`.',
|
||||
system = 'Cryomagnet MX15',
|
||||
mf = 'mf',
|
||||
ts = 'ts',
|
||||
)
|
||||
@@ -0,0 +1,9 @@
|
||||
Node('comm.sea.psi.ch',
|
||||
'sea client (communication only)',
|
||||
)
|
||||
|
||||
Mod('seaconn',
|
||||
'frappy_psi.sea.SeaClient',
|
||||
'a SEA connection',
|
||||
visibility='expert',
|
||||
)
|
||||
@@ -0,0 +1,11 @@
|
||||
# error creating module seaconn:
|
||||
# missing sea port for seadesc
|
||||
Node('comm.sea.psi.ch',
|
||||
'sea client (tool for creating cfg)',
|
||||
)
|
||||
|
||||
Mod('seaconn',
|
||||
'frappy_psi.sea.SeaConfigCreator',
|
||||
'a SEA connection. will shut down after getting the description',
|
||||
visibility=1,
|
||||
)
|
||||
@@ -0,0 +1,317 @@
|
||||
|
||||
Node('LOGO.psi.ch',
|
||||
'LOGO',
|
||||
interface='tcp://5010',
|
||||
secondary = ['ws://8010']
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.logo.IO',
|
||||
'',
|
||||
ip_address = "192.168.0.3",
|
||||
tcap_client = 0x3000,
|
||||
tsap_server = 0x2000
|
||||
)
|
||||
|
||||
Mod('V1',
|
||||
'frappy_psi.logo.Valve',
|
||||
'Valves',
|
||||
io = 'io',
|
||||
vm_address_input ="V1025.0",
|
||||
vm_address_output ="V1064.3"
|
||||
)
|
||||
|
||||
Mod('V2',
|
||||
'frappy_psi.logo.Valve',
|
||||
'Valves',
|
||||
io = 'io',
|
||||
vm_address_input ="V1024.2",
|
||||
vm_address_output ="V1064.5"
|
||||
)
|
||||
|
||||
Mod('V4',
|
||||
'frappy_psi.logo.Valve',
|
||||
'Valves',
|
||||
io = 'io',
|
||||
vm_address_input ="V1024.5",
|
||||
vm_address_output ="V1064.5"
|
||||
)
|
||||
|
||||
Mod('V5',
|
||||
'frappy_psi.logo.Valve',
|
||||
'Valves',
|
||||
io = 'io',
|
||||
vm_address_input ="V1024.4",
|
||||
vm_address_output ="V1064.2"
|
||||
)
|
||||
|
||||
Mod('V9',
|
||||
'frappy_psi.logo.Valve',
|
||||
'Valves',
|
||||
io = 'io',
|
||||
vm_address_input ="V1024.3",
|
||||
vm_address_output ="V404.1"
|
||||
)
|
||||
|
||||
Mod('pump',
|
||||
'frappy_psi.logo.FluidMachines',
|
||||
'Pump',
|
||||
io = 'io',
|
||||
vm_address_output ="V414.1"
|
||||
)
|
||||
|
||||
Mod('compressor',
|
||||
'frappy_psi.logo.FluidMachines',
|
||||
'Compressor',
|
||||
io = 'io',
|
||||
vm_address_output ="V400.1"
|
||||
)
|
||||
|
||||
Mod('p2',
|
||||
'frappy_psi.logo.Pressure',
|
||||
'Pressure in mBar',
|
||||
io = 'io',
|
||||
vm_address ="VW0",
|
||||
)
|
||||
|
||||
Mod('p1',
|
||||
'frappy_psi.logo.Pressure',
|
||||
'Pressure in mBar',
|
||||
io = 'io',
|
||||
vm_address ="VW2",
|
||||
)
|
||||
|
||||
Mod('p5',
|
||||
'frappy_psi.logo.Pressure',
|
||||
'Pressure in mBar',
|
||||
io = 'io',
|
||||
vm_address ="VW4",
|
||||
)
|
||||
|
||||
Mod('Druckluft',
|
||||
'frappy_psi.logo.Airpressure',
|
||||
'Airpressure state',
|
||||
io = 'io',
|
||||
vm_address ="VW6",
|
||||
)
|
||||
|
||||
|
||||
|
||||
Mod('SF1',
|
||||
'frappy_psi.logo.safetyfeatureState',
|
||||
'Safety Feature',
|
||||
io = 'io',
|
||||
vm_address ="V410.1",
|
||||
)
|
||||
|
||||
Mod('SF2',
|
||||
'frappy_psi.logo.safetyfeatureState',
|
||||
'Safety Feature',
|
||||
io = 'io',
|
||||
vm_address ="V406.1",
|
||||
)
|
||||
|
||||
Mod('SF3',
|
||||
'frappy_psi.logo.safetyfeatureState',
|
||||
'Safety Feature',
|
||||
io = 'io',
|
||||
vm_address ="V408.1",
|
||||
)
|
||||
|
||||
Mod('SF4',
|
||||
'frappy_psi.logo.safetyfeatureState',
|
||||
'Safety Feature',
|
||||
io = 'io',
|
||||
vm_address ="V412.1",
|
||||
)
|
||||
|
||||
Mod('p2max',
|
||||
'frappy_psi.logo.safetyfeatureParam',
|
||||
'Safety Feature Param',
|
||||
io = 'io',
|
||||
vm_address ="VW8",
|
||||
)
|
||||
|
||||
Mod('pcond',
|
||||
'frappy_psi.logo.safetyfeatureParam',
|
||||
'Safety Feature Param',
|
||||
io = 'io',
|
||||
vm_address ="VW10",
|
||||
)
|
||||
|
||||
Mod('p5min',
|
||||
'frappy_psi.logo.safetyfeatureParam',
|
||||
'Safety Feature Param',
|
||||
io = 'io',
|
||||
vm_address ="VW12",
|
||||
)
|
||||
|
||||
Mod('p5max',
|
||||
'frappy_psi.logo.safetyfeatureParam',
|
||||
'Safety Feature Param',
|
||||
io = 'io',
|
||||
vm_address ="VW14",
|
||||
)
|
||||
|
||||
"""
|
||||
Mod('io_ls273',
|
||||
'frappy_psi.ls372.StringIO',
|
||||
'io for Ls372',
|
||||
uri = 'localhost:2089',
|
||||
)
|
||||
Mod('sw',
|
||||
'frappy_psi.ls372.Switcher',
|
||||
'channel switcher',
|
||||
io = 'io_ls273',
|
||||
)
|
||||
Mod('res1',
|
||||
'frappy_psi.ls372.ResChannel',
|
||||
'resistivity chan 1',
|
||||
vexc = '2mV',
|
||||
channel = 1,
|
||||
switcher = 'sw',
|
||||
)
|
||||
"""
|
||||
|
||||
Mod('io_pfeiffer',
|
||||
'frappy_psi.pfeiffer_new.PfeifferProtocol',
|
||||
'',
|
||||
uri='serial:///dev/ttyUSB0?baudrate=9600+parity=none+bytesize=8+stopbits=1',
|
||||
)
|
||||
|
||||
Mod('io_turbo',
|
||||
'frappy_psi.pfeiffer_new.PfeifferProtocol',
|
||||
'',
|
||||
uri='serial:///dev/ttyUSB1?baudrate=9600+parity=none+bytesize=8+stopbits=1',
|
||||
)
|
||||
|
||||
Mod('p3',
|
||||
'frappy_psi.pfeiffer_new.RPT200',
|
||||
'Pressure in HPa',
|
||||
io = 'io_pfeiffer',
|
||||
address= 2,
|
||||
)
|
||||
|
||||
Mod('p4',
|
||||
'frappy_psi.pfeiffer_new.RPT200',
|
||||
'Pressure in HPa',
|
||||
io = 'io_pfeiffer',
|
||||
address= 4
|
||||
)
|
||||
|
||||
Mod('turbopump',
|
||||
'frappy_psi.pfeiffer_new.TCP400',
|
||||
'Pfeiffer Turbopump',
|
||||
io = 'io_turbo',
|
||||
address= 1
|
||||
)
|
||||
|
||||
Mod('MV10',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV10'
|
||||
)
|
||||
|
||||
Mod('MV13',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV13'
|
||||
)
|
||||
|
||||
Mod('MV8',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV8'
|
||||
)
|
||||
|
||||
Mod('MVB',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MVB'
|
||||
)
|
||||
|
||||
Mod('MV2',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV2'
|
||||
)
|
||||
|
||||
Mod('MV1',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV1'
|
||||
)
|
||||
|
||||
|
||||
Mod('MV3a',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV3a'
|
||||
)
|
||||
|
||||
Mod('MV3b',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV3b'
|
||||
)
|
||||
|
||||
Mod('GV1',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve GV1'
|
||||
)
|
||||
|
||||
Mod('GV2',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve GV2'
|
||||
)
|
||||
|
||||
Mod('MV14',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV14'
|
||||
)
|
||||
|
||||
Mod('MV12',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV12'
|
||||
)
|
||||
|
||||
Mod('MV11',
|
||||
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV11'
|
||||
)
|
||||
|
||||
Mod('MV9',
|
||||
'frappy_psi.manual_valves.ManualValve',
|
||||
'Manual Valve MV9'
|
||||
)
|
||||
|
||||
Mod('stateMachine',
|
||||
'frappy_psi.dilution_statemachine.DIL5',
|
||||
'Statemachine',
|
||||
|
||||
condenseline_pressure = "p2",
|
||||
condense_valve = "V9",
|
||||
dump_valve = "V4",
|
||||
circulate_pump = "pump",
|
||||
compressor = "compressor",
|
||||
turbopump = "turbopump",
|
||||
condenseline_valve = "V1",
|
||||
circuitshort_valve = "V2",
|
||||
still_pressure = "p3",
|
||||
#ls372 = "res1",
|
||||
V5 = "V5",
|
||||
p1 = "p1",
|
||||
|
||||
MV10 = 'MV10',
|
||||
MV13 ='MV13',
|
||||
MV8 = 'MV8',
|
||||
MVB = 'MVB',
|
||||
MV2 = 'MV2',
|
||||
|
||||
MV1 = 'MV1',
|
||||
MV3a = 'MV3a',
|
||||
MV3b = 'MV3b',
|
||||
GV1 = 'GV1',
|
||||
MV14 = 'MV14',
|
||||
MV12 = 'MV12',
|
||||
MV11 = 'MV11',
|
||||
MV9 = 'MV9',
|
||||
GV2 = 'GV2',
|
||||
condensing_p_low = 150,
|
||||
condensing_p_high = 250
|
||||
)
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
Node('dpm.psi.ch',
|
||||
'DPM driver for pressure cell',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('force',
|
||||
'frappy_psi.dpm.DPM3',
|
||||
'DPM driver to read out the transducer value, write and read the offset and scale factor',
|
||||
uri='serial:///dev/ttyUSB1',
|
||||
digits=2,
|
||||
scale_factor=0.0156,
|
||||
)
|
||||
@@ -0,0 +1,136 @@
|
||||
Node('test.config.frappy.demo',
|
||||
'''short description of the testing sec-node
|
||||
|
||||
This description for the node can be as long as you need if you use a multiline string.
|
||||
|
||||
Very long!
|
||||
The needed fields are Equipment id (1st argument), description (this)
|
||||
and the main interface of the node (3rd arg)
|
||||
''',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('attachtest',
|
||||
'frappy_demo.test.WithAtt',
|
||||
'test attached',
|
||||
att = 'LN2',
|
||||
)
|
||||
|
||||
Mod('pinata',
|
||||
'frappy_demo.test.Pin',
|
||||
'scan test',
|
||||
)
|
||||
|
||||
Mod('recursive',
|
||||
'frappy_demo.test.RecPin',
|
||||
'scan test',
|
||||
)
|
||||
|
||||
Mod('LN2',
|
||||
'frappy_demo.test.LN2',
|
||||
'random value between 0..100%',
|
||||
value = Param(default = 0, unit = '%'),
|
||||
)
|
||||
|
||||
Mod('heater',
|
||||
'frappy_demo.test.Heater',
|
||||
'some heater',
|
||||
maxheaterpower = 10,
|
||||
)
|
||||
|
||||
Mod('T1',
|
||||
'frappy_demo.test.Temp',
|
||||
'some temperature',
|
||||
sensor = 'X34598T7',
|
||||
)
|
||||
|
||||
Mod('T2',
|
||||
'frappy_demo.test.Temp',
|
||||
'some temperature',
|
||||
sensor = 'X34598T8',
|
||||
)
|
||||
|
||||
Mod('T3',
|
||||
'frappy_demo.test.Temp',
|
||||
'some temperature',
|
||||
sensor = 'X34598T9',
|
||||
)
|
||||
|
||||
Mod('Lower',
|
||||
'frappy_demo.test.Lower',
|
||||
'something else',
|
||||
)
|
||||
|
||||
Mod('Decision',
|
||||
'frappy_demo.test.Mapped',
|
||||
'Random value from configured property choices. Config accepts anything ' \
|
||||
'that can be converted to a list',
|
||||
choices = ['Yes', 'Maybe', 'No'],
|
||||
)
|
||||
|
||||
Mod('c',
|
||||
'frappy_demo.test.Commands',
|
||||
'a command test',
|
||||
)
|
||||
|
||||
Mod('cryo',
|
||||
'frappy_demo.cryo.Cryostat',
|
||||
'A simulated cc cryostat with heat-load, specific heat for the sample and a '
|
||||
'temperature dependent heat-link between sample and regulation.',
|
||||
group='very important/stuff',
|
||||
jitter=0.1,
|
||||
T_start=10.0,
|
||||
target=10.0,
|
||||
looptime=1,
|
||||
ramp=6,
|
||||
maxpower=20.0,
|
||||
heater=4.1,
|
||||
mode='pid',
|
||||
tolerance=0.1,
|
||||
window=30,
|
||||
timeout=900,
|
||||
p = Param(40, unit='%/K'), # in case 'default' is the first arg, we can omit 'default='
|
||||
i = 10,
|
||||
d = 2,
|
||||
pid = Group('p', 'i', 'd'),
|
||||
pollinterval = Param(export=False),
|
||||
value = Param(unit = 'K', test = 'customized value'),
|
||||
)
|
||||
|
||||
Mod('heatswitch',
|
||||
'frappy_demo.modules.Switch',
|
||||
'Heatswitch for `mf` device',
|
||||
switch_on_time = 5,
|
||||
switch_off_time = 10,
|
||||
)
|
||||
|
||||
Mod('bool',
|
||||
'frappy_demo.modules.BoolWritable',
|
||||
'boolean writable test',
|
||||
)
|
||||
|
||||
Mod('lscom',
|
||||
'frappy_psi.ls370sim.Ls370Sim',
|
||||
'simulated serial communicator to a LS 370',
|
||||
visibility = 3
|
||||
)
|
||||
|
||||
Mod('sw',
|
||||
'frappy_psi.ls370res.Switcher',
|
||||
'channel switcher for Lsc controller',
|
||||
io = 'lscom',
|
||||
)
|
||||
|
||||
Mod('a',
|
||||
'frappy_psi.ls370res.ResChannel',
|
||||
'resistivity',
|
||||
channel = 1,
|
||||
switcher = 'sw',
|
||||
)
|
||||
|
||||
Mod('b',
|
||||
'frappy_psi.ls370res.ResChannel',
|
||||
'resistivity',
|
||||
channel = 3,
|
||||
switcher = 'sw',
|
||||
)
|
||||
@@ -0,0 +1,36 @@
|
||||
Node('see_demo_equipment',
|
||||
'Do not use, it needs to be rewritten....',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('tc1',
|
||||
'frappy_demo.modules.CoilTemp',
|
||||
'',
|
||||
sensor="X34598T7",
|
||||
)
|
||||
|
||||
Mod('tc2',
|
||||
'frappy_demo.modules.CoilTemp',
|
||||
'',
|
||||
sensor="X39284Q8",
|
||||
)
|
||||
|
||||
|
||||
for i in [1,2]:
|
||||
Mod('sensor%d' % i,
|
||||
'frappy_ess.epics.EpicsReadable',
|
||||
'',
|
||||
epics_version="v4",
|
||||
value_pv="DEV:KRDG%d" % i,
|
||||
group="Lakeshore336",
|
||||
)
|
||||
|
||||
Mod('loop%d' % i,
|
||||
'frappy_ess.epics.EpicsTempCtrl',
|
||||
'',
|
||||
epics_version="v4",
|
||||
group="Lakeshore336",
|
||||
value_pv="DEV:KRDG%d" % i,
|
||||
target_pv="DEV:SETP_S%d" % i,
|
||||
heaterrange_pv="DEV:RANGE_S%d" % i,
|
||||
)
|
||||
@@ -0,0 +1,100 @@
|
||||
Node('fi2.psi.ch',
|
||||
'vacuum furnace ILL Type',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('htr_io',
|
||||
'frappy_psi.tdkpower.IO',
|
||||
'powersupply communicator',
|
||||
uri = 'serial:///dev/ttyUSB0',
|
||||
)
|
||||
|
||||
Mod('htr',
|
||||
'frappy_psi.tdkpower.Power',
|
||||
'heater power',
|
||||
io= 'htr_io',
|
||||
)
|
||||
|
||||
Mod('out',
|
||||
'frappy_psi.tdkpower.Output',
|
||||
'heater output',
|
||||
io = 'htr_io',
|
||||
maxvolt = 5,
|
||||
maxcurrent = 25,
|
||||
)
|
||||
|
||||
Mod('relais',
|
||||
'frappy_psi.ionopimax.DigitalOutput',
|
||||
'relais for power output',
|
||||
addr = 'o2',
|
||||
)
|
||||
|
||||
Mod('T_main',
|
||||
'frappy_psi.ionopimax.CurrentInput',
|
||||
'sample temperature',
|
||||
addr = 'ai4',
|
||||
valuerange = (0, 1372),
|
||||
value = Param(unit='degC'),
|
||||
)
|
||||
|
||||
|
||||
Mod('T_extra',
|
||||
'frappy_psi.ionopimax.CurrentInput',
|
||||
'extra temperature',
|
||||
addr = 'ai3',
|
||||
valuerange = (0, 1372),
|
||||
value = Param(unit='degC'),
|
||||
|
||||
)
|
||||
|
||||
Mod('T_htr',
|
||||
'frappy_psi.ionopimax.CurrentInput',
|
||||
'heater temperature',
|
||||
addr = 'ai2',
|
||||
valuerange = (0, 1372),
|
||||
value = Param(unit='degC'),
|
||||
)
|
||||
|
||||
Mod('T_wall',
|
||||
'frappy_psi.ionopimax.VoltageInput',
|
||||
'furnace wall temperature',
|
||||
addr = 'av2',
|
||||
rawrange = (0, 1.5),
|
||||
valuerange = (0, 150),
|
||||
value = Param(unit='degC'),
|
||||
)
|
||||
|
||||
Mod('T',
|
||||
'frappy_psi.picontrol.PI',
|
||||
'controlled Temperature',
|
||||
input = 'T_htr',
|
||||
output = 'out',
|
||||
relais = 'relais',
|
||||
p = 2,
|
||||
i = 0.01,
|
||||
)
|
||||
|
||||
Mod('interlocks',
|
||||
'frappy_psi.furnace.Interlocks',
|
||||
'interlock parameters',
|
||||
input = 'T_htr',
|
||||
wall_T = 'T_wall',
|
||||
vacuum = 'p',
|
||||
relais = 'relais',
|
||||
control = 'T',
|
||||
wall_limit = 50,
|
||||
vacuum_limit = 0.1,
|
||||
)
|
||||
|
||||
Mod('p_io',
|
||||
'frappy_psi.pfeiffer.IO',
|
||||
'pressure io',
|
||||
uri='serial:///dev/ttyUSBlower',
|
||||
)
|
||||
|
||||
Mod('p',
|
||||
'frappy_psi.pfeiffer.Pressure',
|
||||
'pressure reading',
|
||||
io = 'p_io',
|
||||
)
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
[FRAPPY]
|
||||
# general config for running in git repo
|
||||
logdir = /home/linse/frappylog
|
||||
piddir = /home/linse/frappylog
|
||||
confdir = /home/linse/cfgfrappy
|
||||
comlog = True
|
||||
|
||||
[superfrappy]
|
||||
wrapperdir = /home/linse/cfgfrappy
|
||||
setupdir = /home/linse/setups
|
||||
cfgdirs = /sq_sw/linse/frappycfg:/sq_sw/linse/frappy_<INS>/cfg:/sq_sw/linse/frappy/cfg
|
||||
main_port = 15000
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
Node('lockin70test.psi.ch',
|
||||
'lockin70 test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.SR.SR_IO',
|
||||
'lockin communication',
|
||||
uri='10105266.psi.ch:50000',
|
||||
)
|
||||
|
||||
Mod('XY',
|
||||
'frappy_psi.SR.XY70',
|
||||
'XY channels',
|
||||
io='io',
|
||||
)
|
||||
@@ -0,0 +1,16 @@
|
||||
Node('lockin830test.psi.ch',
|
||||
'lockin830 test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.SR830.SR830_IO',
|
||||
'lockin communication',
|
||||
uri='tcp://linse-976d-ts:3002',
|
||||
)
|
||||
|
||||
Mod('XY',
|
||||
'frappy_psi.SR830.XY',
|
||||
'XY channels',
|
||||
io='io',
|
||||
)
|
||||
@@ -0,0 +1,16 @@
|
||||
Node('lockintest.psi.ch',
|
||||
'lockin test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.SR.SR_IO',
|
||||
'lockin communication',
|
||||
uri='10105266.psi.ch:50000',
|
||||
)
|
||||
|
||||
Mod('XY',
|
||||
'frappy_psi.SR.XY',
|
||||
'XY channels',
|
||||
io='io',
|
||||
)
|
||||
@@ -0,0 +1,20 @@
|
||||
# error importing secop.bytesio.BytesIO
|
||||
# module T, attached io: Module 'T_io' does not exist on this SEC-Node!
|
||||
# error initializing T: AttributeError("'NoneType' object has no attribute 'polledModules'")
|
||||
Node('ls240.psi.ch',
|
||||
'ls240 test',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('T',
|
||||
'frappy_psi.ls240.Ls240',
|
||||
'temperature on uniax stick',
|
||||
io='T_io',
|
||||
)
|
||||
|
||||
Mod('T_io',
|
||||
'frappy.bytesio.BytesIO',
|
||||
'IO device for LS240',
|
||||
uri='serial:///dev/ttyUSB0?baudrate=9600+parity=EVEN',
|
||||
timeout=0.2,
|
||||
)
|
||||
@@ -0,0 +1,23 @@
|
||||
from os import environ
|
||||
|
||||
# either change the uri or set the environment variable 'LS_URI'
|
||||
lakeshore_uri = environ.get('LS_URI', 'tcp://<host>:7777')
|
||||
|
||||
Node('example_cryo.psi.ch', # a globally unique identification
|
||||
'this is an example cryostat for the Frappy tutorial', # describes the node
|
||||
interface='tcp://10767') # you might choose any port number > 1024
|
||||
Mod('io', # the name of the module
|
||||
'frappy_demo.lakeshore.LakeshoreIO', # the class used for communication
|
||||
'communication to main controller', # a description
|
||||
uri=lakeshore_uri, # the serial connection
|
||||
)
|
||||
Mod('T',
|
||||
'frappy_demo.lakeshore.TemperatureLoop',
|
||||
'Sample Temperature',
|
||||
io='io',
|
||||
channel='A', # the channel on the LakeShore for this module
|
||||
loop=1, # the loop to be used
|
||||
value=Param(max=470), # set the maximum expected T
|
||||
target=Param(max=420), # set the maximum allowed target T
|
||||
heater_range=3, # 5 for model 350
|
||||
)
|
||||
@@ -0,0 +1,25 @@
|
||||
Node('ls340test.psi.ch',
|
||||
'ls340 test',
|
||||
'tcp://5000'
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.lakeshore.IO340',
|
||||
'communication to ls340',
|
||||
uri='tcp://localhost:7777'
|
||||
)
|
||||
|
||||
Mod('dev',
|
||||
'frappy_psi.lakeshore.Device340',
|
||||
'device for calcurve',
|
||||
io='io',
|
||||
curve_handling=True,
|
||||
)
|
||||
Mod('T',
|
||||
'frappy_psi.lakeshore.Sensor340',
|
||||
'sample temperature',
|
||||
# output_module='Heater',
|
||||
device='dev',
|
||||
channel='A',
|
||||
calcurve='x29746',
|
||||
)
|
||||
@@ -0,0 +1,25 @@
|
||||
Node('ls370res.psi.ch',
|
||||
'Lsc370 Test',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('lsmain_io',
|
||||
'frappy_psi.ls370res.StringIO',
|
||||
'the communication device',
|
||||
uri='lollypop-ts:3001',
|
||||
)
|
||||
|
||||
Mod('lsmain',
|
||||
'frappy_psi.ls370res.Main',
|
||||
'main control of Lsc controller',
|
||||
uri='lollypop-ts:3001',
|
||||
)
|
||||
|
||||
Mod('res',
|
||||
'frappy_psi.ls370res.ResChannel',
|
||||
'resistivity',
|
||||
iexc='1mA',
|
||||
channel=5,
|
||||
main='lsmain',
|
||||
io='lsmain_io',
|
||||
)
|
||||
@@ -0,0 +1,30 @@
|
||||
Node('LscSIM.psi.ch',
|
||||
'Lsc Simulation at PSI',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('lscom',
|
||||
'frappy_psi.ls370sim.Ls370Sim',
|
||||
'simulated serial communicator to a LS 370',
|
||||
visibility = 3
|
||||
)
|
||||
|
||||
Mod('sw',
|
||||
'frappy_psi.ls370res.Switcher',
|
||||
'channel switcher for Lsc controller',
|
||||
io = 'lscom',
|
||||
)
|
||||
|
||||
Mod('a',
|
||||
'frappy_psi.ls370res.ResChannel',
|
||||
'resistivity',
|
||||
channel = 1,
|
||||
switcher = 'sw',
|
||||
)
|
||||
|
||||
Mod('b',
|
||||
'frappy_psi.ls370res.ResChannel',
|
||||
'resistivity',
|
||||
channel = 3,
|
||||
switcher = 'sw',
|
||||
)
|
||||
@@ -0,0 +1,30 @@
|
||||
Node('LscSIM.psi.ch',
|
||||
'Lsc370 Test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.ls370res.StringIO',
|
||||
'io for Ls370',
|
||||
# uri = 'localhost:2089',
|
||||
uri = 'linse-976d-ts:3007',
|
||||
)
|
||||
Mod('sw',
|
||||
'frappy_psi.ls370res.Switcher',
|
||||
'channel switcher',
|
||||
io = 'io',
|
||||
)
|
||||
Mod('res1',
|
||||
'frappy_psi.ls370res.ResChannel',
|
||||
'resistivity chan 1',
|
||||
vexc = '2mV',
|
||||
channel = 2,
|
||||
switcher = 'sw',
|
||||
)
|
||||
Mod('res2',
|
||||
'frappy_psi.ls370res.ResChannel',
|
||||
'resistivity chn 3',
|
||||
vexc = '2mV',
|
||||
channel = 3,
|
||||
switcher = 'sw',
|
||||
)
|
||||
@@ -0,0 +1,26 @@
|
||||
Node('ma7matt.stick.sea.psi.ch',
|
||||
'MA7 sample stick with wiring for Matt Littlehales',
|
||||
)
|
||||
|
||||
Mod('sea_stick',
|
||||
'frappy_psi.sea.SeaClient',
|
||||
'SEA stick connection',
|
||||
config='ma7matt.stick',
|
||||
service='stick',
|
||||
)
|
||||
|
||||
Mod('ts',
|
||||
'frappy_psi.sea.SeaReadable', '',
|
||||
meaning=['temperature', 30],
|
||||
io='sea_stick',
|
||||
sea_path='tt/ts_2',
|
||||
json_file='ma7.config.json',
|
||||
)
|
||||
|
||||
Mod('T_stick',
|
||||
'frappy_psi.sea.SeaReadable', '',
|
||||
io='sea_stick',
|
||||
sea_path='tt/ts',
|
||||
json_file='ma7.config.json',
|
||||
)
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
Node('multimetertest.psi.ch',
|
||||
'multimeter test',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.HP.HP_IO',
|
||||
'multimeter communication',
|
||||
uri='/dev/cu.usbserial-21410',
|
||||
)
|
||||
|
||||
Mod('Voltage',
|
||||
'frappy_psi.HP.Voltage',
|
||||
'voltage',
|
||||
io='io',
|
||||
)
|
||||
|
||||
Mod('Current',
|
||||
'frappy_psi.HP.Current',
|
||||
'current',
|
||||
io='io',
|
||||
)
|
||||
|
||||
Mod('Resistance',
|
||||
'frappy_psi.HP.Resistance',
|
||||
'resistivity',
|
||||
io='io',
|
||||
)
|
||||
|
||||
Mod('Frequency',
|
||||
'frappy_psi.HP.Frequency',
|
||||
'resistivity',
|
||||
io='io',
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
Node('multiplexer',
|
||||
'multiplexer node',
|
||||
'tcp://5000',
|
||||
cls = 'protocol.router.Router',
|
||||
nodes = ['localhost:10768', 'localhost:10769'],
|
||||
)
|
||||
@@ -0,0 +1,4 @@
|
||||
Mod('seaconn',
|
||||
'frappy_psi.sea.SeaClient',
|
||||
'a SEA connection',
|
||||
)
|
||||
@@ -0,0 +1,18 @@
|
||||
Node('phytron_test.psi.ch',
|
||||
'phytron motor test',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('drv_io',
|
||||
'frappy_psi.phytron.PhytronIO',
|
||||
'',
|
||||
uri='ma7-ts.psi.ch:3007',
|
||||
)
|
||||
|
||||
Mod('drv',
|
||||
'frappy_psi.phytron.Motor',
|
||||
'a phytron motor',
|
||||
io='drv_io',
|
||||
abslimits=(-180.0, 360.0),
|
||||
encoder_mode='CHECK',
|
||||
)
|
||||
@@ -0,0 +1,198 @@
|
||||
# error creating module mf:
|
||||
# Module mf needs a value for either 'uri' or 'io'
|
||||
# error creating module pos:
|
||||
# Module pos needs a value for either 'uri' or 'io'
|
||||
# error creating module lev:
|
||||
# Module lev needs a value for either 'uri' or 'io'
|
||||
# error creating module chamber:
|
||||
# Module chamber needs a value for either 'uri' or 'io'
|
||||
# error creating module r1:
|
||||
# Module r1 needs a value for either 'uri' or 'io'
|
||||
# error creating module r2:
|
||||
# Module r2 needs a value for either 'uri' or 'io'
|
||||
# error creating module r3:
|
||||
# Module r3 needs a value for either 'uri' or 'io'
|
||||
# error creating module r4:
|
||||
# Module r4 needs a value for either 'uri' or 'io'
|
||||
# error creating module i1:
|
||||
# Module i1 needs a value for either 'uri' or 'io'
|
||||
# error creating module i2:
|
||||
# Module i2 needs a value for either 'uri' or 'io'
|
||||
# error creating module i3:
|
||||
# Module i3 needs a value for either 'uri' or 'io'
|
||||
# error creating module i4:
|
||||
# Module i4 needs a value for either 'uri' or 'io'
|
||||
# error creating module v1:
|
||||
# Module v1 needs a value for either 'uri' or 'io'
|
||||
# error creating module v2:
|
||||
# Module v2 needs a value for either 'uri' or 'io'
|
||||
# error creating module tv:
|
||||
# Module tv needs a value for either 'uri' or 'io'
|
||||
# error creating module ts:
|
||||
# Module ts needs a value for either 'uri' or 'io'
|
||||
Node('PPMS.psi.ch',
|
||||
'PPMS at PSI',
|
||||
interface=5000,
|
||||
)
|
||||
|
||||
Mod('tt',
|
||||
'frappy_psi.ppms.Temp',
|
||||
'main temperature',
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('mf',
|
||||
'frappy_psi.ppms.Field',
|
||||
target=Param(
|
||||
min=-9,
|
||||
max=9,
|
||||
),
|
||||
description='magnetic field',
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('pos',
|
||||
'frappy_psi.ppms.Position',
|
||||
description='sample rotator',
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('lev',
|
||||
'frappy_psi.ppms.Level',
|
||||
description='helium level',
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('chamber',
|
||||
'frappy_psi.ppms.Chamber',
|
||||
description='chamber state',
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('r1',
|
||||
'frappy_psi.ppms.BridgeChannel',
|
||||
description='resistivity channel 1',
|
||||
no=1,
|
||||
value=Param(
|
||||
unit='Ohm',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('r2',
|
||||
'frappy_psi.ppms.BridgeChannel',
|
||||
description='resistivity channel 2',
|
||||
no=2,
|
||||
value=Param(
|
||||
unit='Ohm',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('r3',
|
||||
'frappy_psi.ppms.BridgeChannel',
|
||||
description='resistivity channel 3',
|
||||
no=3,
|
||||
value=Param(
|
||||
unit='Ohm',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('r4',
|
||||
'frappy_psi.ppms.BridgeChannel',
|
||||
description='resistivity channel 4',
|
||||
no=4,
|
||||
value=Param(
|
||||
unit='Ohm',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('i1',
|
||||
'frappy_psi.ppms.Channel',
|
||||
description='current channel 1',
|
||||
no=1,
|
||||
value=Param(
|
||||
unit='uA',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('i2',
|
||||
'frappy_psi.ppms.Channel',
|
||||
description='current channel 2',
|
||||
no=2,
|
||||
value=Param(
|
||||
unit='uA',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('i3',
|
||||
'frappy_psi.ppms.Channel',
|
||||
description='current channel 3',
|
||||
no=3,
|
||||
value=Param(
|
||||
unit='uA',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('i4',
|
||||
'frappy_psi.ppms.Channel',
|
||||
description='current channel 4',
|
||||
no=4,
|
||||
value=Param(
|
||||
unit='uA',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('v1',
|
||||
'frappy_psi.ppms.DriverChannel',
|
||||
description='voltage channel 1',
|
||||
no=1,
|
||||
value=Param(
|
||||
unit='V',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('v2',
|
||||
'frappy_psi.ppms.DriverChannel',
|
||||
description='voltage channel 2',
|
||||
no=2,
|
||||
value=Param(
|
||||
unit='V',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('tv',
|
||||
'frappy_psi.ppms.UserChannel',
|
||||
description='VTI temperature',
|
||||
enabled=1,
|
||||
value=Param(
|
||||
unit='K',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('ts',
|
||||
'frappy_psi.ppms.UserChannel',
|
||||
description='sample temperature',
|
||||
enabled=1,
|
||||
value=Param(
|
||||
unit='K',
|
||||
),
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('ppms',
|
||||
'frappy_psi.ppms.Main',
|
||||
description='the main and poller module',
|
||||
class_id='QD.MULTIVU.PPMS.1',
|
||||
visibility='expert',
|
||||
pollinterval=2.0,
|
||||
)
|
||||
@@ -0,0 +1,21 @@
|
||||
Node('filtered.PPMS.psi.ch',
|
||||
'filtered PPMS at PSI',
|
||||
'tcp://5002',
|
||||
)
|
||||
|
||||
|
||||
Mod('secnode',
|
||||
'frappy.proxy.SecNode',
|
||||
'a SEC node',
|
||||
uri = 'tcp://localhost:5000',
|
||||
)
|
||||
|
||||
Mod('mf',
|
||||
'frappy.proxy.Proxy',
|
||||
'magnetic field',
|
||||
remote_class = 'frappy_psi.ppms.Field',
|
||||
io = 'secnode',
|
||||
|
||||
value = Param(),
|
||||
target = Param(min=-0.1, max=0.1),
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
Node('router',
|
||||
'router node',
|
||||
'tcp://5002',
|
||||
cls = 'protocol.router.Router',
|
||||
node = 'localhost:5000',
|
||||
)
|
||||
@@ -0,0 +1,9 @@
|
||||
Node('comm.sea.psi.ch',
|
||||
'sea client (communication only)',
|
||||
)
|
||||
|
||||
Mod('seaconn',
|
||||
'frappy_psi.sea.SeaClient',
|
||||
'a SEA connection',
|
||||
visibility='expert',
|
||||
)
|
||||
@@ -0,0 +1,43 @@
|
||||
description = """
|
||||
3He system in Lab ...
|
||||
"""
|
||||
Node('mlz_seop',
|
||||
description,
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('cell',
|
||||
'frappy_mlz.seop.Cell',
|
||||
'interface module to the driver',
|
||||
config_directory = '/home/jcns/daemon/config',
|
||||
)
|
||||
|
||||
Mod('afp',
|
||||
'frappy_mlz.seop.Afp',
|
||||
'controls the afp flip of the cell',
|
||||
cell = 'cell'
|
||||
)
|
||||
|
||||
Mod('nmr',
|
||||
'frappy_mlz.seop.Nmr',
|
||||
'controls the ',
|
||||
cell = 'cell'
|
||||
)
|
||||
|
||||
fitparams = [
|
||||
('amplitude', 'V'),
|
||||
('T1', 's'),
|
||||
('T2', 's'),
|
||||
('b', ''),
|
||||
('frequency', 'Hz'),
|
||||
('phase', 'deg'),
|
||||
]
|
||||
for param, unit in fitparams:
|
||||
Mod(f'nmr_{param.lower()}',
|
||||
'frappy_mlz.seop.FitParam',
|
||||
f'fittet parameter {param} of NMR',
|
||||
cell = 'cell',
|
||||
value = Param(unit=unit),
|
||||
sigma = Param(unit=unit),
|
||||
param = param,
|
||||
)
|
||||
@@ -0,0 +1,67 @@
|
||||
Node('bridge.psi.ch',
|
||||
'ac resistance bridge',
|
||||
'tcp://5000',
|
||||
)
|
||||
|
||||
Mod('io',
|
||||
'frappy_psi.bridge.BridgeIO',
|
||||
'communication to sim900',
|
||||
uri='serial:///dev/cu.usbserial-14340',
|
||||
)
|
||||
|
||||
Mod('res1',
|
||||
'frappy_psi.bridge.Resistance',
|
||||
'module communication',
|
||||
io='io',
|
||||
port=1,
|
||||
)
|
||||
|
||||
Mod('res2',
|
||||
'frappy_psi.bridge.Resistance',
|
||||
'module communication',
|
||||
io='io',
|
||||
port=3,
|
||||
)
|
||||
|
||||
Mod('res3',
|
||||
'frappy_psi.bridge.Resistance',
|
||||
'module communication',
|
||||
io='io',
|
||||
port=5,
|
||||
)
|
||||
|
||||
Mod('phase1',
|
||||
'frappy_psi.bridge.Phase',
|
||||
'module communication',
|
||||
resistance='res1',
|
||||
)
|
||||
|
||||
Mod('phase2',
|
||||
'frappy_psi.bridge.Phase',
|
||||
'module communication',
|
||||
resistance='res2',
|
||||
)
|
||||
|
||||
Mod('phase3',
|
||||
'frappy_psi.bridge.Phase',
|
||||
'module communication',
|
||||
resistance='res3',
|
||||
)
|
||||
|
||||
Mod('dev1',
|
||||
'frappy_psi.bridge.Deviation',
|
||||
'module communication',
|
||||
resistance='res1',
|
||||
)
|
||||
|
||||
Mod('dev2',
|
||||
'frappy_psi.bridge.Deviation',
|
||||
'module communication',
|
||||
resistance='res1',
|
||||
)
|
||||
|
||||
Mod('dev3',
|
||||
'frappy_psi.bridge.Deviation',
|
||||
'module communication',
|
||||
resistance='res3',
|
||||
)
|
||||
@@ -0,0 +1,18 @@
|
||||
Node('sim.test.config',
|
||||
'description of the simulation sec-node\n'
|
||||
'\n'
|
||||
'Testing simulation dummy setup.',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
|
||||
Mod('sim',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'simulation stuff',
|
||||
extra_params = 'param3,param4,jitter,ramp',
|
||||
param3 = Param(default=True, datatype={'type': 'bool'}, readonly=False),
|
||||
jitter = 1,
|
||||
ramp = 60,
|
||||
value = 123,
|
||||
target = 42,
|
||||
)
|
||||
@@ -0,0 +1,116 @@
|
||||
Node('SIM_MLZ_amagnet(Garfield)',
|
||||
'MLZ-Amagnet\n'
|
||||
'\n'
|
||||
'Water cooled magnet from ANTARES@MLZ.\n'
|
||||
'\n'
|
||||
' Use module to control the magnetic field.\n'
|
||||
'Don\'t forget to select symmetry first (can be moved only at zero field!).\n'
|
||||
'\n'
|
||||
'Monitor T1..T4 (Coil temps), if they get to hot, field will ramp down!\n'
|
||||
'\n'
|
||||
'In case of Problems, contact the ANTARES people at MLZ.',
|
||||
'tcp://10767',
|
||||
visibility = 'expert',
|
||||
foo = 'bar',
|
||||
)
|
||||
|
||||
Mod('enable',
|
||||
'frappy.simulation.SimWritable',
|
||||
'Enables to Output of the Powersupply',
|
||||
value = Param(datatype={"type":"enum", "members":{'On':1,'Off':0}}),
|
||||
target = Param(datatype={"type":"enum", "members":{'On':1,'Off':0}}),
|
||||
visibility = 'advanced',
|
||||
)
|
||||
|
||||
Mod('polarity',
|
||||
'frappy.simulation.SimWritable',
|
||||
'polarity (+/-) switch\n'
|
||||
'\n'
|
||||
'there is an interlock in the plc:\n'
|
||||
'if there is current, switching polarity is forbidden\n'
|
||||
'if polarity is short, powersupply is disabled',
|
||||
value = Param(datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}}),
|
||||
target = Param(datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}}),
|
||||
visibility = 'advanced',
|
||||
)
|
||||
|
||||
|
||||
Mod('symmetry',
|
||||
'frappy.simulation.SimWritable',
|
||||
'par/ser switch selecting (a)symmetric mode\n'
|
||||
'\n'
|
||||
'note: on the front panel symmetric is ser, asymmetric is par',
|
||||
value = Param(
|
||||
datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}},
|
||||
default = 'symmetric'
|
||||
),
|
||||
target = Param(datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}}),
|
||||
visibility = 'advanced',
|
||||
)
|
||||
|
||||
for i in range(1,5):
|
||||
Mod('T%d' % i,
|
||||
'frappy.simulation.SimReadable',
|
||||
'Temperature%d of the coils system' % i,
|
||||
value = Param(default = 23.45, unit='degC'),
|
||||
)
|
||||
|
||||
Mod('currentsource',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Device for the magnet power supply (current mode)',
|
||||
value = 0,
|
||||
#abslimits = (0,200),
|
||||
#speed = 1,
|
||||
#ramp = 60,
|
||||
#precision = 0.02,
|
||||
#current = 0,
|
||||
#voltage = 10,
|
||||
visibility = 'advanced',
|
||||
extra_params = 'abslimits, speed, ramp, precision, current, voltage, window',
|
||||
abslimits = Param(
|
||||
default = (0, 200),
|
||||
datatype = {"type":"limit", "members":{"type":"double", "min":0, "max":200, "unit":"A"}}
|
||||
),
|
||||
speed = Param(
|
||||
default = 10,
|
||||
datatype = {"type":"double", "min":0, "max":10, "unit":"A/s"}
|
||||
),
|
||||
ramp = Param(
|
||||
default = 600,
|
||||
datatype = {"type":"double", "min":0, "max":600, "unit":"A/min"}
|
||||
),
|
||||
precision = Param(
|
||||
default = 0.1,
|
||||
datatype = {"type":"double", "unit":"A"}
|
||||
),
|
||||
current = Param(
|
||||
default = 0,
|
||||
datatype = {"type":"double", "min":0, "max":200, "unit":"A"}
|
||||
),
|
||||
voltage = Param(
|
||||
default = 0,
|
||||
datatype = {"type":"double", "min":0, "max":10, "unit":"V"}
|
||||
),
|
||||
window = Param(
|
||||
default = 10,
|
||||
datatype = {"type":"double", "min":0, "max":120, "unit":"s"}
|
||||
)
|
||||
)
|
||||
|
||||
Mod('mf',
|
||||
'frappy_mlz.amagnet.GarfieldMagnet',
|
||||
'magnetic field module, handling polarity switching and stuff',
|
||||
currentsource='currentsource',
|
||||
enable='enable',
|
||||
polswitch='polarity',
|
||||
symmetry='symmetry',
|
||||
target = Param(unit='T'),
|
||||
value = Param(unit='T'),
|
||||
userlimits=(-0.35, 0.35),
|
||||
calibrationtable={'symmetric':[0.00186517, 0.0431937, -0.185956, 0.0599757, 0.194042],
|
||||
'short': [0.0, 0.0, 0.0, 0.0, 0.0],
|
||||
'asymmetric':[0.00136154, 0.027454, -0.120951, 0.0495289, 0.110689]},
|
||||
meaning=("magneticfield", 20),
|
||||
visibility='user',
|
||||
abslimits=(-0.4,0.4),
|
||||
)
|
||||
@@ -0,0 +1,88 @@
|
||||
Node('cci3he1',
|
||||
'[sim] cci3he box of MLZ Sample environment group\n'
|
||||
'\n'
|
||||
'Controls an 3He insert with an ls370 and an PLC controlling \n'
|
||||
'the compressor and the valves of the gas handling.',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('T_cci3he1',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Main temperature control node of cci3he1.\n'
|
||||
'\n'
|
||||
'Controls the regulation loop of the ls370.',
|
||||
value = Param(default=300, datatype={"type":"double","unit":"K"}),
|
||||
target = Param(default=300, datatype={"type":"double", "min":0, "max":300, "unit":"K"}),
|
||||
extra_params='ramp',
|
||||
ramp = Param(default=60,
|
||||
datatype={"type":"double","min":0,"max":600,"unit":"K/min"},
|
||||
description='target ramping speed in K/min.',
|
||||
),
|
||||
meaning=["temperature_regulation",40]
|
||||
)
|
||||
|
||||
Mod('T_cci3he1_A',
|
||||
'frappy.simulation.SimReadable',
|
||||
'3He pot temperature sensor. Also used for the regulation.',
|
||||
visibility='expert',
|
||||
value = Param(default=300, datatype={"type":"double","unit":"K"}),
|
||||
meaning=["temperature",38]
|
||||
)
|
||||
|
||||
Mod('T_cci3he1_B',
|
||||
'frappy.simulation.SimReadable',
|
||||
'(optional) sample temperature sensor close to sample.',
|
||||
visibility='user',
|
||||
value = Param(default=300, datatype={"type":"double","unit":"K"}),
|
||||
meaning=["temperature",39]
|
||||
)
|
||||
|
||||
Mod('cci3he1_p1',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at turbo pump inlet.',
|
||||
value = Param(default=2e-3, datatype={"type":"double","unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('cci3he1_p2',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at turbo pump outlet.',
|
||||
value = Param(default=9.87, datatype={"type":"double","unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('cci3he1_p3',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at compressor inlet.',
|
||||
value = Param(default=19.99, datatype={"type":"double","unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('cci3he1_p4',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at compressor outlet.',
|
||||
value = Param(default=999, datatype={"type":"double","unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('cci3he1_p5',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure in dump tank.',
|
||||
value = Param(default=567, datatype={"type":"double","unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('cci3he1_p6',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure in the vacuum dewar (ivc).',
|
||||
value = Param(default=1e-3, datatype={"type":"double","unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('cci3he1_flow',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Gas Flow (condensing line).',
|
||||
value = Param(default=12.34, datatype={"type":"double","unit":"mln/min"}),
|
||||
visibility='expert',
|
||||
)
|
||||
# note: all valves and switches are missing: use VNC to control them
|
||||
@@ -0,0 +1,107 @@
|
||||
Node('ccidu1',
|
||||
'[sim] ccidu box of MLZ Sample environment group\n'
|
||||
'\n'
|
||||
'Controls an 3He/4He dilution insert with an ls372 and an PLC controlling\n'
|
||||
'the compressor and the valves of the gas handling.',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('T_ccidu1',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Main temperature control node of ccidu1.\n'
|
||||
'\n'
|
||||
'Controls the regulation loop of the ls372.',
|
||||
value = Param(default=300, unit='K'),
|
||||
target = Param(default=300, datatype={"type":"double", "min":0, "max":300, "unit":"K"}),
|
||||
extra_params='ramp',
|
||||
ramp = Param(default=60,
|
||||
datatype={"type":"double", "min":0, "max":600, "unit":"K/min"},
|
||||
description='target ramping speed in K/min.',
|
||||
),
|
||||
meaning=["temperature_regulation",40]
|
||||
)
|
||||
|
||||
Mod('T_ccidu1_A',
|
||||
'frappy.simulation.SimReadable',
|
||||
'mixing chamber temperature sensor. Also used for the regulation.',
|
||||
value = Param(default=300, datatype={"type":"double", "unit":"K"}),
|
||||
visibility='expert',
|
||||
meaning=["temperature",38],
|
||||
)
|
||||
|
||||
Mod('T_ccidu1_B',
|
||||
'frappy.simulation.SimReadable',
|
||||
'(optional) sample temperature sensor close to sample.',
|
||||
value = Param(default=300, datatype={"type":"double", "unit":"K"}),
|
||||
visibility='user',
|
||||
meaning=["temperature",39],
|
||||
)
|
||||
|
||||
Mod('ccidu1_pstill',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at the still/turbo pump inlet.',
|
||||
value = Param(default=999, datatype={"type":"double", "unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('ccidu1_pinlet',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at forepump inlet/turbo pump outlet.',
|
||||
value = Param(default=999, datatype={"type":"double", "unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('ccidu1_poutlet',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at forepump outlet/compressor inlet.',
|
||||
value = Param(default=999, datatype={"type":"double", "unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('ccidu1_pkond',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure at condensing line/compressor outlet.',
|
||||
value = Param(default=999, datatype={"type":"double", "unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('ccidu1_ptank',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure in dump tank.',
|
||||
value = Param(default=999, datatype={"type":"double", "unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('ccidu1_pvac',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure in the vacuum dewar (ivc).',
|
||||
value = Param(default=999, datatype={"type":"double", "unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('ccidu1_flow',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Gas Flow (condensing line).',
|
||||
value = Param(default=999, datatype={"type":"double", "unit":"mbar"}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
# note: all valves and switches are missing: use VNC to control them
|
||||
Mod('ccidu1_V6',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Needle valve',
|
||||
value = Param(default=99, datatype={"type":"double", "min":0, "max":100, "unit":"%%"}),
|
||||
target = Param(min=0, max=100),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('ccidu1_V3',
|
||||
'frappy.simulation.SimWritable',
|
||||
'Dump Valve',
|
||||
value = Param(
|
||||
default="OFF",
|
||||
datatype={"type":"enum", "members":{"on": 1, "OFF":0}}
|
||||
),
|
||||
target = Param(datatype={"type":"enum", "members":{"on": 1, "OFF":0}}),
|
||||
visibility='expert',
|
||||
)
|
||||
@@ -0,0 +1,177 @@
|
||||
# pylint: skip-file
|
||||
Node('ccr12',
|
||||
'[sim] CCR12 box of MLZ Sample environment group'
|
||||
''
|
||||
'Contains a Lakeshore 336 and an PLC controlling the compressor'
|
||||
'and some valves.'
|
||||
''
|
||||
'This is an improved version, how we think it should be.',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('T_ccr12',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Main temperature control node of CCR12.'
|
||||
''
|
||||
'Switches between regulation on stick and regulation on tube depending on temperature requested.'
|
||||
'May also pump gas for higher temperatures, if configured.'
|
||||
'Manual switching of the regulation node is supported via the regulationmode parameter.',
|
||||
value = Param(default=300,
|
||||
datatype={"type":"double", "min":0, "max":600, "unit":"K"}),
|
||||
target = Param(default=300,
|
||||
datatype={"type":"double", "min":0, "max":600, "unit":"K"}),
|
||||
extra_params='ramp,regulationmode,abslimits,userlimits',
|
||||
ramp = Param(
|
||||
default=60,
|
||||
datatype={"type":"double", "min":0, "max":60, "unit":"K/min"},
|
||||
description='target ramping speed in K/min.',
|
||||
readonly=False,
|
||||
),
|
||||
regulationmode = Param(
|
||||
default='both',
|
||||
datatype={"type":"enum","members":{"stick":1,"tube":2,"both":3}},
|
||||
description='regulate only stick, tube or select based upon the target value.',
|
||||
readonly=False,
|
||||
),
|
||||
abslimits = Param(
|
||||
default=[0,600],
|
||||
datatype={"type":"limit","members":{"type":"double", "min":0,"max":600, "unit":"K"}},
|
||||
description='currently active absolute limits for the setpoint. depend on the regulationmode parameter (both/stick->0..600, tube->0..300K).',
|
||||
),
|
||||
userlimits = Param(
|
||||
default=[0,300],
|
||||
datatype={"type":"limit","members":{"type":"double", "min":0,"max":600, "unit":"K"}},
|
||||
description='current user set limits for the setpoint. must be inside abslimits.',
|
||||
readonly=False,
|
||||
),
|
||||
meaning=["temperature_regulation", 20],
|
||||
)
|
||||
|
||||
Mod('T_ccr12_A',
|
||||
'frappy.simulation.SimReadable',
|
||||
'(optional) Sample temperature sensor.',
|
||||
value = Param(default=300,
|
||||
datatype={"type":"double", "min":0, "unit":"K"}),
|
||||
visibility='expert',
|
||||
meaning=["temperature", 9],
|
||||
)
|
||||
|
||||
Mod('T_ccr12_B',
|
||||
'frappy.simulation.SimReadable',
|
||||
'(regulation) temperature sensor on stick.',
|
||||
value = Param(default=300, datatype={"type":"double", "min":0, "unit":"K"}),
|
||||
visibility='expert',
|
||||
meaning=["temperature", 10],
|
||||
)
|
||||
|
||||
Mod('T_ccr12_C',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Temperature at the coldhead.',
|
||||
value = Param(default=70, datatype={"type":"double", "min":0, "unit":"K"}),
|
||||
visibility='expert',
|
||||
meaning=["temperature", 1],
|
||||
)
|
||||
|
||||
Mod('T_ccr12_D',
|
||||
'frappy.simulation.SimReadable',
|
||||
'(regulation) temperature at coupling to stick.',
|
||||
value = Param(default=80, datatype={"type":"double", "min":0, "unit":"K"}),
|
||||
visibility='expert',
|
||||
meaning=["temperature", 2],
|
||||
)
|
||||
|
||||
Mod('ccr12_pressure_regulation',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Simple two-point presssure regulation. the mode parameter selects the readout on which to regulate, or, \'none\' for no regulation.',
|
||||
value = Param(default = 1e-5,
|
||||
datatype={"type":"double", "min":0, "max":1000, "unit":"mbar"}),
|
||||
extra_params='switchpoints, mode',
|
||||
mode = Param(
|
||||
default='none',
|
||||
datatype={"type":"enum", "members":{"none":0,"p1":1,"p2":2}},
|
||||
description='Select pressure sensor to regulate on, or \'none\' to disable regulation.',
|
||||
),
|
||||
switchpoints = Param(
|
||||
default={'lower':1e-6,'upper':1e-3},
|
||||
# struct is more explicit, but ugly to read....
|
||||
datatype={"type":"struct", "members":{"lower":{"type":"double", "unit":"mbar"},"upper":{"type":"double", "unit":"mbar"}}, "optional":["upper","lower"]},
|
||||
description='Switching points for regulation. If the selected pressure is below \'lower\' value, the gas valve is opened, above \'upper\' the value vacuum valve is openend, else both are closed. values for switchpoints are taken from the selected pressure sensors userlimits.',
|
||||
readonly=True,
|
||||
),
|
||||
visibility='user',
|
||||
)
|
||||
|
||||
Mod('ccr12_compressor',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Switches the compressor for the cooling stage on or off.\n'
|
||||
'\n'
|
||||
'Note: This should always be on, except for fast heatup for sample change.',
|
||||
value = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
target = Param(datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
visibility='user',
|
||||
)
|
||||
|
||||
Mod('ccr12_gas_switch',
|
||||
'frappy.simulation.SimWritable',
|
||||
'Switches the gas inlet on or off.\n'
|
||||
'\n'
|
||||
'note: in reality this switches itself off after 15min.\n'
|
||||
'note: in reality this is interlocked with ccr12_vacuum_switch, only one can be on!\n'
|
||||
'note: in this simulation this module is isolated.',
|
||||
value = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
target = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
)
|
||||
|
||||
Mod('ccr12_vacuum_switch',
|
||||
'frappy.simulation.SimWritable',
|
||||
'Switches the vacuum pumping valve on or off.\n'
|
||||
'\n'
|
||||
'note: in reality this is interlocked with ccr12_gas_switch, only one can be on!\n'
|
||||
'note: in this simulation this module is isolated.',
|
||||
value = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
target = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
)
|
||||
|
||||
Mod('ccr12_p1',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Default pressure Sensor, linear scale 0..1000 mbar\n'
|
||||
'\n'
|
||||
'Good candidate for a \'Sensor\' Interface class!',
|
||||
value = Param(default=999, unit='mbar'),
|
||||
extra_params='curve, userlimits',
|
||||
curve = Param(
|
||||
default='TTR100',
|
||||
datatype={"type":"enum", "members":{'0..10V':0,'default':1,'0..9V':2,'DI200':3,'DI2000':4,'TTR100':7,'PTR90':8,'PTR225/PTR237':9,'ITR90':10,'ITR100 curve D':11, 'ITR100 curve 2':12, 'ITR100 curve 3':13,'ITR100 curve 4':14,'ITR100 curve 5':15, 'ITR100 curve 6':16, 'ITR100 curve 7':17, 'ITR100 curve 8':18, 'ITR100 curve 9':19, 'ITR100 curve A':20,'CMR361':21, 'CMR362':22, 'CMR363':23, 'CMR364':24, 'CMR365':25}},
|
||||
description='Calibration curve for pressure sensor',
|
||||
),
|
||||
userlimits = Param(
|
||||
default=[1, 100],
|
||||
datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}},
|
||||
description='current user set limits for the pressure regulation.',
|
||||
readonly=False,
|
||||
),
|
||||
)
|
||||
|
||||
Mod('ccr12_p2',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Auxillary pressure Sensor.',
|
||||
value = Param(default=1e-6, unit='mbar'),
|
||||
extra_params='curve,userlimits',
|
||||
curve = Param(
|
||||
default='PTR90',
|
||||
datatype={"type":"enum", "members":{'0..10V':0,'default':1,'0..9V':2,'DI200':3,'DI2000':4,'TTR100':7,'PTR90':8,'PTR225/PTR237':9,'ITR90':10,'ITR100 curve D':11, 'ITR100 curve 2':12, 'ITR100 curve 3':13,'ITR100 curve 4':14,'ITR100 curve 5':15, 'ITR100 curve 6':16, 'ITR100 curve 7':17, 'ITR100 curve 8':18, 'ITR100 curve 9':19, 'ITR100 curve A':20,'CMR361':21, 'CMR362':22, 'CMR363':23, 'CMR364':24, 'CMR365':25}},
|
||||
description='Calibration curve for pressure sensor',
|
||||
),
|
||||
userlimits = Param(
|
||||
default=[1e-6, 1e-3],
|
||||
datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}},
|
||||
description='current user set limits for the pressure regulation.',
|
||||
readonly=False,
|
||||
),
|
||||
pollinterval = Param(visibility='expert'),
|
||||
)
|
||||
@@ -0,0 +1,49 @@
|
||||
Node('simulation',
|
||||
'Auto-generated configuration by frappy.',
|
||||
'tcp://10767',
|
||||
)
|
||||
Mod('analoginput',
|
||||
'frappy_mlz.entangle.AnalogInput',
|
||||
'from test/sim/analoginput',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/analoginput',
|
||||
)
|
||||
Mod('sensor',
|
||||
'frappy_mlz.entangle.Sensor',
|
||||
'from test/sim/sensor',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/sensor',
|
||||
)
|
||||
Mod('analogoutput',
|
||||
'frappy_mlz.entangle.AnalogOutput',
|
||||
'from test/sim/analogoutput',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/analogoutput',
|
||||
)
|
||||
Mod('actuator',
|
||||
'frappy_mlz.entangle.Actuator',
|
||||
'from test/sim/actuator',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/actuator',
|
||||
)
|
||||
Mod('motor',
|
||||
'frappy_mlz.entangle.Motor',
|
||||
'from test/sim/motor',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/motor',
|
||||
)
|
||||
Mod('powersupply',
|
||||
'frappy_mlz.entangle.PowerSupply',
|
||||
'from test/sim/powersupply',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/powersupply',
|
||||
)
|
||||
Mod('digitalinput',
|
||||
'frappy_mlz.entangle.DigitalInput',
|
||||
'from test/sim/digitalinput',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/digitalinput',
|
||||
)
|
||||
Mod('digitaloutput',
|
||||
'frappy_mlz.entangle.DigitalOutput',
|
||||
'from test/sim/digitaloutput',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/digitaloutput',
|
||||
)
|
||||
Mod('stringio',
|
||||
'frappy_mlz.entangle.StringIO',
|
||||
'from test/sim/stringio',
|
||||
tangodevice = 'tango://localhost:10000/test/sim/stringio',
|
||||
)
|
||||
@@ -0,0 +1,30 @@
|
||||
Node('htf02',
|
||||
'[sim] htf02 box of MLZ Sample environment group\n'
|
||||
'\n'
|
||||
'Controls an High Temperature Furnace with an eurotherm controller and an PLC checking the cooing water.',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
Mod('T_htf02',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Main temperature control node of htf02.\n'
|
||||
'\n'
|
||||
'Controls the regulation loop of the Eurotherm.',
|
||||
value = Param(default=300,
|
||||
datatype={"type":"double", "min":0, "unit":"degC"}),
|
||||
target = Param(default=300,
|
||||
datatype={"type":"double", "min":0, "max": 2000, "unit":"degC"}),
|
||||
extra_params='ramp',
|
||||
ramp = Param(default=60,
|
||||
datatype={"type":"double", "min":0, "max": 600, "unit":"K/min"},
|
||||
description='target ramping speed in K/min.',
|
||||
readonly=False,
|
||||
),
|
||||
meaning=["temperature", 10],
|
||||
)
|
||||
|
||||
Mod('htf02_p',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Pressure Sensor at sample space (ivc).',
|
||||
value = Param(default=989, datatype={"type":"double", "min":0, "unit":"mbar"}),
|
||||
)
|
||||
@@ -0,0 +1,82 @@
|
||||
Node('stressihtf2_v2',
|
||||
'[sim] Stressihtf2 box of MLZ Sample environment group\n'
|
||||
'\n'
|
||||
'Controls an High Temperature Furnace with an Eurotherm and an PLC controlling some valves and checking cooling water.',
|
||||
'tcp://10767',
|
||||
)
|
||||
|
||||
|
||||
Mod('T',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'Main temperature control node of Stressihtf2.',
|
||||
value = Param(default=20,
|
||||
datatype={"type":"double", "min":0, "unit":"degC"}),
|
||||
target = Param(default=20,
|
||||
datatype={"type":"double", "min":0, "max":2000, "unit":"degC"}),
|
||||
extra_params='ramp,regulationmode,abslimits,userlimits',
|
||||
ramp = Param(
|
||||
default=60,
|
||||
datatype={"type":"double", "min":0, "max":600, "unit":"K/min"},
|
||||
description='target ramping speed in K/min.',
|
||||
),
|
||||
abslimits = Param(
|
||||
default=[0,2000],
|
||||
datatype={"type":"limit", "members":{"type":"double", "min":0, "max":2000, "unit":"degC"}},
|
||||
description='currently active absolute limits for the setpoint. depend \
|
||||
on the regulationmode parameter (both/stick->0..600, tube->0..300K).',
|
||||
),
|
||||
userlimits = Param(
|
||||
default=[0,300],
|
||||
datatype={"type":"limit", "members":{"type":"double", "min":0, "max":2000, "unit":"degC"}},
|
||||
description='current user set limits for the setpoint. must be inside abslimits.',
|
||||
readonly=False,
|
||||
),
|
||||
meaning=['temperature_regulation', 10],
|
||||
)
|
||||
|
||||
Mod('T_sample',
|
||||
'frappy.simulation.SimReadable',
|
||||
'(optional) Sample temperature sensor.',
|
||||
value = Param(default=300,
|
||||
datatype={"type":"double", "min":0, "unit":"degC"}),
|
||||
visibility='expert',
|
||||
meaning=["temperature", 9],
|
||||
)
|
||||
|
||||
Mod('N2',
|
||||
'frappy.simulation.SimWritable',
|
||||
'Switches the N2 gas inlet on or off.',
|
||||
value = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
target = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('He',
|
||||
'frappy.simulation.SimWritable',
|
||||
'Switches the He gas inlet on or off.',
|
||||
value = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
target = Param(default='off',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('lamps',
|
||||
'frappy.simulation.SimWritable',
|
||||
'Switches the heating lamps on or off.',
|
||||
value = Param(default='on',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
target = Param(default='on',
|
||||
datatype={"type":"enum", "members":{'off':0,'on':1}}),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('water_ok',
|
||||
'frappy.simulation.SimReadable',
|
||||
'Readout of the cooling water state.',
|
||||
value = Param(default='ok',
|
||||
datatype={"type":"enum", "members":{'failed':0,'ok':1}}),
|
||||
visibility='expert',
|
||||
)
|
||||
@@ -0,0 +1,61 @@
|
||||
Node('uniax_sim.psi.ch',
|
||||
'[sim] uniaxial pressure device',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('force',
|
||||
'frappy_psi.uniax.Uniax',
|
||||
'uniax driver',
|
||||
motor='drv',
|
||||
transducer='transducer',
|
||||
)
|
||||
|
||||
Mod('drv',
|
||||
'frappy.simulation.SimDrivable',
|
||||
'simulated motor',
|
||||
extra_params=['speed', 'safe_current', 'move_limit', 'maxcurrent', 'tolerance'],
|
||||
value=Param(
|
||||
default=0.0,
|
||||
unit='deg',
|
||||
),
|
||||
speed=Param(
|
||||
readonly=False,
|
||||
default=40.0,
|
||||
),
|
||||
interval=0.11,
|
||||
tolerance=Param(
|
||||
default=0.9,
|
||||
),
|
||||
)
|
||||
|
||||
Mod('transducer',
|
||||
'frappy_psi.simdpm.DPM3',
|
||||
'simulated force',
|
||||
motor='drv',
|
||||
value=Param(
|
||||
unit='N',
|
||||
),
|
||||
)
|
||||
|
||||
Mod('res',
|
||||
'frappy.simulation.SimReadable',
|
||||
'raw temperature sensor on the stick',
|
||||
extra_params=['jitter'],
|
||||
jitter=Param(
|
||||
default=1.0,
|
||||
),
|
||||
value=Param(
|
||||
default=99.0,
|
||||
unit='Ohm',
|
||||
),
|
||||
)
|
||||
|
||||
Mod('T',
|
||||
'frappy_psi.softcal.Sensor',
|
||||
'temperature sensor, soft calibration',
|
||||
rawsensor='res',
|
||||
calib='X132254',
|
||||
value=Param(
|
||||
unit='K',
|
||||
),
|
||||
)
|
||||
@@ -0,0 +1,20 @@
|
||||
Node('softcal.demo.example',
|
||||
'convert r2 from PPMS to a temperature',
|
||||
'tcp://5001',
|
||||
)
|
||||
|
||||
Mod('r2',
|
||||
'frappy.core.Proxy',
|
||||
'convert r2 from PPMS to a temperature',
|
||||
remote_class = 'frappy.core.Readable',
|
||||
uri = 'tcp://localhost:5000',
|
||||
export = False,
|
||||
)
|
||||
|
||||
Mod('T2',
|
||||
'frappy_psi.softcal.Sensor',
|
||||
'',
|
||||
value = Param(unit = 'K'),
|
||||
rawsensor = 'r2',
|
||||
calib = 'X131346',
|
||||
)
|
||||
@@ -0,0 +1,96 @@
|
||||
Node('stressihtf2',
|
||||
'Stressihtf2 box of MLZ Sample environment group\n'
|
||||
'\n'
|
||||
'Controls an High Temperature Furnace with an Eurotherm and an PLC controlling some valves and checking cooling water.',
|
||||
'localhost:10767',
|
||||
meaning={'T_regulation':{'T':100}, 'T_sample':{'T_sample':100}},
|
||||
)
|
||||
|
||||
|
||||
Mod('T',
|
||||
'frappy_mlz.entangle.TemperatureController',
|
||||
'Main temperature control node of Stressihtf2.',
|
||||
tangodevice='tango://localhost:10000/box/eurotherm/ctrl',
|
||||
value = Param(unit='degC'),
|
||||
target = Param(datatype=["double", 0, 2000]),
|
||||
ramp = Param(
|
||||
default=60,
|
||||
datatype=["double",0,9999],
|
||||
unit='K/min',
|
||||
description='target ramping speed in K/min.',
|
||||
),
|
||||
abslimits = Param(
|
||||
default=[0,2000],
|
||||
datatype=["tuple",[["double"],["double"]]],
|
||||
unit='degC',
|
||||
description='currently active absolute limits for the setpoint.\
|
||||
depend on the regulationmode parameter (both/stick->0..600, tube->0..300K).',
|
||||
readonly=True,
|
||||
),
|
||||
userlimits = Param(
|
||||
default=[0,300],
|
||||
datatype=["tuple",[["double"],["double"]]],
|
||||
unit='degC',
|
||||
description='current user set limits for the setpoint. must be inside abslimits.',
|
||||
),
|
||||
heateroutput = Param(
|
||||
default=0,
|
||||
datatype=["double",0,100],
|
||||
unit='%%',
|
||||
description='output to the heater',
|
||||
),
|
||||
setpoint = 0,
|
||||
p = 1,
|
||||
i = 0,
|
||||
d = 0,
|
||||
pid = [1,0,0],
|
||||
speed = 0,
|
||||
)
|
||||
|
||||
Mod('T_sample_a',
|
||||
'frappy_mlz.entangle.Sensor',
|
||||
'Regulation temperature sensor.',
|
||||
tangodevice='tango://localhost:10000/box/eurotherm/sensora',
|
||||
value = Param(unit='degC'),
|
||||
visibility='user',
|
||||
)
|
||||
|
||||
Mod('T_sample_b',
|
||||
'frappy_mlz.entangle.Sensor',
|
||||
'(optional) Sample temperature sensor.',
|
||||
tangodevice='tango://localhost:10000/box/eurotherm/sensorb',
|
||||
value = Param(unit='degC'),
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('N2',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'Switches the N2 gas inlet on or off.',
|
||||
tangodevice='tango://localhost:10000/box/plc/_gas1',
|
||||
mapping={'off':0,'on':1},
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('He',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'Switches the He gas inlet on or off.',
|
||||
tangodevice='tango://localhost:10000/box/plc/_gas2',
|
||||
mapping={'off':0,'on':1},
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('lamps',
|
||||
'frappy_mlz.entangle.NamedDigitalOutput',
|
||||
'Switches the heating lamps on or off.',
|
||||
tangodevice='tango://localhost:10000/box/plc/_onoff',
|
||||
mapping={'off':0,'on':1},
|
||||
visibility='expert',
|
||||
)
|
||||
|
||||
Mod('water_ok',
|
||||
'frappy_mlz.entangle.NamedDigitalInput',
|
||||
'Readout of the cooling water state.',
|
||||
tangodevice='tango://localhost:10000/box/plc/_waterok',
|
||||
mapping={'failed':0,'ok':1},
|
||||
visibility='expert',
|
||||
)
|
||||
@@ -0,0 +1,74 @@
|
||||
Node('test.config.frappy.demo',
|
||||
'''short description of the testing sec-node
|
||||
|
||||
This description for the node can be as long as you need if you use a multiline string.
|
||||
|
||||
Very long!
|
||||
The needed fields are Equipment id (1st argument), description (this)
|
||||
and the main interface of the node (3rd arg)
|
||||
''',
|
||||
'tcp://10768',
|
||||
)
|
||||
|
||||
Mod('attachtest',
|
||||
'frappy_demo.test.WithAtt',
|
||||
'test attached',
|
||||
att = 'LN2',
|
||||
)
|
||||
|
||||
Mod('pinata',
|
||||
'frappy_demo.test.Pin',
|
||||
'scan test',
|
||||
)
|
||||
|
||||
Mod('recursive',
|
||||
'frappy_demo.test.RecPin',
|
||||
'scan test',
|
||||
)
|
||||
|
||||
Mod('LN2',
|
||||
'frappy_demo.test.LN2',
|
||||
'random value between 0..100%',
|
||||
value = Param(default = 0, unit = '%'),
|
||||
)
|
||||
|
||||
Mod('heater',
|
||||
'frappy_demo.test.Heater',
|
||||
'some heater',
|
||||
maxheaterpower = 10,
|
||||
)
|
||||
|
||||
Mod('T1',
|
||||
'frappy_demo.test.Temp',
|
||||
'some temperature',
|
||||
sensor = 'X34598T7',
|
||||
)
|
||||
|
||||
Mod('T2',
|
||||
'frappy_demo.test.Temp',
|
||||
'some temperature',
|
||||
sensor = 'X34598T8',
|
||||
)
|
||||
|
||||
Mod('T3',
|
||||
'frappy_demo.test.Temp',
|
||||
'some temperature',
|
||||
sensor = 'X34598T9',
|
||||
)
|
||||
|
||||
Mod('Lower',
|
||||
'frappy_demo.test.Lower',
|
||||
'something else',
|
||||
)
|
||||
|
||||
Mod('Decision',
|
||||
'frappy_demo.test.Mapped',
|
||||
'Random value from configured property choices. Config accepts anything ' \
|
||||
'that can be converted to a list',
|
||||
choices = ['Yes', 'Maybe', 'No'],
|
||||
)
|
||||
|
||||
Mod('c',
|
||||
'frappy_demo.test.Commands',
|
||||
'a command test',
|
||||
)
|
||||
@@ -0,0 +1,17 @@
|
||||
Node('PPMS.psi.ch',
|
||||
'PPMS at PSI',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('mf',
|
||||
'frappy_psi.ppms.Field',
|
||||
description='magnetic field',
|
||||
io='ppms',
|
||||
)
|
||||
|
||||
Mod('ppms',
|
||||
'frappy_psi.ppms.Main',
|
||||
description='the main and poller module',
|
||||
class_id='QD.MULTIVU.PPMS.1',
|
||||
pollinterval=2.0,
|
||||
)
|
||||
@@ -0,0 +1,4 @@
|
||||
Mod('m',
|
||||
'frappy_psi.testcmd.TestCmd',
|
||||
'module for testing commands',
|
||||
)
|
||||
@@ -0,0 +1,24 @@
|
||||
Node('trinamic_test.psi.ch',
|
||||
'trinamic motor test',
|
||||
interface='tcp://5000',
|
||||
)
|
||||
|
||||
Mod('drv_io',
|
||||
'frappy.core.BytesIO',
|
||||
'',
|
||||
uri='serial:///dev/tty.usbserial?baudrate=57600',
|
||||
)
|
||||
|
||||
Mod('drv',
|
||||
'frappy_psi.trinamic.Motor',
|
||||
'trinamic motor test',
|
||||
io='drv_io',
|
||||
standby_current=0.1,
|
||||
maxcurrent=1.4,
|
||||
acceleration=150.0,
|
||||
move_limit=360.0,
|
||||
speed=40.0,
|
||||
encoder_tolerance=3.6,
|
||||
free_wheeling=0.1,
|
||||
power_down_delay=0.1,
|
||||
)
|
||||
Reference in New Issue
Block a user