PID Controller Specification
There are no industrywide standards for PID controllers. However, robust and optimal control of process loops requires PID controllers to have certain abilities and features described here.
Controller Units
The PID controller should be a unitless device. Unit conversions should be done outside the PID algorithm. Engineering units may be available in memory locations within the PID "block" for display or informational purposes. For example, the controller could work on a 0100% basis or on a 01 basis for inputs, outputs and setpoints. This makes the controller easier to work with for feedforward, cascade, limits, summers, multipliers and multivariable situations.
Algorithm Type
The PID controller algorithm should produce a positional output (not an increment from the last position), and may be of the series or ideal type:
Laplace representation of series (interacting) type:
where m is the position of the controller output, e is the deviation of the controlled variable from set point, s is the Laplace operator, K_{c} is the proportional gain of the controller, I is its integral time and D is its derivative time.
Laplace representation of ideal (noninteracting) type:
(Filters and other details have been omitted from the above transforms for clarity.)
Sampling and Sample time
The controller input signals should be sampled at a frequency of at least 10 Hz, reporting the average value of the signal over the previous sample interval. Using the average value for each sample prevents aliasing.
Proportional Action or Gain
The units of proportional action may be either percent Proportional Band P or Proportional Gain K_{c}, where
The proportional action should work on deviation (SP  PV) or controlled variable PV depending
on the user selection. The user should also be able to adjust the amount of proportional action applied to the set point SP.
Proportional Band setting should range from 1 to 10,000. If gain is used, the gain range should be from 0.01 to 100.
Integral Action
The units of integral action should be in minutes per repeat. The integral action must operate on the deviation signal. The Integral time should be adjustable between 0.002 to 1000 minutes.
There should be antireset windup logic so that the output of the integral term does not saturate into a limit when the controller output reaches that limit. The method of antireset windup should incorporate integral feedback. This allows the secondary measurement signal to be fed back to the primary controller in cascade, feedforward, and constraint control systems, maximizing their effectiveness, operability, and robustness.
The controller should be capable of operation without integral action, through the application of an adjustable output bias.
Derivative Action and Filter
The units of derivative action should be in minutes. Derivative action should be applied only to the process variable. The Derivative time should be adjustable over the range of 0 to 500 minutes.
When the user enters a value for derivative time, the controller should automatically insert a filter on the PV, whose time constant (if firstorder) should be the Derivative setting divided by a number between 8 and 10. The filter will have the effect of limiting the dynamic gain from derivative action to between 8 and 10 times the controller gain. Changing the value of the controller gain will not change the value of the filter time constant.
The preferred derivative filter, however, is second order. If a simple secondorder filter is used then the time constants in the filter should be set equal, and to a value of the Derivative setting divided by a number between 16 and 20. This filter has the effect of limiting the dynamic gain from derivative to between 8 and 10 times the controller gain. The preferred secondorder filter to use is of the Butterworth type, whose transfer function would be
where K_{D} is the desired derivative gain of 8 to 10.
Deadtime Compensation
Deadtime compensation can be added by inserting a deadtime block in the integral feedback path of the controller. It improves controller performance for any process (not only one that is dominated by deadtime). It constitutes a fourth controller mode, requiring tuning like the other three. However, along with increased performance, comes reduced robustness, requiring more precise tuning for all four modes than a PID controller without deadtime compensation.
Deadtime should be adjustable over the range of 0 to 500 minutes. The deadtime register should contain at least 20 elements. And the register should be initialized (all elements set to the value of the input signal) whenever the controller is placed in manual.
AutoManual Transfer
Transfer between the automatic and manual modes should be bumpless in either direction. In the case that integral action has not been selected, bumpless transfer from manual to automatic should be achieved by allowing the output bias to approach its set value through a firstorder lag.
Setpoint tracking, i.e., forcing the SP to equal the PV during manual operation (or prior to transfer to automatic) should be optional, as selected by the user. Output tracking, i.e., forcing the output to follow a selected signal whenever the controller is placed in the "track" mode, should be available.
Nomenclature

D = Derivative time

e = Error or deviation = SP  PV

I = Integral time

K_{c} = proportional gain of the controller = 100/P

m = position of the controller output,

P = Proportional band = 100/K_{c}

PID = Proportional, Integral, Derivative

PV = Process Variable

s is the Laplace operator

SP = Set Point

Tau = Time Constant
This article was written and provided by F. G. Shinskey(Consultant) and John Gerry P.E., president of Expertune. Expertune designs prepackaged industrial software which maximizes productivity and efficiency and reduces waste in the process industries: chemical, pulp and paper, utilities, refining, and food processing. For more information on Expertune, please visit their website at: www.expertune.com.
(c) copyright 19992003 ExperTune Inc.