D
For a long time I have been thinking about the standards of PID controller. There are various forms and types of PID control equations. Some of these can be found at
http://bestune.50megs.com/PLC.htm
I am sure the different names, different structures, different forms, etc., concerning PID control equations confused many people and may have caused some serious problems. So it is important that an industrial standard for PID control equations be set up.
Then what should be the standard? This question will cause a lot of discussion and disputes. I have done some research on this topic and I would
like to share it with others and I also wish to get comments or criticisms.
All existing PID equations can be simplified into three basic types, which are listed below.
Type A (textbook PID):
CO(k)=CO(k-1) + Kp*[e(k)-e(k-1)] + Ki*T*e(k) + Kd/T*[e(k)-2e(k-1)+e(k-2)]
Type B (e.g. AB PLCs):
CO(k)=CO(k-1) + Kp*[e(k)-e(k-1)] + Ki*T*e(k) - Kd/T*[PV(k)-2PV(k-1)+PV(k-2)]
Type C (not common but best):
CO(k)=CO(k-1) - Kp*[PV(k)-PV(k-1)] +
Ki*T*e(k) -Kd/T*[PV(k)-2PV(k-1)+PV(k-2)]
The differences:
Type A: All P, I, and D terms act on error e.
Type B: Setpoint is removed from the D term of type A.
Type C: Setpoint is removed from BOTH D term and P term of type A.
My answer is: Type C is the best when setpoint changes. For more of my
research see
http://bestune.50megs.com/typeABC.htm
Therefore, I hope that all PID controllers should implement type C PID equation. Any comments and criticisms welcome.
Dan
http://bestune.50megs.com/PLC.htm
I am sure the different names, different structures, different forms, etc., concerning PID control equations confused many people and may have caused some serious problems. So it is important that an industrial standard for PID control equations be set up.
Then what should be the standard? This question will cause a lot of discussion and disputes. I have done some research on this topic and I would
like to share it with others and I also wish to get comments or criticisms.
All existing PID equations can be simplified into three basic types, which are listed below.
Type A (textbook PID):
CO(k)=CO(k-1) + Kp*[e(k)-e(k-1)] + Ki*T*e(k) + Kd/T*[e(k)-2e(k-1)+e(k-2)]
Type B (e.g. AB PLCs):
CO(k)=CO(k-1) + Kp*[e(k)-e(k-1)] + Ki*T*e(k) - Kd/T*[PV(k)-2PV(k-1)+PV(k-2)]
Type C (not common but best):
CO(k)=CO(k-1) - Kp*[PV(k)-PV(k-1)] +
Ki*T*e(k) -Kd/T*[PV(k)-2PV(k-1)+PV(k-2)]
The differences:
Type A: All P, I, and D terms act on error e.
Type B: Setpoint is removed from the D term of type A.
Type C: Setpoint is removed from BOTH D term and P term of type A.
My answer is: Type C is the best when setpoint changes. For more of my
research see
http://bestune.50megs.com/typeABC.htm
Therefore, I hope that all PID controllers should implement type C PID equation. Any comments and criticisms welcome.
Dan