Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


I am not able to understand why Proportional controller introduces offset.Please consider follwing paragraph I found on internet, credit to **

**, regarding offset error of Proportional only controller -

" If the operator should increase the flow out of the tank, the tank level will begin to decrease due to the imbalance between inflow and outflow. While the tank level decreases, the error increases and our proportional controller increases the controller output proportional to this error. Consequently, the valve controlling the flow into the tank opens wider and more water flows into the tank.

As the level continues to decrease, the valve continues to open until it gets to a point where the inflow again matches the outflow. At this point the tank level (and error) will remain constant. Because the error remains constant our P-controller will keep its output constant and the control valve will hold its position. The system now remains at balance, but the tank level remains below its set point. This residual sustained error is called Offset." enter image description here

I believe that measured variable here is level of liquid in the tank and not the outflow. Considering the bold statements in above paragraph, my question is why the valve will open only unitill inflow matches outflow? Shouldn't it open till the level measured equals setpoint? Then why the offset should come into pitcutre?

share|improve this question
It is good practice to credit the originating website if you use such large quotes. Credit where credit is due. – jippie Feb 16 '14 at 15:50
up vote 8 down vote accepted

This is talking about a simple proportional controller. The control output is merely the system output minus the control input times some constant:

  C = K(I - S)

Where I is the control input to the system, S the actual system response, C the control output that drives the system, and K the proportionality constant.

The tank example above is a little squirrely. Let's consider speed control of a car as a example. In that case, I is the speed you want to go, S is the speed you are actually going, and C is how hard you step on the gas. Let's say you want to go 50 MPH but the car starts at stop, which mean S is 0. Let's say K is 2, and the resulting C is then in percent of full throttle. Initially K(I - S) is 100, so you step on the gas all the way (100%). As the car speeds up, I-S gets lower, so you let up on the gas. That makes sense because you know intuitively you don't need to floor it to maintain 50 MPH on level ground with no wind.

However, the problem now is that you won't ever get to your desired speed. If you were at 50 MPH, then I-S would be 0, and you'd let off the gas completely, which clearly won't maintain 50 MPH. This simple proportional-only controller always requires some error to maintain a non-zero output. For example, let's say to maintain 50 MPH would require a 25% control output (step on the gas 1/4 of the way), and that steady state speed is linear with throttle setting. In that case, the system would assymptotically approach 40 MPH and stay there. K(I - S) is 20, which is the control output required to maintain 40 MPH.

One way to address this problem is to make K larger. However, that will make things unstable or jerky. Suppose you take this to the extreme and make K infinite. That means you either fully floor it or fully let up on the gas, depending on whether you are below or above 50 MPH. You can probably see intuitively that it would be a very jerky ride. While your speed would probably average reasonably close to 50 MPH, the car would constantly go a little slower, which would floor the gas, which would make it go faster after a little while, which would let off the gas, which would make it slower after a little while, etc.

Obviously this is bad for the car, uncomfortable for the passengers, and a inefficient way to run a gasoline engine. However, some control systems work quite nicely like this, especially when the system can only be on or off in the first place. The heating system in your house works like this, for example. The thermostat turns the furnace either fully on or fully off. The temperature does oscillate a little, but not enough for you to care. In this case, the heater only works full on or full off, so this is the efficient way to run it. To keep from turning the heater on and off too often, the thermostat has a little hysteresis. It might, for example, turn on the heater when the temperature gets down to 69.5° and off when it gets up to 70.5°. This keeps the heater on and off for long enough at a time to not stress it too much and for it to stay efficient.

In other control systems, this offset is dealt with by adding other terms to the equation above than just one that is proportional to the offset. In a PID (Proportional, Integral, Derivative) system, there are additional terms proportional to the time integral of the offset and the time derivative of the offset. Each of these terms has its own gain factor (K value in the equation above). It is the I term that nulls out any long term offset.

share|improve this answer
Sir, Thank you very much for this. Finally I understood what is the offset error.Thank you very much. – Aditya Feb 16 '14 at 16:27
Sir, & this is the reason why we must add bias to the controller output, is this right? – Aditya Feb 16 '14 at 16:33

Proportional control The offset arises due to mismatch between input to and output from system. It doesn't come from proportional controller. The controller output is proportional to the deviation existed prior to the control action. Let us take an example of a simple water lever control. Consider a water tank with an outlet valve, a water supply valve, control lever on a pivot, control strings, and float as shown in the figure. One end of the control lever is connected to the float while other end to the water supply valve. The system is designed in a compensatory way that, when float goes down the supply valve is opened more thereby increasing water supply to the tank. Similarly an elevation of the float results in closure of the supply valve. At this point quantity of water supplied and flown out of the tank is same and the system is in equilibrium. Suddenly demand of water increases and that needs to be met, the discharge valve is opened more. This result in reduction in water level inside the tank and causes float to lower. As float lowers it raises the control string connected to the water supply valve, thereby increasing the supply of water. The inflow continues gradual rising with the gradual fall of level. The additional quantities will gradually make-up some extent of level fall. As time passes, although the total level dips continuously but the rate of fall decreases. At one point of time, the rate of fall becomes zero and no further dip in level. A new equilibrium is attained as shown. Once again supply and demand of water is same but with dip in level and tilted lever. The ultimate dip in water level from the starting level remains as a consequence of pre-equilibrium cumulative shortfall resulted from input-output mismatch.

share|improve this answer
Use double line-breaks to create paragraphs. Your answer is not correct. The fact that your float valve is open means that the level is low and you have therefor not maintained level. In fact, the float valve won't open unless there is a level error. The error is due to proportional-only control. Integral action will remove the offset / error. See the accepted answer for a better understanding. – transistor Jul 4 at 7:39

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.