Ask Doctor Bob: What is P-only Control?

Video Transcript:

Hi, I’m Bob Rice. And today, we’re going to cover P-only control. First, let’s start with the equation for P-only control. So a P-only controller is, the controller output is equal to the sum bias value, which is the starting value of your controller, plus your controller gain value. In this case, it’s KC times whatever your error is; this is the equation for a P-only controller. But what is this controller gain?  How do you change the behavior and performance of a controller response? Well, let’s take a look at what a setpoint change would look like from this controller’s perspective.

So if we start with a setpoint, change, so this is our setpoint, and our process variable starts down here, we have essentially no error, right? This error term, this portion of our equation is error is equal to the set point minus the measurement. So at this moment, right here, we have no error. So if you think about what this equation represents, when we have no error, this term over here on the right drops to nothing. And all we’re left with is the controller output is equal to the bias value or the starting position. So we essentially have a controller output that starts at, let’s just say, 50%, right? It just starts at 50%, all of a sudden, we make a setpoint change, and we’ve introduced an error into the equation. So now that we have an error, it’s whatever that error is, times your gain. So what you get is a step to the output, right? If this is your controller output value, and the output is equal to the bias, plus the gain times the error, when an introduced error allows the setpoint to change, the right setpoint is up here, process variables down there, there’s some sort of error, the error times the gain is our correction. And our process variables is going to start to go up, right? We’ve opened the valve to try to bring that flow up to the target. So our process variable starts to move up. But what happens to our error as our process variable gets closer to our setpoint? The error starts to drop, right? So when the error starts to drop, whatever the error is, times the gain, it starts to drop. So you start to see your controller output backing down.

Now, if we backed all the way down to where we started, that’s probably not a good thing, right? Because remember, a 50% controller output position caused a process variable would be down here. So if we did that, right, theoretically, the controller, sorry, the process variable would drop back down to here; let’s not what we want, right? So as the process variable starts moving back down, we introduce air and it kind of adds on to the output. And so you end up with a controller response that looks something like this. Right? And this up here is probably going to look something like that. Right. So now we have a process variable that’s moved up. There’s a little offset here, which means we can’t reach the set point. Why can’t we get to the set point? Well, suppose our process variable magically gets up to the set point. In that case, that means we have no error, we have no error, which means the output is equal to the bias, which again means our controller output comes down here, which means that a P-only controller will generally give you offset, which means that if you move the setpoint off of the value that was kind of the bias position or the baseline position, as you start to move that setpoint, the process variable can’t achieve that. Because as you get closer, the error starts dropping, and this term starts to disappear. And you’re only left with the bias. And you start back here, right?

That will be your traditional type of flow response or a heat exchanger. But there are some interesting examples of loops where a P-only controller may not have any offset. All right, let’s assume we have an actual application. That’s a sealed jacketed reactor, right? We’ve got a batch system. And the only thing that we have in here is we have steam. So we’re adding steam into the jacket around it. And we’re just measuring the temperature inside of that system. We’re going to charge the reactor, we’re going to fill it, and then we close it right we don’t add any more liquid. It’s not continuously coming through and out. It’s a batch reactor; it’s sealed. All right. Let’s say we want that temperature to go from temperature a to temperature B, right? And we’re going to start at a controller output of 0%. Right 0%. So we started to say 30 degrees, and we want to go to 50 degrees

Well, at the beginning here, we have no error. And suddenly, we now have an error when we change the setpoint. Right? The same thing has happened over here; our controller output is going to jump, which means we’re going to add steam into the system, right? We introduce heat, and the heat starts to make the temperature rise, right? It’s a very, very slow process. So it takes a little while to get there. Right. As we get closer and closer to temperature, this drops back down again, right? And so if we get up to temperature, like this, our steam is going to be back at zero. Now, how did I get to that new temperature? Well, this is a slightly different type of process. What’s interesting about it, if this was a perfectly insulated vessel, any of the heat we add stays in the system, right? So I introduce heat to get the temperature to come up. Then as I stop removing heat, it’s not like the temperatures really going to drop, it’s just going to stop going up. So by moving it back to zero here, we actually have a balanced system. So this would be true for some batch temperature applications, some level control applications, systems where there’s really only one steady type condition, right, one balancing point.

All right, so P-only control has its place. But in most applications you’re going to find, especially things like flow and temperature, you’re going to end up with this offset, which is not a good behavior. For other applications like batch temperature control, and some applications where you’re only adding steam, there’s no cooling here just steam a P-only controller can actually be beneficial. Also some level applications P only control is actually kind of nice, right? So a P-only controller is a very simple application of just looking at the air in the controller gain, right? It’s not useful for applications like flow and temperature but can be useful for applications like level and batch reactors. Alright. So thank you for your time today. This was a quick section on P-only control

If you have a particular topic or an idea that you would like us to cover, please email us at Thank you, and I hope you enjoy this video series.