The
following PID controllers can be optimized by using the excellent PID
autotuning software BESTune (see http://bestune.50megs.com/
for details). Theoretically, BESTune is able to optimize any PID controllers,
as long as the PID equations implemented in them are known. In order to include
more PID controllers in BESTune, I am asking you to give me more information
about other wellknown brands of industrial PID controllers (brand names, PID
equations implemented, units of the three PID constants, etc). Your help will
be very much appreciated.
In
the following PID equations,
CO: 
Controller
Output (also called OutPut and denoted by OP) 
PV: 
Process
Variable 
SP: 
SetPoint 
e=SPPV 

There
are three types of PID controllers: Type A, Type B, and Type C. It is strongly
recommended that type C be used. For more about this, please take a look at http://bestune.50megs.com/typeABC.htm.
A method of desinging type C PID is given at http://bestune.50megs.com/piddesign.htm.
For a quick look at a type C PID loop, take a look at this
picture.
BESTune.Com
Email:
bestune@netzero.net
WWW:
http://bestune.50megs.com/
Standard
Independent PID Controller
There are three types of independent PID control
equations:
Type
A: 
_{} 
Type
B: 
_{} 
Type
C: 
_{} 
We
strongly recommend type C (Unfortunately, most industrial PID controllers use
either type A or type B equations). Differentiating both sides of type C
equation gives:
_{}
Discretization
of the above equation with sampling period Ts gives the following form that can
be implemented in a digital computer:
_{}
where
Ts: 
Sampling
period 
seconds 
Kp: 
Proportional
gain 
No
unit 
Ki: 
Integral
grain 
(1/second) 
Kd: 
Derivative
gain 
seconds 
The
last important thing that is often ignored but can never be ignored is to bring
CO back to the upper or lower limit values whenever it is outside these limits,
i.e., whenever CO(k)>CO’s upper limit value, we must set CO(k)=CO’s
upper limit value; and whenever CO(k)<CO’s lower limit value, we must
set CO(k)=CO’s lower limit value.
For
example, if CO(k)=100 means the control valve is 100% open and CO=10 means the
control valve is just closed, then whenever the value of CO(k) calculated by
the above PID equation is larger than 100, we must set CO(k)=100 and whenever
the value of CO(k) calculated by the above PID equation is less than 10, we
must set CO(k)=10.
Standard
Dependent PID Controller
Similarly, there are
also three types of dependent PID equations:
Type A: 
_{} 
Type B: 
_{} 
Type C: 
_{} 
We
strongly recommend type C, i.e.,
_{}
where
Kc: 
Proportional
gain 
No
unit 
Ti: 
Reset
time 
(min/rep) 
Td: 
Rate
time 
(min) 
Allen Bradley
Logix5550 Independent PID
_{}
where
Kp: 
Proportional
gain 
No
unit 
Ki: 
Integral
gain 
(1/second) 
Kd: 
Derivative
gain 
(seconds) 
Allen Bradley
Logix5550 Dependent PID
_{}
where
Kc: 
Proportional
gain 
No
unit 
Ti: 
Reset
time 
(min/rep) 
Td: 
Rate
time 
(min) 
Allen Bradley
PLC5 Independent PID  Using Integer Blocks
_{}
where
Kp: 
Proportional
gain 
(0.01) 
Ki: 
Integral
gain 
(0.001/
second) 
Kd: 
Derivative
gain 
(seconds) 
Allen Bradley
PLC5 Independent PID  Using PD Blocks
_{}
where
Kp: 
Proportional
gain 
No
unit 
Ki: 
Integral
gain 
(1/
second) 
Kd: 
Derivative
gain 
(seconds) 
Allen Bradley
PLC5 ISA PID  Using Integer Blocks
_{}
where
Kc: 
Proportional
gain 
(0.01) 
Ti: 
Reset
time 
(0.01min/rep) 
Td: 
Rate
time 
(0.01min) 
Allen Bradley
PLC5 ISA PID  Using PD Blocks
_{}
where
Kc: 
Proportional
gain 
No
unit 
Ti: 
Reset
time 
(min/rep) 
Td: 
Rate
time 
(min) 
Allen
Bradley SLC5/02,SLC5/03 and SLC5/04 ISA PID
_{}
where
Kc: 
Proportional
gain 
(0.1) 
Ti: 
Reset
time 
(0.1min/rep) 
Td: 
Rate
time 
(0.01min) 
Bailey Function
Code FC19 with K=1
_{}
where
K: 
Gain
multiplier 
No
unit 
Kp: 
Proportional
gain 
No
unit 
Ki: 
Integral
reset 
1/min 
Kd: 
Derivative
rate action 
Min 
Bailey Function
Code FC156 Independent Form with K=1
_{}
where
K: 
Gain
multiplier 
No
unit 
Kp: 
Proportional
gain 
No
unit 
Ki: 
Integral
reset 
Resets/min 
Kd: 
Derivative
rate action 
Min 
Concept PID1 
PID Controller
The
equivalent continuous time equation the Concept PID1 PID algorithm implements
is:
_{}
where
Gain: 
Proportional
gain 
No
unit 
TI: 
Reset
time 
(milliseconds) 
TD: 
Derivative
Action time 
(milliseconds) 
Concept PID1P  PID Controller with parallel structure
_{}
where
KP: 
Proportional
gain 
No
unit 
KI: 
Integral
rate 
(1/milliseconds) 
KD: 
Differentiation
rate 
(milliseconds) 
Fischer &
Porter DCU 3200 CON Ideal with KP = 1
_{}
If
Kp = 1, the above equation reduces to:
_{}
where
KC: 
Gain
constant 
No
unit 
TR: 
Reset
time 
(min/rep) 
TD: 
Derivative
term 
(min) 
Fischer &
Porter DCU 3200 CON Parallel KP variable with KC=1
_{}
If
KC=1, the above equation reduces to:
_{}
where
KP: 
Proportional
gain 
No
unit 
TR: 
Reset
time 
(min/rep) 
TD: 
Derivative
term 
(min) 
GE Fanuc Series 9030 and 9070 Independent Form PID
_{}
where
Kp: 
Proportional
gain 
(0.01) 
Ki: 
Reset
time 
(0.001rep/second) 
Kd: 
Derivative
gain 
(0.01
seconds) 
Hartmann &
Braun Freelance 2000 PID
_{}
where
CP: 
Proportional correction value 
No unit 
TR: 
Reset time 
(milliseconds) 
TD: 
Rate time 
(milliseconds) 
Honeywell TDC
3000 APM Non  Interactive PID
_{}
where
K: 
Gain 
No unit 
T1: 
Integral time constant 
(min/rep) 
T2: 
Derivative time constant 
(min) 
_{}
where
PB: 
Proportional
band 
No
unit 

Integral
mode gain constant 
(0.01min/rep) 
K3: 
Derivative
mode gain constant 
(0.01min) 
Siemens S7 PB41
CONT_C PID
_{}
where
Gain: 
Proportional
gain 
No
unit 
TI: 
Reset
time 
(seconds) 
TD: 
Derivative
time 
(seconds) 
_{}
where
PB: 
Proportional
band 
No
unit 
Ti: 
Integral
time 
(seconds) 
Td: 
Derivative
time 
(seconds) 