Adapt sim_* cfg's to current syntax

+ 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>
This commit is contained in:
Enrico Faulhaber
2019-10-30 17:24:03 +01:00
parent ac873ed546
commit 5458911b67
20 changed files with 246 additions and 226 deletions

View File

@ -6,8 +6,6 @@ description = [sim] CCR12 box of MLZ Sample environment group
.
This is how we use it now.
.meaning={'T_regulation':{'T_ccr12':200, 'T_ccr12_stick':150, 'T_ccr12_tube':100}, 'T_sample':{'T_ccr12_B':100, 'T_ccr12_A':90, 'T_ccr12_D':20, 'T_ccr12_C':10}}
[interface tcp]
type=tcp
bindto=0.0.0.0
@ -19,60 +17,69 @@ class=secop.simulation.SimDrivable
.
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=["double",0,600]
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
ramp.default=60
value.unit='K'
value.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
value.default=300
target.datatype=["double", 0, 600]
target.datatype={"type":"double", "min":0,"max":600, "unit":"K"}
target.default=300
target.unit='K'
.meaning=["temperature_regulation", 20]
[module T_ccr12_stick]
class=secop.simulation.SimDrivable
.description=Temperature regulation for the sample stick in ccr12.
.extra_params=ramp
target.datatype=["double", 0, 600]
ramp.datatype=["double",0,600]
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
ramp.default=60
value.unit='K'
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
target.datatype=["double", 0, 300]
ramp.datatype=["double",0,600]
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
ramp.default=60
value.unit='K'
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
value.unit='K'
.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
value.unit='K'
.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
value.unit='K'
.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
value.unit='K'
.meaning=["temperature", 2]
@ -80,71 +87,78 @@ value.unit='K'
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'
value.datatype=["enum", {'off':0,'p1':1,'p2':2}]
target.datatype=["enum", {'off':0,'p1':1,'p2':2}]
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.default='off'
value.datatype=["enum", {'off':0,'on':1}]
target.datatype=["enum", {'off':0,'on':1}]
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'
value.datatype=["enum", {'off':0,'on':1}]
target.datatype=["enum", {'off':0,'on':1}]
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'
value.datatype=["enum", {'off':0,'on':1}]
target.datatype=["enum", {'off':0,'on':1}]
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
value.unit=mbar
[module ccr12_p2]
class=secop.simulation.SimReadable
.description=Auxillary pressure Sensor.
value.datatype={"type":"double", "unit":"mbar"}
value.default=1e-6
value.unit=mbar
[module ccr12_curve_p2]
class=secop.simulation.SimWritable
.description=Curve for Aux pressure Sensor p2
.visibility=expert
value.default='TTR100'
value.datatype=["enum", {'10V':0,'default':1,'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=["enum", {'10V':0,'default':1,'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}]
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=["tuple",[["double"],["double"]]]
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
value.default=[0,10]
value.unit=mbar
target.datatype=["tuple",[["double"],["double"]]]
target.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
target.default=[0,10]
target.unit=mbar
[module ccr12_p2_limits]
class=secop.simulation.SimWritable
.description=Limits for pressure regulation in P2.
.visibility=expert
value.datatype=["tuple",[["double"],["double"]]]
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
value.default=[1e-5,1e-3]
value.unit=mbar
target.datatype=["tuple",[["double"],["double"]]]
target.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
target.default=[1e-5,1e-3]
target.unit=mbar