PID proportional band limits


Thread Starter


The question is how to decide the lower and the higher limit of the proportional band if the gain and set point is given. The question has been asked because if we have a proportional only controller with the following settings: Proportional band = 12, setpoint- 100, manual reset = 0 and the process variable is say 90 degrees then applying the PID equation we get: Output = gain*error + manual reset = 100/12* ( (100-90)/12*100) + 0 which comes out to be 694% instead of 83.33%. 83.33% has been calculated considering that Proportional band ranges from 88 degree to 100 degree.
Your proportional band is not 88 to 100 degrees.
The 12% proportional band on your controller is a range 30°, a range from 85° to 115°, with a SP of 100°.

Proportional band and gain are reciprocals of one another:

Proportional band (PB) times the gain equals 100.

PB*gain = 100
PB = 100/gain
gain = 100/PB

The real question is, "the proportional band is a proportion of what, to produce an output change of 33.3% with an error of

Proportional band is frequently (in the open market, mfrs do as they see fit, but for PB it is frequently) determined as a percentage of the input span.

You don't mention what the input span value is, but the numbers in your case work out to an input span of 250 units for a proportional only controller.

The error is 10, the difference between the setpoint, 100, and the PV, 90.

Since the error is on the low side and the output is over 50%, the controller is setup for reverse action.

The proportional band is alwasy split around the setpoint. Thus a zero error produce a 50% output. Splitting the proportional band of 12% would yield 6% below the setpoint, 6% above the setpoint, where percent = percent of input span.

The output is at 83.3%. If the PV were at SP with zero error the output would be at 50%. So an error of 10 (PV - SP = error) produces an offset of 33.3% output (83.3 - 50.0 = 33.3) from zero error.

The limit of the proportional band, where the controller calls for its maximum output of 100%, is a 50% offset from the zero error point (PV at setpoint) where the controller outputs 50% at zero error. To find the error that produces the
maxiumum output, use equivalent ratios:

error of 10 : 33.3% output =
error of X : 50% output
50*10/33.3 = 15 (error in eng units at max PB)This is a ± error, depending on the algebra used, above or below SP.

So an error range of 0 to 15 units on the low side of the setpoint will produce a proportional output change of 50% to 100%.

An error range of 0 to 15 units on the high side of the setpoint will produce a proportional output change of 50% to 0 %.

So an error range of 30 units, 15 on the high side plus 15 on the low side, will produce a proportional output change of 0 to 100%

Since proportional band is a percentage, you need to know a percentage of what, in order to work with PB.

The total proportional band is 30 units.
The total proportional band is 12%.
So the question becomes 30 units is 12% of what?
30 is 12% of 250.
The assumed input span of the controller is thus 250 units.

To go back to your equation for calculating output; for proportional band (not gain)
output in %) = [ (error in eng units /[ (input span in eng units) (PB in %) / 2 ] ) * 50 ] ± 50

(± depends on the algebra used to determine the sign of the error PV - SP or SP - PV; in the end the output value has to be an absolute value; its range is 0% to 100%)

hey thanks mate. you framed my question in right words. but the next thing i want to ask is who decide the input span. Say if given a PID to design which accepts J and K type thermocuople as inputs and the range of measurement to be given is: for J 750 to -200 degrees and for K 1372 to -200 degrees, does my input span become -200 to 1320 and thus all the values would be calculated in the percentage of this band?

also if i decide to keep all the parameters in the PID equation in the engineering units i.e. PB in %/degrees, i wont be required to convert anything in %. So can i implement the PID this way? and if yes what would be the drawback of this implementation over the implementation in %.

Issac Issachar

>who decide the input span. Say if given a PID to design >which accepts J and K type thermocouple
>as inputs and the range of measurement
>to be given is: for J 750 to -200
>degrees and for K 1372 to -200 degrees,
>does my input span become -200 to 1320
>and thus all the values would be
>calculated in the percentage of this

Whoever designs the PID makes that decision. It frequently is not well documented, which leaves it up to the user to figure it out. However, the single loop PID controllers that I've worked with typically have the PB span the input range. As you stated, the range is different for a full scale J T/C than it is for a K T/C. Some controllers offer K over a low, medium and full span range, where the low range is 0-600, medium is 0-1500, full span is 0-2200 (or thereabouts). The PB changes with each range.

But there was one multiloop controller whose PB was proportional to the loop's PV range displayed on its Operator Interface. The analog input could have been 0-2,000, but if the range on the Operator interface was changed to show only a partial PV range of say, 500 - 1500, the PB changed to a span of 1000. That was NOT a good idea. Loop tuning shouldn't change with display changes.

>also if i decide to keep all the
>parameters in the PID equation in the
>engineering units i.e. PB in %/degrees,
>i wont be required to convert anything
>in %.

Proportional band is understood to be in percent. A PB term or value of 100 means 100%. It should be clearly spelled out in percent of what, typically, percent of input span.

>So can i implement the PID this
>way? and if yes what would be the
>drawback of this implementation over
>the implementation in %.

The less conventional you are, the more problems your users/customers will have implementing the controller. No one wants to learn someone else's arbitrary changes from convention.


As you mention, proportional band is understood to be in percent.

It means that PB can have a value in the range of 0% to 100% only. The controller that I am using has a PB range of 0 to 9999 and no units are mentioned. In this case the controller calculates the PB limits using the the PB value set, manual reset value, again programmed by the user, and the set point. So it led me to conclude that PB must be in engineering units.

Another question I have is about the integral action. The equation of PID used is:
CO = Kc*( ep + Sum of ep/Ti - Td*(change in PV) ) + bais.

Since I-action is already present why is bais separately added? Also is the integral action introduced only when the system is in the proportional band? Cause if PV is outside the proportional band the P-action itself would be give an output of 0% or 100%. If I action is introduced in this condition, unnecessarily the sum of errors would be increasing.

Also in case of D-action the equation when implemented in discreet domain becomes: Td*(PVpresent-PVpast) with D acting on PV. With a resolution of 1 degree whenever the temperature changes by 1 degree the controller would give an output equal to Td (range 0 to 9999 sec), which would cause a sudden change in the output. If v value above 100 is kept for Td it would drive the controller into saturation. This is not the effect of noise present in PV so derivative filter is of no use. Also providing a filter on the controller output would just smoothen the output but won't prevent the sudden step. So does it mean that the range is not justified or is there sonmething that I have missed?

Bruce Durdle

There is no reason why you cannot have a percentage value of above 100 - it just means that the gain is less than 1. Gain Kc = PB/100, so a PB of 99.99 is a gain of .01 - a bit low but not outside the possible range. The point you raise with the derivative term is quite valid and you are likely to find that the output does show the effects - if temperature is increasing slowly, the controller output will give a small derivative kick whenever the temp increases by 1 resolution point. Note that the actual integral and derivative factors used in your equation will also depend on the calculation interval Ts. The integral term will be Ts/Ti x sum of ep, and the derivative will be Td/Ts x the change. (Both of course also affected by Kc).

The 0-1000 PB range is, in fact, 0-1000% as Bruce noted.

It is typical for fast responding loops, like flow, to have a gain term < 1, or PB > 100.

1) When implmenting I-action, is it necessary that Pv should be in proportional band? If Pv is outside proportional band the P-action gives an output more than 100 or less that 0. Introducing I in this situation would just lead to unnecessary increase in the integral sum resulting in shift in proportional band which is actually not needed. Also if I-action action is not be implemented in this situation is such a precaution taken in the firmware of PID?

2) In case of analog implementation of D-action, i.e. diffrentiator using Op-amp, if a step is given as an input we obtain a spike at the output and then it dies out in time equal to RC (the values of R and C used with the Opamp) of the diffrentiator. If the same is to be implemented using a microcontroller, using the eq. Td*dPv/dt, we do obtain a spike at the output, but the phenomenon of the output dying out is not seen. Is it necessary to implement the euation such that capacitor charging phenomenon is seen? No PID algorithm show such an implementation.