[node SIM_MLZ_amagnet(Garfield)] description=MLZ-Amagnet . Water cooled magnet from ANTARES@MLZ. . Use module to control the magnetic field. Don't forget to select symmetry first (can be moved only at zero field!). . Monitor T1..T4 (Coil temps), if they get to hot, field will ramp down! . In case of Problems, contact the ANTARES people at MLZ. visibility=expert foo=bar [interface tcp] type=tcp bindto=0.0.0.0 bindport=10767 [module enable] class=secop.simulation.SimWritable value.datatype={"type":"enum", "members":{'On':1,'Off':0}} target.datatype={"type":"enum", "members":{'On':1,'Off':0}} .description='Enables to Output of the Powersupply' .visibility='advanced' [module polarity] class=secop.simulation.SimWritable value.datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}} target.datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}} .description=polarity (+/-) switch . there is an interlock in the plc: if there is current, switching polarity is forbidden if polarity is short, powersupply is disabled .visibility=advanced [module symmetry] class=secop.simulation.SimWritable value.datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}} target.datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}} .description=par/ser switch selecting (a)symmetric mode . note: on the front panel symmetric is ser, asymmetric is par .visibility=advanced value.default = 'symmetric' [module T1] class=secop.simulation.SimReadable .description=Temperature1 of the coils system value.unit='degC' value.default = 23.45 [module T2] class=secop.simulation.SimReadable .description=Temperature2 of the coils system value.unit='degC' value.default = 23.45 [module T3] class=secop.simulation.SimReadable .description=Temperature3 of the coils system value.unit='degC' value.default = 23.45 [module T4] class=secop.simulation.SimReadable .description=Temperature4 of the coils system value.unit='degC' value.default = 23.45 [module currentsource] class=secop.simulation.SimDrivable .description=Device for the magnet power supply (current mode) 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.datatype = {"type":"limit", "members":{"type":"double", "min":0, "max":200, "unit":"A"}} abslimits.default = (0, 200) speed.datatype = {"type":"double", "min":0, "max":10, "unit":"A/s"} speed.default = 10 ramp.datatype = {"type":"double", "min":0, "max":600, "unit":"A/min"} ramp.default = 600 precision.datatype = {"type":"double", "unit":"A"} precision.default = 0.1 current.datatype = {"type":"double", "min":0, "max":200, "unit":"A"} current.default = 0 voltage.datatype = {"type":"double", "min":0, "max":10, "unit":"V"} voltage.default = 0 window.datatype = {"type":"double", "min":0, "max":120, "unit":"s"} window.default = 10 [module mf] class=secop_mlz.amagnet.GarfieldMagnet .description=magnetic field module, handling polarity switching and stuff subdev_currentsource=currentsource subdev_enable=enable subdev_polswitch=polarity subdev_symmetry=symmetry target.unit='T' value.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.default=-0.4,0.4