Understanding PID loop dynamics
09 March 2010
When you watch your PID controller trying to move a process variable, do you understand the interaction of the three factors at each point on the curve?
What's happening at each point on the curve?
You're sitting at your console in the control room, watching the graphic representation of a specific process variable controlled by a PID controller. Let's say it is a stable loop, and reasonably well tuned. That means it is following the setpoint closely enough to keep the process running on an even keel and your boss happy. For whatever reason, you need to make a setpoint change. You key in the new value and tell the control system to execute. The setpoint line on the screen moves to its new position. Then what?
Since your loop is running in automatic, the process variable should begin to move toward the new setpoint. As you watch the variable respond, do you ever stop to think about what's going on in the controller? What is actually causing the line to move? Which factor, or combination of factors, (proportional, integral, or derivative) is acting on the actuator at any given moment? Your ability to analyse the action at this level will help you determine what might be going wrong with your loops that do not perform as well.
Look at the diagram of a response to a set point change. What's happening at various points in the movement? For example, at point A, P is pushing hard since the variable is a long distance from the setpoint. I is beginning to push as well, but still isn't strong because little time has elapsed since the change occurred. D, assuming you're using it, is beginning to notice that the slope of the curve has taken a sudden turn and may be trying to counteract the P and I action.
With that in mind, ask yourself what's happening at point B? Which factor is pushing hardest as the variable nears the setpoint? What makes the curve turn around at C? How about D and E?
Let's go a step farther. What if this response isn't suitable for your process? What might be causing the sizeable amount of overshoot at point C? If you were to deal with such a situation in real life, how might you reduce that so the variable would approach the setpoint but no go so far over? Should you change your P value? Should you change the I value?
Obviously this is only a "thought experiment," but the process of puzzling through the various possibilities can help expand your knowledge. To help get you started, here are three resources by Vance VanDoren available from the Control Engineering archive that will help explain how these elements work together and strengthen your understanding:
Understanding PID Control
Loop Tuning Fundamentals
The Three Faces of PID
Most Viewed Articles...