[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=["enum", {'On':1,'Off':0}] target.datatype=["enum", {'On':1,'Off':0}] .description='Enables to Output of the Powersupply' .visibility='advanced' [module polarity] class=secop.simulation.SimWritable value.datatype=["enum", {'+1':1,'0':0,'-1':-1}] target.datatype=["enum", {'+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 #comtries = 50 [module symmetry] class=secop.simulation.SimWritable value.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}] target.datatype=["enum",{'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' value.value = 'symmetric' [module T1] class=secop.simulation.SimReadable .description=Temperature1 of the coils system #warnlimits=(0, 50) value.unit='degC' value.default = 23.45 [module T2] class=secop.simulation.SimReadable .description=Temperature2 of the coils system #warnlimits=(0, 50) value.unit='degC' value.default = 23.45 [module T3] class=secop.simulation.SimReadable .description=Temperature3 of the coils system #warnlimits=(0, 50) value.unit='degC' value.default = 23.45 [module T4] class=secop.simulation.SimReadable .description=Temperature4 of the coils system #warnlimits=(0, 50) 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 #unit=A .visibility=advanced .extra_params = abslimits, speed, ramp, precision, current, voltage, window abslimits.datatype = ["tuple", [["double"], ["double"]]] abslimits.value = (0, 200) abslimits.default = (0, 200) abslimits.unit = 'A' speed.datatype = ["double", 0, 10] speed.default = 10 speed.unit = 'A/s' ramp.datatype = ["double", 0, 600] ramp.default = 600 ramp.unit = 'A/min' precision.datatype = ["double"] precision.default = 0.1 precision.unit = 'A' current.datatype = ["double", 0, 200] current.default = 0 current.unit = 'A' voltage.datatype = ["double", 0, 10] voltage.default = 0 voltage.unit = 'V' window.datatype = ["double", 0, 120] window.default = 10 window.unit = 's' [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=The magnetic field .priority=100 .visibility=user abslimits.default=-0.4,0.4