FC 156 - Advanced PID Controller

The advanced PID controller function code implements a proportional integral derivative controller. Some of the advanced features of this function code above the other PID controllers (function codes 18 and 19) are:

 

 

In addition to the advanced features, function code 156 has the normal features of a PID, including:

 

 

NOTE: PID reset mode (S5) and PID gain (S6) of the segment control block (function code 82) do not affect the advanced PID controller. Maximum derivative gain for PID (S11) and external reset for PID (S12) of the executive block (function code 53) do not affect the advanced PID controller. These functions are controlled within the advanced PID controller. This feature allows PID controllers with and without external reset to be included in the same segment.

 

 

Outputs:

Blk

Type

Description

N

R

Control output with feed forward

N+1

B

Block increase flag:

0 = permit increase

1 = inhibit increase

N+2

B

Block decrease flag:

0 = permit decrease

1 = inhibit decrease

 

 

Specifications:

Spec

Tune

Default

Type

Range

Description

S1

N

5

I

Note 1

Block address of process variable

S2

N

5

I

Note 1

Block address of set point

S3

N

5

I

Note 1

Block address of track reference

S4

N

0

I

Note 1

Block address of track flag:

0 = track

1 = release

S5

N

5

I

Note 1

Block address of external or manual reset

S6

N

5

I

Note 1

Block address of feed forward signal

S7

N

5

I

Note 1

Spare real input

S8

N

0

I

Note 1

Spare boolean input

S9

N

0

I

Note 1

Block address of increase inhibit:

0 = normal

1 = prevent increase

S10

N

0

I

Note 1

Block address of decrease inhibit:

0 = normal

1 = prevent decrease

S11

Y

1.000

R

Full

Gain multiplier K

S12

Y

1.000

R

Full

Proportional gain KP

S13

Y

0.000

R

Full

Integral reset resets/min. or manual reset time

constant KI x min.

S14

Y

0.000

R

Full

Derivative rate action KD x min.

S15

Y

10.000

R

Full

Derivative lag constant KA (typically = 10)

S16

Y

105.000

R

Full

High output limit

S17

Y

-5.000

R

Full

Low output limit

S18

N

10

I

00 - 03

or

10 -13

(Note 2)

Algorithm

Version:

0X=original

1X=new3

Type:

X0 = classical

X1 = non-interacting

X2 = classical with external reset

X3 = manual reset non-interacting

S19

N

0

I

0 or 1

Integral limit type:

0 = quick saturation recovery

1 = conventional saturation recovery

S20

Y

0

I

0 or 1

Set point modifier:

0 = normal

1 = integral only on set point change

S21

Y

0

I

0 or 1

Direction switch:

0 = reverse mode error = SP – PV

1 = direct mode error = PV – SP

S22

Y

0.000

R

Full

Spare real parameter

S23

Y

00

I

Full

Spare integer parameter

 

NOTES:

  1. Maximum values are:9,998 for the BRC-100, IMMFP11/12 AND 31,998 for the HAC

  2. Input values other than those defined may result in unpredictable APID behavior.

  3. The new version has been revised to improve the internal behavior of the algorithm. The original version is retained for backward compatibility of old configurations.

 

 

156.1   Explanation

 

156.1.1  Specifications

 

S1

Block address of the process variable. This identifies the process variable controlled by the PID algorithm.

 

S2

Block address of the set point.

 

S3

Block address of the track reference. This identifies the signal the PID outputs when in track mode.

 

S4

Block address of the track flag. This input signal controls the track or release mode:

0 = track mode

1 = release mode

 

In track mode, the output is forced to the value of the track reference (S3). In release mode, the block output is calculated as a function of the process variable and the set point.

 

S5

Block address of the external or manual reset. This input has two functions. It can link the external reset signal that is used in the integral calculation (S18, algorithm type two). It also can link the manual reset signal for manual reset control (S18, algorithm type three).

 

S6

Block address of the feed forward signal. This input is the signal added to the output calculated by the PID algorithm. This combined output becomes the block output in the release mode.

 

S7 and S8

Spare real and boolean input.

 

S9

Block address of increase inhibit signal. An input of one prevents the control output from increasing beyond its current value when the controller is not in the track mode. An input of zero does not affect the PID controller. If the S9 and S10 inputs are both one (in release mode), the output of the PID controller is held at its current value. These inputs also go to outputs N+1 and N+2.

 

S10

Block address of the decrease inhibit signal. An input of one prevents the control output from decreasing below its current value when the controller is not in the track mode. An input of zero does not affect the PID controller. If the S9 and S10 inputs are both one (in release mode), the output of the PID controller is held at its current value. These inputs also go to outputs N+1 and N+2.

 

S11

Gain multiplier K. The gain multiplier is one of the terms in the PID calculation.

 

S12

Proportional gain KP. The proportional gain is one of the terms in the PID calculation.

 

S13

Integral reset KI resets/min. The integral reset (controller type zero, one or two of S18) is a term in the PID calculation.  Specification S13 is the manual reset time per minute for manual reset controllers (type three of S18).

 

S14

Derivative rate action KD min. The derivative rate action is one of the terms in the PID calculation.

 

NOTE: The derivative rate action is calculated based on changes in the process variable only. To calculate the derivative rate action on set point changes as well, calculate an error signal external to the advanced PID controller. This error signal can then be introduced as the process variable with a set point of zero.

 

S15

Derivative lag constant KA. The derivative lag constant is one of the terms in the PID calculation.  Controllers refrain from directly implementing derivative control in favor of filtering the derivative contribution. The derivative lag constant allows specifying the extent of this filtering. This filtering is a simple first order lag with a time constant of KD/KA. For the default setting of KA = 10.0, the filter has a time constant of 1/10 the derivative time. Typical values are from ten to 20 for KA.

 

NOTE: In order to effectively disable the derivative filtering action, set KA to a very high value (such as 9E18). Note that KA has no affect if the derivative constant (KD) is equal to 0.0. Also, if KA is configured by the user to 0.0, the function code will internally substitute a value of 1.0 for all calculations.

 

S16

High output limit. The output (PID algorithm plus feed forward signal S6) is limited by this value before it is transferred to the block output.

 

S17

Low output limit. The output (PID algorithm plus feed forward signal S6) is limited by this value before it is transferred to the block output.

 

S18

Tens digit, selects the algorithm version:

0X = original - PID output is calculated using the original algorithm implementation. Existing configurations may use this version for backward compatibility.

1X = new - PID output is calculated using a new version of the algorithm implementation.

 

NOTE: The algorithm version is not permitted to be modified via an on-line configuration operation.

 

It is recommended that new configurations use the new version of the algorithm (S18 = 1X). However, for existing configurations, the original algorithm (S18 = 0X) is available for full backward compatibility. Ones digit, selects the type of algorithm for the PID calculation:

 

X0 = classical - PID output is calculated using a classical interactive controller. Tuning any of the proportional, integral or derivative terms changes the effective value of the other terms.

X1 = non-interacting - PID output is calculated using a non-interacting control algorithm. Tuning the proportional, integral or derivative terms individually has no effect on the other terms. This is the same type as function code 19.

X2 = classical with external reset - cascade and override configurations use this type of algorithm. The PID output is calculated using the classical interactive control algorithm. The integral contribution is calculated as a function of the external reset signal.

X3 = manual reset non-interacting - PID output is calculated from the proportional and derivative terms with manual reset. For manual reset control, a manual reset time constant (S13) is used for bumpless transfer between the track and release states.

 

NOTE: The transfer is not bumpless if the manual reset time constant (S13) is set to zero. Any change in the manual reset is filtered by a first order lag with the manual reset time specified.  All versions of the algorithm provide bumpless auto or manual transfer and tuning of the proportional band.

 

S19

Integral limit type. This input specifies the limiting type applied to the integral calculation. Both forms of limiting prevent

controller wind-up during saturation of the control output.

 

0 = quick saturation recovery limiting - integral limiting equals (specified limits minus feed forward signal minus proportional action).

 

Proportional action = K x KP x (SP – PV) (reverse acting)

Proportional action = K x KP x (PV – SP) (direct acting)

 

The quick saturation recovery limitation uses the proportional action calculation for all algorithm types specified in S18. This type of limiting prevents the integral action from duplicating the efforts of the feed forward signal and the proportional action when the control output is saturated. When a decrease in error between the process variable and set point occurs, the control output immediately moves out of saturation minimizing the possibility of set point overshoot.

 

NOTE: This action is not desirable if the PID controller is used as a limiting controller holding a valve or other device at a limit (e.g., holding a valve closed) and set point changes are made that result in a decrease, but not a change in sign, in the error. In addition, the use of this option may not be desirable when the integral reset (S13) is set to zero (i.e., a P or PD controller).

 

Example:

The system is initially at a steady state with zero offset, an error signal between the process variable and set point develops, resulting in control output saturation. Then, the use of this option shifts the integral value to the integral limit. This results in an offset from the initial steady-state when the error signal reduces to zero.

 

1 = conventional saturation recovery limiting - integral limiting equals (specified limits minus feed forward signal).

 

With this type of limiting, the control output moves out of saturation only after the error between the process variable and the set point has changed sign; this may result in significant overshoot of the set point by the process variable.

 

S20

Set point modifier. This input defines the action to be taken on a set point change.

 

0 = normal - this typically results in a jump in the control output due to the proportional contribution from the error created by a set point change.

1 = integral only on set point change - proportional contribution of the error is subtracted from the integral contribution. This action eliminates the jump in control output and results in only integral action on a change in set point.

 

S21

Direction switch. This input defines the direction the control output must move to compensate for an error between the

process variable and the set point.

 

0 = reverse mode controller - an increase in the control output results in an increase in the process variable. The controller error signal is equal to the set point minus the process variable.  error = SP – PV

 

1 = direct mode controller - an increase in the control output results in a decrease in the process variable. The controller error signal is equal to the process variable minus the set point.  error = PV – SP

 

S22 and S23

Spare parameters.

 

 

156.1.2  Outputs

 

N

Control output with feed forward.

 

N+1

Block increase flag.

0 = permit increase

1 = inhibit increase

 

Figure 156-1 shows an advanced PID output example. Output N+1 from block B should be linked directly to S9 of an advanced PID block A, whose output forms the set point to block B.

 

NOTE: Do not use the output block increase flag if using the quick saturation

 

 

 

N+2

Block decrease flag.

0 = permit decrease

1 = inhibit decrease

 

NOTE: Do not use the output block decrease flag if using the quick saturation recovery option (S19 equals zero).

 

Refer to Figure 156-1. The N+2 output from block B should be linked directly to S10 of an advanced PID block A, whose output forms the set point to block B.

 

NOTE: If block B is placed in track, both of its status flags are set to one. This limits control action of block A in both directions.

 

The advanced PID controller uses a limit checking and status passing mechanism. This feature is designed to constrain controllers in cascade configurations when limits are met.

Two boolean status flags implement this feature. The outputs N+1 and N+2 reflect two conditions:

 

  1. The limit status of the local advanced PID controller.

  2. The limit status of downstream controllers. This information is supplied by S9 and S10.

 

When the advanced PID controller saturates at one of its limits, the appropriate output is set (i.e., block increase or decrease). A further increase or decrease of the set point will attempt to drive the local advanced PID controller further into saturation. The N+1 and N+2 outputs can be monitored by any advanced PID controller whose output forms the set point for the loop. Setting the N+1 or N+2 outputs prevents the higher level advanced PID controller from increasing or decreasing its output if this action causes further saturation.

 

NOTES:

  1. The N+1 and N+2 outputs are adjusted for the direct or reverse mode of each advanced PID controller.

  2. The use of the quick saturation recovery option (S19 equals zero) in the inner loop APID may result in ringing of the increase or decrease inhibit flag value as the inner loop saturates at one of its limits. Ringing is where the inhibit flag value flips between zero and one frequently. This may result in creeping of the output loop control output (i.e., instead of holding the outer loop control output (inner loop set point) constant when the inner loop saturates, the outer loop control output may move, or creep, as ringing of the inhibit flag occurs). The quick saturation recovery option is designed to have the control output move immediately out of saturation when a decrease in error between the process variable and set point occurs. Therefore, if the inner loop error value increases and decreases frequently near saturation, its control output moves in and out of saturation resulting in ringing of the inhibit output flag. In such instances, it is recommended that the conventional saturation recovery limiting option (S19 equals one) be used in the inner loop APID.

 

For example, if an inner loop controller (reverse mode) saturates at its upper limit, the block increase flag will be set. Setting this flag indicates to the outer loop controller that it should not increase its output (which acts as the set point to the inner loop).

 

NOTE: A direct mode controller sets the block decrease flag when it saturates at its upper limit.

 

156.2   Classical PID Controller

 

Standard form of a classical PID controller.

 

where:

error = SP - PV (Reverse Mode)

error = PV - SP (Direct Mode)

 

Advanced PID controller block parameters.

S11 = Gain multiplier K.

S12 = Proportional gain KP.

S13 = Integral reset (resets per min.) KI.

S14 = Derivative rate action (min.) KD.

S15 = Derivative lag constant (typically equals ten) KA.

 

NOTE: This controller works in seconds internally. It is assumed that KI and KI are in resets per minute and minutes, respectively. The 60 term converts KI and KI into resets per second and seconds, respectively.

 

Substituting block parameters into the original equation:

 

Standard convention excludes the effects of derivative action on set point changes. Using superposition, this is achieved for reverse mode.

 

To make the algorithm suitable for external reset, the proportional and integral section is implemented using positive feedback of a first order lag filter. Figure 156-2 is a block diagram of a reverse mode classical controller. Figure 156-3 is a detailed block diagram of the reverse mode classical controller.

 

 

 

 

Equations to implement the reverse mode classical controller.

 

Block output = feed forward + algorithm output

 

 

 

 

PVLL = PV during initialization or track mode or KA = 0

error’ = SP – PVLL reverse mode

error’ = PVLL – SP direct mode

Algorithm output = gain + PI

 

NOTE: Algorithm output is limited to the specified limits minus the feed forward value.

 

Gain = (K KP) error’r;

NOTES:

  1. The integral value is limited to the specified limits minus the feed forward and minus the proportional component when quick saturation recovery limiting is selected. The integral is limited to the specified limits minus the feed forward when conventional saturation recovery limiting is selected.

  2. The PI value is adjusted to compensate for bumpless transfer, bumpless proportional tuning and implementation of the set point modifier option (S20). The PI term can be forced outside its normal limits due to one of these conditions.  After this happens, a newly computed value is only allowed to move toward the region between its limits. The PI value is not forced within the limits, but it is also not allowed to move further from its limits.

  3. Using external reset and feed forward control simultaneously may cause controller instability. This is possible due to the interaction between the feed forward and external reset signals. If there is a significant lag between a change in the feed forward signal and the resultant change in external reset, the control output will first respond to the feed forward change and then tend to converge to the external reset signal. The external reset signal will dominate whenever the controller output is saturated.

  4. The classical control algorithm cannot be used for integral only control with internal reset and KP equal to zero.  With KP equal to zero and external reset not specified, the block will automatically default to a non-interacting PID controller.

 

 

156.3   Noninteracting PID Controller

 

Standard form of a non-interacting PID controller.

 

where:

error = SP - PV (Reverse Mode)

error = PV - SP (Direct Mode)

 

Advanced PID controller block parameters.

S11 = Gain multiplier K.

S12 = Proportional gain KP.

S13 = Integral reset (resets per min.) KI.

S14 = Derivative rate action (min.) KD.

S15 = Derivative lag constant (typically equals ten) KA.

 

NOTE: This controller works in seconds internally. It is assumed that KI and KD are in resets per minute and minutes, respectively. The 60 term converts KIand KD into resets per second and seconds, respectively.

 

Substituting block parameters into the original equation.

 

 

The standard convention is to exclude the effects of derivative action on set point changes. Using superposition, this is achieved for reverse mode as:

 

 

Refer to Figure 156-4 for a block diagram of a reverse mode non-interacting controller. Figure 156-5 illustrates a detailed block diagram of the reverse mode non-interacting controller.

 

 

 

 

Equations to implement the reverse mode non-interacting controller.

 

Block output = feed forward + algorithm output

Algorithm output = proportional + integral - derivative

 

NOTE: Algorithm output is limited to the specified limits minus the feed forward value.

 

NOTES:

  1. The integral value is limited to the specified limits minus the feed forward value and minus the proportional term when the quick saturation recovery limiting option is selected. The integral value is limited to the specified limits minus the feed forward value when conventional saturation recovery limiting is selected.

  2. The integral value is adjusted to compensate for bumpless transfer, bumpless proportional tuning and implementation of the set point modifier option (S20). The integral term can be forced outside its normal limits due to one of these conditions. After this happens, a newly computed value is only allowed to move toward the region between its limits. The integral value is not forced within the limits, but it is also not allowed to move further from its limits.

 

NOTE: Derivative limiting equals + span of specified limits. This is shown for a reverse acting controller. For direct action, change (PV – previous PV) to (previous PV – PV).

 

 

 

 

 

156.4   Manual Reset PID Controller

 

The manual reset PID control algorithm provides a non-interacting controller with a fixed integral (reset) term. Use this type of controller when only proportional or derivative action is required. The manual reset enables the balance of the control loop at a specific operation point. This reduces the steady state offset between the process variable and set point.

 

Taking the transfer function for a non-interacting PID controller (with derivative action on the process variable) and replacing the integral term with a first order lag yields the following transfer function:

 

NOTE: This controller works in seconds internally. It is assumed that KI and KD are in resets per minute and minutes, respectively. The 60 term converts KIand KD into resets per second and seconds, respectively.

 

where:

error = SP - PV (Reverse Mode)

error = PV - SP (Direct Mode)

 

NOTE: KI is a time constant (min.), not a rate setting (resets per min.). The first order lag on the manual reset input

avoids bumping the process whenever the manual reset value is changed. Manual or auto (track or release) transitions also utilize this time constant to perform bumpless transfer and ramping to the manual reset value.

 

Refer to Figure 156-6 for a block diagram of a reverse mode manual reset PID controller.

 

 

Figure 156-7 illustrates a detailed block diagram of the reverse mode manual reset PID controller.

 

 

 

The equations to implement the reverse mode manual reset PID controller are:

 

Block output = feed forward + algorithm output

Algorithm output = proportional + integral - derivative

 

NOTE: Algorithm output limiting equals specified limits minus feed forward.

 

 

NOTE: The integral value is adjusted to compensate for bumpless transfer, bumpless proportional tuning and implementation of the set point modifier option (S20). The integral term can be forced outside its normal limits due to one of these conditions. After this happens, a newly computed value is only allowed to move toward the region between its limits. The integral value is not forced within the limits, but it is also not allowed to move further from its limits.

 

 

NOTE: Derivative limiting equals + span of specified limits. This is shown for a reverse acting controller. For direct action, change (PV - previous PV) to (previous PV - PV).

 

 

156.5   Applications

 

Figure 156-8 shows the use of the advanced PID controller in a single input/single output control loop.