Controller
Controller
02
33000 FIPO_TYPE 3
1004 CTRL_CONFIG 4096 (= 1000H = Bit 12)
10082 CTRLOUT_LEAD_TIME 0.0 (makes the adaption of the FFW data easier)
1183 CURRCTRL_ADAPT_ENABLE 0
1180 CURRCTRL_ADAPT_CURRENT_1 10.0
1181 CURRCTRL_ADAPT_CURRENT_2 100.0
1182 REDUCE_ARMATURE_INDUCTANCE 35.0
20490 IGNORE_OVL_FACTOR_FOR_ADIS 1
20170 COMPRESS_BLOCK_PATH_LIMIT 50.0
20602 CURV_EFFECT_ON_PATH_ACCEL 0.8
20603 CURV_EFFECT_ON_PATH_JERK 1
28530 MM_PATH_VELO_SEGMENTS 5
28520 MM_MAX_AXISPOLY_PER_BLOCK 3
28540 MM_ARCLENGTH_SEGMENTS 10
11400 TRACE_SELECT 0
42470 CRIT_SPLINE_ANGLE 36.0
Then NCK-Reset.
Current controller:
• Current control filters do not influence the measurements and therefore they must not be deactivated.
Normally the current control parameters are adjusted very well with the operation "Calculate control data" and
need not further be optimised. However, an inspection of the frequency response is always reasonable,
particularly when little motors are used.
Speed controller:
-Dynamic (equivalent time constant) of the inner current control loop and therefore the MD who are relevant for
the current control loop.
and additional:
1200 NUM_CURRENT_FILTERS 1
1201 CURRENT_FILTER_CONFIG E
-------------------- ------
1202 CURRENT_FILTER_1_FREQUENCY 2000.0
1203 CURRENT_FILTER_1_DAMPING 0.700000
-------------------- ------
1204 CURRENT_FILTER_2_FREQUENCY 0.0
1205 CURRENT_FILTER_2_DAMPING 1.0
-------------------- ------
1210 CURRENT_FILTER_1_SUPPR_FREQ 1400.0
1211 CURRENT_FILTER_1_BANDWIDTH 600.0
1212 CURRENT_FILTER_1_BW_NUM 0.0
1222 CURRENT_FILTER_1_BS_FREQ 100.0
-------------------- ------
1213 CURRENT_FILTER_2_SUPPR_FREQ 900.0
1214 CURRENT_FILTER_2_BANDWIDTH 200.0
1215 CURRENT_FILTER_2_BW_NUM 20.0
1223 CURRENT_FILTER_2_BS_FREQ 100.0
-------------------- ------
1216 CURRENT_FILTER_3_SUPPR_FREQ 1500.0
1217 CURRENT_FILTER_3_BANDWIDTH 600.0
1218 CURRENT_FILTER_3_BW_NUM 10.0
1224 CURRENT_FILTER_3_BS_FREQ 100.0
-------------------- ------
1219 CURRENT_FILTER_4_SUPPR_FREQ 261.0
1220 CURRENT_FILTER_4_BANDWIDTH 100.0
1221 CURRENT_FILTER_4_BW_NUM 30.0
1225 CURRENT_FILTER_4_BS_FREQ 100.0
-------------------- ------
1500 NUM_SPEED_FILTERS 2
1501 SPEED_FILTER_TYPE 200
1503 SPEED_FILTER_2_TIME 2.400000
1508 SPEED_FILTER_2_FREQUENCY 2000.0
1509 SPEED_FILTER_2_DAMPING 0.700000
-------------------- ------
1514 SPEED_FILTER_1_SUPPR_FREQ 3500.0
1515 SPEED_FILTER_1_BANDWIDTH 500.0
1516 SPEED_FILTER_1_BW_NUMERATOR 0.0
Effectiveness of the Current setpoint filter and speed setpoint filter at low frequencies in dependence of the
cycle time:
speed controller cycle time: Effectiveness of the band stop filt.: Effectiveness of the low pass
62.5 µs > 80 Hz >50 Hz
125 µs > 30 Hz >30 Hz
250 µs > 15 Hz > 15 Hz
• For optimisation and frequency response measurements of the speed control loop the speed setpoint filter
must be switched of. They have no influence on stability of the speed control loop but they have a big
influence on measuring results.
1500 NUM_SPEED_FILTERS 0
Do the frequency response of the controlled system for better estimation of the poles and zeros.
Advantage of these measuring: Poles and Zeros of the controlled system can be examined without any
influence of the controller. E.g. at linear motors: sometimes the motor makes a noise already with standard data.
So the measuring result is very noisy and inapplicable.
Remedy: reduce speed controller gain - make frequency response of the controlled system - identify critical
poles - place band stop filters - increase controller gain. Over a specific controller gain the frequency response
of the closed speed controller loop brings good results again.
TIP: For very clean and good frequency responses of the controlled system at lower frequencies it is very
helpful to reduce the speed controller gain and increase the integrator time extremely.
• Transfer function: actual speed direct measuring system / actual speed motor measuring system
10000.0
1000.0
100.0
100 µ
10 µ
1µ
10.0
1.0
0.1
1 10 100 1000
Natural frequency [Hz]
Reachable KV-Factor:
100,0
1 ms
2 ms
10,0
4 ms
1,0
0,1
1 10 100 1000 10000
Reference model:
With the reference model different respond to setpoint changes or disturbance changes can be achieved.
Speed filter:
Speed filters do not help for stability in the closed speed control loop because they are outside in front of the
closed loop. They smooth the desired speed of the speed controller who comes from the position controller and
can stabilise the position controller.
Comparison of the speed control loop with long and short integrator time. A longer integrator time reduce the
noise reduction, this is remarkable particularly at the quadrant change (friction).
Mechanic plus disturbance optimal speed controller loop as controlled system for the position controller with
reference model 150 Hz.
-Dynamic (equivalent time constant) of the inner speed and current control loop and therefore the MD who are
relevant for the speed and the current control loop.
The following MD have an influence to the result but they have no influence on the stability of the closed
position controller loop. Therefore they must be deactivated.
32620 FFW_MODE 0
32900 DYN_MATCH_ENABLE 0
32910 DYN_MATCH_TIME 0.000500
32400 AX_JERK_ENABLE 0
32402 AX_JERK_MODE 2
32410 AX_JERK_TIME 0.030000
Before optimisation of the position controller the optimal IPO- and position controller cycle time must be
measured out (10 000 block program) because the cycle times have an influence on the max. reachable Kv-
factor.
Clearly visible is the pole at ca. 30 Hz which was measured as lowest natural frequency in the mechanical
frequency response too. It limits the max. reachable Kv-factor with disturbance optimal speed controller if no
additional actions are taken.
With a reference model at 150 Hz the Amplitude at 30 Hz is reduced already in the speed control loop
(Compare picture Frequ_Resp_3_Ref_250 with Frequ_Resp_2_250). With the same Kv-Factor as in the picture
before some amplitude margin stands for disposal so the Kv-factor can be increased.
A similar effect can reached with the speed filters. However the time constant (MD 1503) should be not too big
(ca. < 10 ms). If this time constant is too big, the sum of the little time constants can lead to a exorbitant
adjustment of the position controller and this can lead to a bad positioning behaviour.
Besides big time constants in the speed filters have the negative effect that they filter the desired values too
who come from the feed forward control (because of their arrangement in the controller loop). The same
Th. Reichel, A&D MC E55 Controller.doc Page 13 of 22
SIEMENS AG 20.01.02
damping effect can be reached alternative with the filter MD 32930 POSCTRL_OUT_FILTER_ENABLE and the
corresponding time constant MD 32940 POSCTRL_OUT_FILTER_TIME. These low pass has no effect on the
feed forward channel.
In the next picture the speed controller integrator time was increased to 10 ms. It can not yet be the speech from
a damping optimal adaption, but it goes into this direction. If the mechanical characteristics of the axis allow
these adjustment (quadrant error, friction....) in this way can be reached the highest Kv-factors (compare picture
Pos_Control_2 and Pos_Control_3). These adjustment should not be used with software versions < 5 on milling
machines.
The practice shows, that a absolute necessary requirement for a good surface and contour precision is a good
circularity test. A "good" circularity test is - in dependence on the machine dynamic - a radius- and shape
deviation < 10 µm.
With the numerous Functions of the 840 D it is nearly always possible to fulfil this criteria.
G91 ;Incremental
G17 ;X/Y-plane
G02 I10 J0 F10000 TURN=1000 ;Radius 10 mm, 1000 repeats
M30
• In the practice a circularity test with Radius = 10 mm and F = 5 ... 10 m/min is useful.
Without any further effort the following circles can be reached in dependence of the described 3 optimisation
methods (Reference model, speed filter, long integrator time). All circles with Kv = 3.8 m/min/mm.
All circles in this document are made with 5000 mm/min = F5000 even if in the field ’feedrate" in the circularity
test is a different value!!!!!!
R = 10 mm, F5000!!
Data from picture Pos_Control_10 :
R = 10 mm, F5000!!
Data from picture Pos_Control_6 :
With this combination of longer Integrator time and speed filter the position controller loop can become
unbalanced. Therefore the frequency response has to be checked again after the circularity test.
Because the speed filter has a damping effect to the position controller, it is now possible to reduce the
integrator time a little bit. If the radius of the circle changes slightly, the speed filter has to be adjusted a little bit
again. So it is possible to get a very accurate Radius and a nearly perfect frequency response of the position
controller loop.
Effect of different Parameters in interpolating Axis (all circles without feed forward control)
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.8 3.80
1407 SPEEDCTRL_GAIN_1 5.5 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 3.0 3.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 2 2
1501 SPEED_FILTER_TYPE 200 200
1503 SPEED_FILTER_2_TIME 5.9 5.0
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.8 3.8
1407 SPEEDCTRL_GAIN_1 5.5 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 3.0 3.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 2 2
1501 SPEED_FILTER_TYPE 200 200
1503 SPEED_FILTER_2_TIME 5.9 4.0
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.8 3.7
1407 SPEEDCTRL_GAIN_1 5.5 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 3.0 3.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 2 2
1501 SPEED_FILTER_TYPE 200 200
1503 SPEED_FILTER_2_TIME 5.9 5.9
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.8 3.70
1407 SPEEDCTRL_GAIN_1 5.5 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 3.0 3.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 2 2
1501 SPEED_FILTER_TYPE 200 200
1503 SPEED_FILTER_2_TIME 5.9 5.9
32900 DYN_MATCH_ENABLE 1 1
32910 DYN_MATCH_TIME 0.0005 0.0
With the speed filter the equivalent time constant of the position controller loop did not change from the point of
view of the Interpolator. The speed filter lift only the amplitude of the position controller frequency response and
therefore the radius of the circle. With the Dynamic match time filter the equivalent time constant of the position
controller loop change, the phase relation changes, the circle changes to a ellipse or a ellipse will be corrected
to a circle.
G64
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.80 3.80
1407 SPEEDCTRL_GAIN_1 5.50 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 10.0 10.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 0 0
Scale: 10 µm/div.
G64
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.80 3.80
1407 SPEEDCTRL_GAIN_1 5.50 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 5.0 5.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 2 2
1501 SPEED_FILTER_TYPE 200 200
1503 SPEED_FILTER_2_TIME 5.9 5.9
Scale: 10 µm/div.
G60
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.80 3.80
1407 SPEEDCTRL_GAIN_1 5.50 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 10.0 10.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 0 0
Scale: 10 µm/div.
G60
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.80 3.80
1407 SPEEDCTRL_GAIN_1 5.50 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 10.0 10.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 2 2
1501 SPEED_FILTER_TYPE 200 200
1503 SPEED_FILTER_2_TIME 5.9 5.9
Scale: 10 µm/div.
G64
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.80 3.80
1407 SPEEDCTRL_GAIN_1 5.50 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 10.0 10.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 2 2
1501 SPEED_FILTER_TYPE 200 200
1503 SPEED_FILTER_2_TIME 5.9 5.9
Scale: 20 µm/div.
Axis 1 Axis 2
32200 POSCTRL_GAIN 3.80 3.80
1407 SPEEDCTRL_GAIN_1 5.50 5.0
1409 SPEEDCTRL_INTEGRATOR_TIME_1 10.0 10.0
1414 SPEEDCTRL_REF_MODEL_FREQ 0.0 0.0
1500 NUM_SPEED_FILTERS 0 0
Scale: 68 µm/div.