output = K_{P}(e + K_{I}∫e dt - K_{D}dc/dt)

where:

output = control output signal value

e = controller error (measurement - set point)

c = controller measurement signal value

K_{P} = Propor

tional mode gain

K_{I} = Integral mode gain

K_{D} = Derivative mode gain

This is a well-known relationship for control engineers. Although the PID algorithms from various DCS vendors will have a wide variety of variations and associated functions, such as filters and alarms, and options, such as external integral feedback, this fundamental equation is virtually universal. In addition to control functions, a DCS platform will have a wide variety of other useful functions available as 'block' algorithms. Designing a traditional control system is essentially assembling a collection of appropriate functions and interconnecting inputs and outputs. Software tools for configuring and documenting these structures are well developed and extensive.

A 'rule' in a fuzzy logic or expert system is also a repetitive algorithm, but it is expressed in mixed language and numerical values. A simple example of a temperature control rule might be might something like:

'If the temperature measurement is more than 5°F below set point, open the steam valve by 10%.'

By itself, this rule is simple and precise. But it is incomplete. Its scope is limited to only one condition, and it leaves many related questions unanswered, such as:

- What is to be done if the error is less than 5°F?
- How much larger does the error have to be for a larger valve movement?
- What is to be done if the measurement is above the target value?

Many operational and interface questions also remain, such as:

- How does the ope