PID Integral term?


Assume you issue a ‘Move Absolute (20)’ motion command in PID control to a position axis that is not operational (so it cannot move). The output is set to an initial value but starts to increase regardless of a zero Integral term.

Why is this and how can I avoid it?


OK, just realized that the output does not get set immediately to the calculated value, but increases gradually following the generated targets and velocity profiles. Thanks anyway!

However, I have just tried this setup with a very fast acceleration and it does not seem to make a difference. The output of a position axis grows slowly. I have also noted that this is not the case with a Pressure/Force axis in PID control.

What is the issue with the position PID?

If I am not mistaken, it is due to the axis being in Position PID control. The position error increases slowly when the ‘Move Absolute (20)’ command is issued, as the controller calculates where the axis should be. This is reflected in the PID output.

Changing the axis to Velocity PID control and issuing a ‘Move Velocity (37)’ command should eliminate this increasing term of the output as it does not consider the position error.

The control output will increase as the target moves and the actual doesn’t due to the proportional term.
Whey you are in Pressure/Force control the target and actual position are set to be the same so there is no error or control output due to the position PID.


There will still be an error between the target and actual velocity and therefore a control output. The difference is that once the maximum target speed is reached the control output will not increase anymore.