Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Global I-Variables 111
Motor xx PID Servo Setup I-Variables
Note:
PID Servo Gains Ixx30 Ixx40 are only used if supplementary motor I-variable
Iyy00/Iyy50 is set to its default value of 0. If Iyy00/Iyy50 is set to 1, the Extended
Servo Algorithm gains in Iyy10-39/Iyy60-89 are used instead.
Ixx30 Motor xx PID Proportional Gain
Range: -8,388,608 - 8,388,607
Units: (Ixx08/2
19
) 16-bit output bits / count
Default: 2000
WARNING:
Changing the sign of Ixx30 on a motor that has been closing a stable servo loop
will cause an unstable servo loop, leading to a probable runaway condition.
Ixx30 provides a control output proportional to the position error (commanded position minus actual
position) of Motor xx. It acts effectively as an electronic spring. The higher Ixx30 is, the stiffer the
“spring” is. Too low a value will result in sluggish performance. Too high a value can cause a “buzz”
from constant over-reaction to errors.
If Ixx30 is set to a negative value, this has the effect of inverting the command output polarity for motors
not commutated by PMAC, when compared to a positive value of the same magnitude. This can
eliminate the need to exchange wires to get the desired polarity. On a motor that is commutated by
PMAC, changing the sign of Ixx30 has the effect of changing the commutation phase angle by 180
o
.
Negative values of Ixx30 currently cannot be used with the auto tuning programs in the PMAC Executive
program.
This parameter is usually set initially using the Tuning utility in the PMAC Executive Program. It may be
changed on the fly at any time to create types of adaptive control.
Note:
The default value of 2000 for this parameter is exceedingly “weak” for most
systems (all but the highest resolution velocity-loop systems), causing sluggish
motion and/or following error failure. Most users will immediately want to raise
this parameter significantly even before starting serious tuning.
If the servo update time is changed, Ixx30 will have the same effect for the same numerical value.
However, smaller update times (faster update rates) should permit higher values of Ixx30 (stiffer systems)
without instability problems.
Ixx30 is not used if Iyy00/50 for the motor has been set to 1 to enable the Extended Servo Algorithm
(ESA) for the motor.
Ixx31 Motor xx PID Derivative Gain
Range: -8,388,608 - 8,388,607
Units: (Ixx30*Ixx09)/2
26
16-bit output bits / (counts/servo update)
Default: 1280
Ixx31 subtracts an amount from the control output proportional to the measured velocity of Motor xx. It
acts effectively as an electronic damper. The higher Ixx31 is, the heavier the damping effect is.
If the motor is driving a properly tuned velocity-loop amplifier, the amplifier will provide sufficient
damping, and Ixx31 should be set to zero. If the motor is driving a current-loop (torque) amplifier, or if
PMAC is commutating the motor, the amplifier will provide no damping, and Ixx31 must be greater than
zero to provide damping for stability.