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:
@ -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
|
||||
|
Reference in New Issue
Block a user