Integrator On In Position


#1

Note: See the next post in this topic for an improved method of using Integrator On In Position.

On systems with a non-linear response, the Integral Term can become large (wind up) during the move. This will result in the Target Position overshooting or undershooting the Command Position, and the axis will take a long time getting into position. One way to solve this problem is to turn of the integrator during the move, when it is not so useful anyhow, then turn it on when the axis gets close to the final position, which is where the integral gain is typically very useful for holding final position. This also makes it possible to make the Integral Gain much larger than otherwise possible.

The attached RMCTools project has a user program that shows how to turn the integrator off during the move, and turn it on at the end of the move.


IntegratorOnInPosition.rmcproj (17.2 KB)


#2

The Integrator On In Position feature turns off the integrator while the axis is moving. This is useful for axes where the actual position does not track well during the move, causing the integral term to wind up, which in turn causes overshoot. Turning the integrator off during the move will prevent overshoot. This feature is useful for axes where the final position is important, overshoot is unacceptable, and the tracking during the move is unimportant. The example uses the Target Generator Done status bit to turn the integrator on and off.

This example is one user program that runs continuously (you will need a task dedicated to this), and applies the feature to any of up to 8 axes. Use the bits in the EnableIntegratorOnInPos variable to enable this feature for the axes you want.

Import this user program to your project. Make sure to read the comments in the user program for further instructions.
IntegratorOnInPos.rmcproj (49.1 KB)
IntegratorOnInPos.rmcprog (9.49 KB)