Troubleshooting PID Loops


Introduction to Troubleshooting PID Loops

Indeed troubleshooting PID Loops can be frustrating. It can take time, patience, and knowledge of the process. In this section, we’ll look at a few common issues you might have with PID loops, and how to solve those issues. This is for example only, and your plant might have a different tuning procedure. Be aware that changing any PID settings will affect how the equipment functions. Also, it’s important to realize that tuning a slave loop might force you to retune a master loop in a cascading configuration.

Controller Gain too High

The most common problem is probably having too high of a controller gain. Always pay attention to your units… If your proportional setting is for gain, then you usually decrease the value to provide less gain. On the other hand, your setting could be labeled as bandwidth. In this case, to provide a lower gain, you would increase the bandwidth. This would provide you with a slower response, but a wider range of control.

Let’s see what happens when our controller gain is too high.

Blue is our setpoint, red is the control variable, and green is the process variable.

Kc Too High

As you can see, the loop is oscillating. Also pay attention to the phase of the control variable and process variable. Remember, your control variable is in red, and that is your output. The process variable is in green. This is your feedback from the system. The blue line is our setpoint. Notice how the process variable and control variable are 180 degrees out of phase with each other. This is usually a sign of too much gain. In other words, too little bandwidth.

Integral is too High

In this example, we have the integral set too aggressively. As I’ve said before, pay attention to your units. If your units are Minutes per repeat, then you would increase the amount of time. This would slow the response. On the other hand, if your units are in repeats per second, or repeats per minute, then you would lower this value. Obviously, less repeats per minute would cause the loop to respond slower.

Integral too high

In this case, the control variable and process variable are not exactly in opposite phases. This is usually the effect of too much integral.

Derivative is too High

You don’t always use derivative, but if you are using it, you probably notice a stair step pattern from time to time. This can be, but not always related to having too much derivative. Remember, derivative anticipates what the error or process variable will be in the future. The derivative setting chooses how far into the future we want to predict, and provide an output accordingly.

Here is an example of too much derivative.

As you can see, the process variable (green) dropped due to extra load on the system. As the process variable starts to climb, the derivative decreases the output to the point that that process variable begins to level off or even drop again. At that point, we loose the negative derivative action, and the process variable starts to climb.

Additionally, if you have a noisy process variable with too much derivative, you will have an overactive control variable.

Here is an example where our process variable is noisy. In the first half of the graph, derivative is applied. In the last half of the graph, derivative is off. This excessive action could cause excessive wear on your control equipment.

derivative

Mechanical Failures

Other failures, such as a valve sticking can cause the process variable to stick high or low until it breaks free. This might result in a sawtooth pattern on your control variable. Check the response time of your control loop for repeatability. In other words, a specific disturbance will result in a particular recovery time. The next time the same disturbance occurs, obviously, your recovery time should be the same. If not, then you likely have a mechanical failure in your system.

Common Errors when Tuning and troubleshooting PID loops

Often, when tuning PID loops, you base your gains on calculations. Be sure your calculations are in the correct units. For example, if your controller’s integral is in repeats per second, be sure you do your math in seconds instead of minutes.

When tuning integrated loops such as a tank level, be sure to use the correct tuning method. Non-Self regulating loops have a different approach for tuning. Read the section on tuning tank levels!

Another common mistake is forgetting to save your project after adjusting tuning parameters. It’s important to realize the PID gains are in the controller’s memory. If you loose the program, and download an older project, you are downloading old tuning parameters. These might even be default tuning parameters.

For more information, visit the PID Category Page!

— Ricky Bryce

Leave a comment

Your email address will not be published. Required fields are marked *