
+ make 'limit' usable as type in cfg files + minor fixes Change-Id: Ib94b2645c7a0d978d64d4c86c4415d4b5b0d485f Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21485 Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
165 lines
6.2 KiB
INI
165 lines
6.2 KiB
INI
[node ccr12]
|
|
description = [sim] CCR12 box of MLZ Sample environment group
|
|
.
|
|
Contains a Lakeshore 336 and an PLC controlling the compressor
|
|
and some valves.
|
|
.
|
|
This is how we use it now.
|
|
|
|
[interface tcp]
|
|
type=tcp
|
|
bindto=0.0.0.0
|
|
bindport=10767
|
|
|
|
[module T_ccr12]
|
|
class=secop.simulation.SimDrivable
|
|
.description=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.
|
|
.
|
|
Note: in nicos this is handled by its own class which manages T_ccr12_stick and T_ccr12_tube.
|
|
in this simulation this module is isolated.
|
|
.extra_params=ramp
|
|
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
|
|
ramp.default=60
|
|
value.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
|
|
value.default=300
|
|
target.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
|
|
target.default=300
|
|
.meaning=["temperature_regulation", 20]
|
|
|
|
[module T_ccr12_stick]
|
|
class=secop.simulation.SimDrivable
|
|
.description=Temperature regulation for the sample stick in ccr12.
|
|
.extra_params=ramp
|
|
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
|
|
ramp.default=60
|
|
value.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
|
|
value.default=300
|
|
target.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
|
|
target.default=300
|
|
.meaning=["temperature_regulation", 15]
|
|
|
|
[module T_ccr12_tube]
|
|
class=secop.simulation.SimDrivable
|
|
.description=Temperature regulation for the tube of ccr12.
|
|
.extra_params=ramp
|
|
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
|
|
ramp.default=60
|
|
value.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
|
|
value.default=300
|
|
target.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
|
|
target.default=300
|
|
.meaning=["temperature_regulation", 10]
|
|
|
|
[module T_ccr12_A]
|
|
class=secop.simulation.SimReadable
|
|
.description=(optional) Sample temperature sensor.
|
|
value.datatype={"type":"double", "unit":"K"}
|
|
value.default=300
|
|
.meaning=["temperature", 9]
|
|
|
|
[module T_ccr12_B]
|
|
class=secop.simulation.SimReadable
|
|
.description=(regulation) temperature sensor on stick.
|
|
value.datatype={"type":"double", "unit":"K"}
|
|
value.default=300
|
|
.meaning=["temperature", 10]
|
|
|
|
[module T_ccr12_C]
|
|
class=secop.simulation.SimReadable
|
|
.description=Temperature at the coldhead.
|
|
value.datatype={"type":"double", "unit":"K"}
|
|
value.default=70
|
|
.meaning=["temperature", 1]
|
|
|
|
[module T_ccr12_D]
|
|
class=secop.simulation.SimReadable
|
|
.description=(regulation) temperature at coupling to stick.
|
|
value.datatype={"type":"double", "unit":"K"}
|
|
value.default=80
|
|
.meaning=["temperature", 2]
|
|
|
|
|
|
|
|
[module ccr12_pressure_regulate]
|
|
class=secop.simulation.SimWritable
|
|
.description=Selects on which Sensor the pressure regulation works, or switches it off.
|
|
.visibility=expert
|
|
value.datatype={"type":"enum", "members":{'off':0,'p1':1,'p2':2}}
|
|
value.default='off'
|
|
target.datatype={"type":"enum", "members":{'off':0,'p1':1,'p2':2}}
|
|
target.default='off'
|
|
|
|
[module ccr12_compressor]
|
|
class=secop.simulation.SimDrivable
|
|
.description=Switches the compressor for the cooling stage on or off.
|
|
.
|
|
Note: This should always be on, except for fast heatup for sample change.
|
|
value.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|
value.default='on'
|
|
target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|
target.default='on'
|
|
|
|
[module ccr12_gas_switch]
|
|
class=secop.simulation.SimWritable
|
|
.description=Switches the gas inlet on or off.
|
|
.
|
|
note: in reality this switches itself off after 15min.
|
|
note: in reality this is interlocked with ccr12_vacuum_switch, only one can be on!
|
|
note: in this simulation this module is isolated.
|
|
value.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|
value.default='off'
|
|
target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|
target.default='off'
|
|
|
|
[module ccr12_vacuum_switch]
|
|
class=secop.simulation.SimWritable
|
|
.description=Switches the vacuum pumping valve on or off.
|
|
.
|
|
note: in reality this is interlocked with ccr12_gas_switch, only one can be on!
|
|
note: in this simulation this module is isolated.
|
|
value.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|
value.default='off'
|
|
target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|
target.default='off'
|
|
|
|
[module ccr12_p1]
|
|
class=secop.simulation.SimReadable
|
|
.description=Default pressure Sensor, linear scale 0..1000mbar
|
|
value.datatype={"type":"double", "unit":"mbar"}
|
|
value.default=999
|
|
|
|
[module ccr12_p2]
|
|
class=secop.simulation.SimReadable
|
|
.description=Auxillary pressure Sensor.
|
|
value.datatype={"type":"double", "unit":"mbar"}
|
|
value.default=1e-6
|
|
|
|
[module ccr12_curve_p2]
|
|
class=secop.simulation.SimWritable
|
|
.description=Curve for Aux pressure Sensor p2
|
|
.visibility=expert
|
|
value.default='TTR100'
|
|
value.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}}
|
|
target.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}}
|
|
|
|
[module ccr12_p1_limits]
|
|
class=secop.simulation.SimWritable
|
|
.description=Limits for pressure regulation in P1.
|
|
.visibility=expert
|
|
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
|
value.default=[0,10]
|
|
target.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
|
target.default=[0,10]
|
|
|
|
[module ccr12_p2_limits]
|
|
class=secop.simulation.SimWritable
|
|
.description=Limits for pressure regulation in P2.
|
|
.visibility=expert
|
|
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
|
value.default=[1e-5,1e-3]
|
|
target.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
|
target.default=[1e-5,1e-3]
|