PID Control

Proportional-Integral-Derivative (PID) control is a workhorse of modern engineering. Orginally developed in the 1920's for the automatic steering of ships, the technology eventually found its way to the process industries following publication of Principles and Practice of Automatic Control for the British trade magazine The Engineer in 1937. The publication of this paper kicked off a period of rapid innovation in which instrument makers developed the equipment to put these ideas into practice, and the process industries adopted these new technologies.

In this series of notebooks we will review the basic formulations of PID control, issues that arise and how they are managed, and develop a basic implementation. Our goal here is to provide with the knowledge needed to understand the principles of PID control, how to put the technology to work, and how to recognize and troubleshoot issues arising in practice.

PID Control Formulations

Non-interacting Form

A typical mathematical formulation known as the non-interacting form of PID control can be written

\begin{align} MV & = \overline{MV} + K_P \left(SP - PV\right) + K_I\int_0^t (SP - PV)\ dt' + K_D\frac{d(SP - PV)}{dt} \end{align}

where we use the generic notation $MV$ to denote the manipulated variable, and $PV$ the process variable to be controlled to the desired setpoint value $SP$. $\overline{MV}$ denotes a nominal or reference value of the manipulated variable. The remaining terms on the right hand side are prescription of how to adjust the manipulated variable in response to a deviation of the process variable for the desired setpoint value.

In this formulation there are three coefficients, $K_P$, $K_I$, and $K_D$ denoting the relative contributions of the proportional, integral, and derivative terms to the control action. These constants can be adjusted to achieve a useful closed-loop dynamics.

ISA Form

Another commmon formulation (sometimes also called the ideal, or *additive form) is given by

\begin{align} MV & = \overline{MV} + K_c \left[ \left(SP - PV\right) + \frac{1}{\tau_I}\int_0^t (SP - PV)\ dt' + \tau_D\frac{d(SP - PV)}{dt} \right]\end{align}

For the purposes of control, this form has the same functionality of the non-interacting form but with a different set of parameters. The constant $K_c$ is called the control gain, $\tau_I$ the integral time constant, and $\tau_D$ the derivative time constant.

Comparing these two forms of PID control shows they are identical under a conversion of parameters. Going from ISA to non-interacting form

\begin{align} K_P & = K_c \\ K_I & = \frac{K_c}{\tau_I} \\ K_D & = K_c\tau_D \end{align}

or from non-interacting to ISA form

\begin{align} K_c & = K_P \\ \tau_I & = \frac{K_P}{K_I} \\ \tau_D & = \frac{K_D}{K_P} \end{align}


In these notebooks we'll proceed through a series of PID control implementations. These are intended to demonstrate key features of the control algorithm, and issues that arise in practice. Since these implementations are for demonstration only, we'll keep them as simple and straightforward as possible.