Has it been +two weeks already? In our last post - TMC PID basics - we reviewed some basic controls vocabulary associated with "PID control," and then summarized the PID forms (Parallel, Interactive, etc.). In this post, we'll talk about the family of turbomachinery control structures that are closely related to or derived from the PID and where they are used.
Turbomachinery PID Control - Structures
TMC control structures or modes
In the TMC basics post, we defined and discussed the structure of the PID. While a basic understanding of the positional and velocity PID forms are foundational to understanding turbomachinery controls, a full-blown Proportional + Integral + Derivative controller is pretty rare in turbomachinery controls.
Instead, we use parts, turn on pieces, or program derivatives of the PID pieces for most turbomachinery control applications.
A quick note; if you take a look at a PID function as delivered in your PLC, DCS, or what have you, you might be thinking, that the last blog post was "fake news," as there are probably a lot of inputs and maybe a few outputs in your PID function. We're not always sure how these functions evolve, but like me, they tend to get fat. The point being, that while there's a lot of variation between controls-systems-vendors on the "frosting" on top of the PID, the math at the bottom - the cake if you will - is pretty settled.
For the next five minutes or so, we'll talk about the proportional, integral, and derivative "parts" of the "discretized*" PID as either an "action" or "control mode," e.g., the proportional action or proportional control mode, and where (how) these modes are used.
* We are only using the discretized PID forms going forward because it's rare to see an analog controller today.
Looking at control structures from a "mode" perspective, what we see is either a single-mode controller (P or I or D), a two-mode controller (P+I or P+D), or the Kahuna, the three-mode controller (P+I+D).
Single mode controllers:
The proportional-only controller (P)- the proportional-only controller can be derived from either the positional form of the PID controller:
or the velocity form of the PID controller:
Where:
- E = sum of SP(+) and PV(-)
- ΔE = change in error from scan to scan
- KC = controller gain
- CO = controller output
- ΔCO = change in controller output from scan to scan
From a quick inspection, it's apparent that there's no difference between the two forms - bias (b) notwithstanding - so we don't really talk about positional or velocity when we talk about proportional only control.
Quick review:
Δ is equal to the change in the variable (e.g., error (E)) from "scan-to-scan"; which, with today's PLCs, is typically anywhere from 5ms to 25ms (maybe a little slower if the system controller is a DCS or has a lot of diagnostics processing overhead). ∑E is equal to the "summation" of SP(+) and PV(-) for any given scan. This should not be confused with the ∑ associated with the integral term of a positional PID, which continuously sums all of the previous errors from time = 0 until it's turned off or reset (yes, resetting the reset - sounds circular, but it's not).
The pure proportional-only controller has some real benefits; it's simple to understand, responds quickly to disturbances, and has only one tuning parameter (if you don't count the manual bias, or "manual reset" as it sometimes referred to.)
I started to say that In general, we don't see the proportional only-controller very often. Still, we need to be a little careful here because we see "droop" control - a type of proportional control - all the time in the power side (generator drive) of turbomachinery controls.
It's more correct to say that for "non-power" turbomachinery control applications, we don't see the proportional-only control very often, which is unlucky, because single variable tuning just feels right.
One of the big reasons we don't see proportional-only controls that much (except for "droop" applications) is that there's an inherent problem with the proportional-only controller; it will almost always (necessarily) have a "steady-state offset" after a setpoint change or process disturbance.
Almost everyone explains the offset using a tank and level control:
In the tank example, the size of the inlet-valve is analogous to the proportional gain. And, there's an inverse relationship between the gain and the offset. The bigger the gain, the smaller the offset; right up until when the size of the gain (inlet-valve) makes the loop (level) unstable.
A "proof" of why there's almost always a steady-state offset after a process change or setpoint change might be a topic worthy of its own post - let us know in the comments below what you think.
We can, and do, typically fix the offset problem, without adding too much complexity to the controls, by including integral or "automatic reset." We'll talk about this in a minute.
The integral-only controller (I):
Following the proportional only controller, it's pretty easy to conceive of an integral-only controller (I); a simple, one tuning parameter control structure (actually two parameters, gain and integral time).
Here's the positional form (without the bias):
And here's the velocity form:
where
- E = sum of SP(+) and PV(-)
- Ti = integral time (typically minutes/repeat, or seconds/repeat)
- KC = controller gain
- ∑E = summation of all errors
- Δt = processor scan time
- CO = controller output
- ΔCO = change in controller output from scan to scan
Theoretically, an integral-only controller could be useful for "very fast," noisy processes and, unlike the proportional-only controller, wouldn't have a steady-state error. There are a few problems associated with the Integral-only controller;
a) they are "relatively slow responding,"
b) they "tend to destabilize" loops
c) [related to (b)] should not be used for process transfer functions that contain 1/s terms." (Moore and Liptak1)
The form from where the Integral-only controller is derived would be significant;
Quick review:
- For the positional form, the integral control "remembers" all previous errors
- For the velocity form, the integral control only uses the current (scan) error and forgets about everything that
happened previously.
I say would because, without getting into the Laplace transform (1/s term*), it's been our experience that - whatever form - they just don't work very well for the type of loops we typically encounter in the turbomachinery controls world.
About the only place we see them applied effectively − and then only sometimes − is on a valve positioner.
*if you are interested in the models (Laplace transforms) for typical turbomachinery process loops, let us know in the comments section and, if there's enough interest, we'll do a post.
The derivative-only controller (D):
I don't know if the derivative-only controller mode exists out in the wild, I've never seen it, but there are a lot of things I've never seen, so maybe it does. If it does exist on its own, and I doubt that it does, then the change in the derivative-only controller output is going to be related to the rate of change of the error (as opposed to simply the change in error).
Here is what the derivative-only control would look like if it were used as a single-mode control - which it isn't:
where:
- TD = derivative time, in seconds
- Δt = processor scan time
- Δ(ΔE) = change in the change of the error from scan to scan (analogous to a rate of change)
- ΔCO = change in controller output from scan to scan
- CO = ΔCO + COl (last CO)
For the rest of this post, for the sake of expediency, we're going to stick to the "velocity" PID form.
Two mode controllers-
Proportional + Derivative (P+D):
There's such a thing as a proportional + derivative controller (PD or P+D), which is also known as a rate-controller. It's faster than a proportional-only controller and reduces (but not eliminates) the offset associated with proportional-only control. As you might already know or guessed, it's not great for fast/noisy loops (a typical description of a TMC loop), so we don't see them used very often on turbomachinery controls.
Proportional + Integral (P+I):
The P+I is the most common controller used in turbomachinery controls (and probably most other process controls). It's a solid bet that if it's controlling pressure, flow, or speed, it's a P+I controller. The PI controller isn't as simple as a single-mode controller from a tuning perspective, but it doesn't have the offset problem we see with proportional-only control and it's considerably faster than an integral-only controller. As we discussed in the last post, the positional form of this controller needs some sort of integrator wind-up protection, and the velocity form is probably going to need some serious signal conditioning (filtering) especially if the controller is fast, but apart from that, it's our "go-to" TMC controller.
Three mode controller-
Proportional + Integral + Derivative (PID):
where:
- Δt = one processor scan
- ΔE = change in error, in one scan
- Δ(ΔE) = change in the change in error
- ΔCO = change in controller output
- COL = controller output (CO) last scan
- CO = COL + ΔCO
So this is it, the Kahuna, the Kingfish, the Big Cheese, the King-of-the-Hill; and ehhh, it's pretty rare that you'll see one used in turbomachinery controls. In theory, the PID offers the best of all worlds, better than single-mode control, and better than two-mode control. In practice, however, getting the tuning parameters right can prove to be pretty elusive.
When you do see the P+I+D controller, it will be controlling loops with process variables that are slow and "quiet" (like temperature and pH), which are the opposite of many turbomachinery control loops (tend to be fast and noisy.)
Control mode Comparisons-
Single mode (P) vs. Two mode (PI):
graphic inspired by Moore /Liptak1
From the graphic of a process step change, we can see the offset associated with the proportional-only control, and the relatively slow response of the proportional-only control compared to the proportional + integral controller. The overshoot associated with many P+I controllers is manageable through tuning (trade-off between stability and responsiveness).
Two mode (PI) vs. Three mode (PID):
graphic inspired by Moore /Liptak1
From this graphic, we can see that the PID is faster than the PI controller (all other things being equal). For a slow, "quiet" loop, the PID is ideal. The problem is when applied to a fast, noisy loop; it's really easy for the derivative to turn an otherwise sane controller (albeit a little slower - relatively) into something as unstable as the "Joker."
Controller Action Summary:
graphic inspired by Moore /Liptak
And that's about it for this post. Initially, I thought this post would include both PID structure and signal filtering, but it turned out that an even moderately thorough discussion on input filtering would be a post in of itself. So in the next post, we'll talk about signal filtering, and then we'll finish up the PID discussion with a post on tuning.
Be sure to let us know what you think about our blog.
Here's an additional controls related resource that we really like:
https://blog.opticontrols.com/ a blog by Jacques Smuts PhD PE.
And here's the full Moore/ Liptak reference (1):
Instruments Engineers' Handbook
Third Edition (1995)
Process Control
Bela G. Liptak (Editor-in-Chief)
Thanks for your interest, see you next time!