[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]