Integral and derivative: units of time or gain?

Translate This Thread From English to

Threaded View
Hello,
I am working with an ABB system and all the PID loops have 4 tuning
parameters: overall gain, Kp, Ki, and Kd.  No units are given for Kp
and K, but Ki units are shown as 1/minutes and Kd as minutes.
Theoretically I understand how these controllers work. In fact, I
probably have way more education than I need, and I might be making
this more difficult than it needs to be.  But I don't understand the
units.  I see the 4 K's as gains.  Here is my take on it.  Please tell
me where I have gone wrong:

The gain simply multiplies the error by Kp.  So the Kp contribution to
the controller output is Kp*error.  The integral portion sums a scaled
version of the error on every sample.  So the contribution of the
integral is Ki*(sum of errors).  And the derivative contribution is Kd*
(rate of change of error).

So, the question is (if I even have one), is how do I relate Ki and Kd
to units of time?  Do these values scale the error, or do they
determine the sample rate for integral and derivative?

Thanks for your help.

Re: Integral and derivative: units of time or gain?


Understand that PID refers to proportional, INTEGRAL, and DERIVATIVE.

Integral action is Ki * { error(t) dt where I use the curly brace as
the integral symbol.  Note that the integral has the units of
minutes.  Multiplying by Ki/minute makes the action dimensionless -
i.e. milliamps/milliamps or psi/psi, etc.

Derivative action is Kd * d(error)/dt.  Here the derivative has units
of reciprocal time or 1/minute.  Multiplying the terms again produces
a dimensionless result.

You ARE making it more difficult than it actually is...  BTW, the
controller only approximates integral and derivative action by
summing and differencing.

        Barry   BLOrnitz48@charter.net

(While my dissertation was in time-optimal control, I spent my
industrial career almost exclusively in designing and building custom
online process instrumentation - which was much more fun!)

Adding errors or taking the difference between errors is an approximation
of the integral and the derivative respectfully,



Re: Integral and derivative: units of time or gain?


Thanks.  I had actually understood that much.  The theory is fairly
easy; it's applying the theory to application where I am short on
experience.  I am trying to what Ki does.  Does Ki change the time
period of the integration (the bounds of the integral), or does Ki
change the gain on the summed error.  Do you know which it does?

thanks

Re: Integral and derivative: units of time or gain?



The time period of the integration is always from the time that the
controller started up until now (with all due respect being paid to any
integrator limiting).  Ki just changes the gain.

Another way of thinking of this is that the "integrator" executes the
difference equation

istate(now) = istate(then) + Ki * (time step) * error

If the integrator hits a limit (you can probably set the integrator
limits) then this will be further modified to

if (istate > maxIstate) istate = maxIstate,
if (istate < minIstate) istate = minIstate.

--
www.wescottdesign.com

Re: Integral and derivative: units of time or gain?


Thanks.  That is exactly what I was looking for.

Re: Integral and derivative: units of time or gain?



Go to the system doco and find out. Not all industrial definitions comply
with mathematical rigour.

If all else fails build a test point and check the response with fixed,
adjustable inputs. It'll give you the answer and you may learn a few
interesting things as well, particularly around the derivative response.



Re: Integral and derivative: units of time or gain?



The best way to get both a mathematical/physical understanding and an
intuitive understanding is to look at the Ziegler Nichols tunning
rules.

The classic PID is as follows:

Output = Kp [e(t) + 1/Ti.{Integral of} e(t)dt+ Td.de(t)/dt] where e =
setpoint - actual value.

(Note generally its best to scale the setpoint, actual value and the
output to a scale of say 0 to 100% with the output scaled so as to
produce the correct value in open loop, more on this later, its not
essential)

In some cases a term, say R, is placed before the proportional
element.to give indendant control of it so as to allow it to be
reduced to zero and creat a pure I,D or ID controller.  I usually set
it to either 1 or 0.

Output = Kp [R.e(t) + 1/Ti.{Integral of} e(t)dt+ Td.de(t)/dt]

In some cases the 1/Ti term is replaced by its recipricol and refered
to as Ki and Td is then left as it is and refered to as Kd however the
Ti and Td term is the better to use for any human like understanding
of the issue.

Output = Kp [R.e(t) + Ki.{Integral of} e(t)dt+ Kd.de(t)/dt] seems to
be the ABB form of the integral.

Ti is refered to as the re-set time for historical reasons.  Ti is the
time it take for the integral term to produce the same output as the
proportional term.  It thus has intuitive and physical meaning.

Td is refered to as the derivative time.  A ramp input of de/dt = Td/
sec will produce and output equal to e(t).
(Your units are in minutes not seconds which I usually find a shitty
thin to do)

The Ziegler nichols rules are as follows:

1 Set 1/Ti to zero (i.e Ti to infinity or Ki to zero)
2 Set Td to zero
  You now have a pure proportional controller
3 Increase Kp slowly untill the system starts to oscilate.
4 Measure the period of oscilation and make note of the 'critical' Kp
at which this occured (call this Kc)

In most cases you PID will be tuned with the following values

Kp = 0.5 times the value, Kc,  at which oscilation occured
Ti = 0.5 measured period.   (ie the reset or integral time is set to
half the period of any oscilation)
Td = 0.1  to 0.125 times measured period.

Prior to the development of the PID opperators had only a proportional
controller.  They would set the controller to the desired temperature
or flow, wait for it to settle and then note the error and make a
further increase to 'reset' it to the correct temperature.


Site Timeline