User's Manual

PMAC User Manual
Closing the Servo Loop 103
CLOSING THE SERVO LOOP
The Purpose of the Servo Loop
PMAC automatically closes a digital servo loop for all activated motors. The purpose of the servo loop is
to command an output in such a way to try to make the actual position for the motor match the
commanded position. How well it does this depends on the tuning of the servo loop filter – the setting of
its parameters – and the dynamics of the physical system under control.
Servo Update Rate
The servo loop is closed (updated) at a frequency determined by:
The master clock rate
Jumper e98
Jumpers e29-e33 (which divide down the master clock to generate the phase clock)
Jumpers e3-e6 (which divide down the phase clock to generate the servo clock)
Parameter Ix60 (which can extend the servo clock in software).
Ix60 is useful to slow down the servo update rate for a particular motor, while leaving the faster rate for
other motors; it is also useful to test quickly whether the required performance can be obtained on all
motors with a slower servo update; in addition, it can be used slow the update rate below 1 kHz.
However, it is generally more efficient to slow down the update rate for all motors using the jumpers.
Reasons to Increase Rate
How fast should the servo loops be updated in the system? For most applications, the default setting of a
442 µsec update can be retained. There are two basic reasons to change this time. First, if not getting the
dynamic performance required, speed up the servo update rate (decrease the update time). In most
systems, a faster update rate means that a stiffer and more responsive loop can be closed, resulting in
smaller errors and lags.
Reasons to Decrease Rate
Second, if the routines of lower priority than the servo loop are not executing fast enough, consider
slowing down the servo update rate (increasing the update time). The system may be updating faster than
is required for the dynamic performance needed. If so, processor time is being wasted on needless extra
updates.
For example, doubling the servo update time from 442 µsec to 885 µsec, virtually doubles the time
available for motion and PLC program execution, allowing much faster motion block rates and PLC scan
rates.
Some systems get better performance with a slower servo update rate. Generally, these are systems with
relatively low encoder resolution, usually an encoder only on the load, where the derivative gain cannot
be raised enough to give adequate damping without causing an unstable buzz due to amplified
quantization errors. In this case, slowing down the update rate (increasing the update time) can help to
give adequate damping without excessive quantization noise.
Ramifications of Changing the Rate
If changing the servo update time, many of the existing servo gains Ix30 to Ix39 will behave differently.
To retain equivalent servo performance, change these values. Refer to the Notch Filter section in this
manual to see how to re-compute the notch filter parameters Ix36-Ix39.
If changing the servo update time with the jumpers, change parameter I10 to match the change in order
that trajectories are executed at the right speed. I10 does not have to be changed to match changes in
Ix60.