
+ 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>
117 lines
3.4 KiB
INI
117 lines
3.4 KiB
INI
[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
|