Professional Documents
Culture Documents
5101 Mod4 R3 Adaptive CNTRL
5101 Mod4 R3 Adaptive CNTRL
5101 Mod4 R3 Adaptive CNTRL
Table of Contents
Introduction ........................................................................................... 2
MODOPT ........................................................................................................... 10
Lab ........................................................................................................23
Introduction
This module will examine the feedback loop with the PIDA block as its feedback loop controller. It
will also utilize other control blocks such as ACCUM, AIN and AOUT for a complete feedback
solution. PIDA controller modes, Non-interacting PID (PIDNI), Interacting PID with Deadtime
(PITAU) and Non-interacting PID with Deadtime will be discussed. The Feedback Self-tuning
block, FBTUNE, will also be presented. A discussion of the PIDA block parameters SPLLAG, FILTER,
DTIME, DFCT and PR_TYPE will be included, along with their effects on Pre-tune and Self-tune
operations.
Module Objective:
Utilizing all available documentation, the student will be able to use the ACCUM, FBTUNE and PIDA
Blocks in a Feedback control loop to demonstrate the operation of PIDA in Pretune, Selftune and
Manual tune modes
Enabling Objectives:
The enabling objectives that support this module objective are as follows:
1 Configure and test the Accumulator block to perform flow totalization.
2 For a PIDA block:
• Define the PIDA block's substates of Auto - Controlling, Tracking, and Holding - and describe
how PIDA responds to input errors.
• Configure a PIDA block so that the setpoint tracks the measurement when the control loop
is opened.
• Define and verify the effects of PIDA SPLLAG, DTIME, FILTER and DFCT parameters on
controller tuning and response.
3 For the FBTUNE block:
• Describe and demonstrate Pretune operation of the PIDA and FBTUNE blocks.
• Describe and demonstrate set point ramping and self-tuning operations of the PIDA and
FBTUNE blocks.
In the Manual mode, the output is unsecured and the accumulation process is inhibited. When
the block is switched to Auto, totalization continues starting at the last output value stored in the
Accumulator.
HAOPT, HABLIM, HAIND
When the accumulated value reaches the user-specified High Absolute Alarm Limit (HABLIM), the
block generates a Pre-Target alarm, and sets the HAIND to 1 if the High Alarm Option (HAOPT) is
configured TRUE.
When the accumulated value reaches the user-specified High High Absolute Alarm Limit
(HHALIM), the block generates a Final Target alarm, and sets the HHAIND to 1 if the High Alarm
Option (HHAOPT) is configured TRUE.
HSCO1, CARRY
When the accumulated value reaches the user specified High Scale Output value (HSCO1), the
accumulator rolls over and sets the CARRY parameter to 1 for one block execution cycle.
SET, PRESET
When the, SET parameter is TRUE, it forces the accumulator to assume the value specified by the
PRESET parameter.
HOLD
The MTRFAC (meter-factor) parameter's function is to scale the input units and make it
compatible with its output units. To set the MTRFAC parameter for GPM input and an output
total in gallons use
MTRFAC = 1/60 X block scan rate
To compute the amount the ACCUMULATOR is incremented each scan
Gallons/minute X minute/second X scan rate.
Accumulator Faceplate
Controller Parameters
INCOPT
Mode Option is a non-settable, configurable integer which sets the controller mode:
1 = PO Proportional Only
2 = IO Integral Only
3 = PD Proportional plus Derivative
4 = PI Proportional plus Integral
5 = PID Proportional plus Integral plus Derivative
6 = PIDNI Non-interacting PID
7 = PITAU Interacting PID with Deadtime
8 = PIDTAU Non-interacting PID with Deadtime
PBAND
Proportional Band is a connectable, settable input that determines the amount of error that
produces a full-scale change in the output. For example, if PBAND=50, then the output will
change 100% for an ERROR signal of 50%. PBAND defaults to 1000. A smaller value results in
greater sensitivity or controller gain and a larger value results in less sensitivity or controller gain.
INT
Integral Time is a connectable, settable input that adjusts the integral time constant when the
controller operates in the IO, PI, or PID modes. In the PO and PD modes INT becomes the
balance time. Balance time is the time constant that governs the rate at which the output
approaches the proportional signal when shifting from Manual to Auto or from Local to Remote.
INT is in units of minutes per repeat. A smaller value of INT increases controller dynamic gain
and a larger one decreases controller dynamic gain. The integrating action of the controller is
performed on the FBK parameter. No integral action occurs if there is no connection made to
the FBK parameter. FBK connections are discussed in the cascade control section below.
DERIV
Derivative Time is a connectable, settable input that sets the derivative time constant when the
controller operates as a PD or PID controller.
KD
The derivative filter is a second order Butterworth filter. Derivative Gain Factor, KD, adjusts the
phase lead and lag of the derivative filter. KD can range from 10 to 50 and defaults to 10. A
higher value of KD results in a higher derivative lead and less derivative lag. The effective
derivative gain is affected by DERIV and INT settings and by block PERIOD.
DTIME
The Deadtime parameter specifies the deadtime in minutes placed in the integral feedback path.
FILTER
The Filter parameter sets the time constant in minutes of a first order lag filter. It is used to
diminish the destabilizing effect of a mismatch between process deadtime and controller
deadtime.
MODOPT
1 - PO
Proportional-only control offers fast response but it does not eliminate offset. Used where offset
is acceptable or desired.
2 - IO
Integral-only control provides slow control but it does eliminate offset. Used for trim loops where
response time is not critical but offset must be eliminated.
3 - PD
Proportional Derivative control offers very fast response but it does not eliminate offset. Used in
no load processes or when the load is known.
4 - PI
Proportional Integral control offers medium response time and eliminates offset. It provides
robust control for many types of processes. Robustness is a measure of a control loop's ability to
remain stable when process gain or deadtime change. PI control is the controller mode most
commonly applied in the majority of process control applications.
5 - PID
Interacting Proportional, Integral, and Derivative. This is the traditional PID algorithm used by
previous Foxboro controllers. The interaction of the control modes limits the effective Derivative
time to one quarter of the effective Integral time. The Derivative Gain (KD) parameter sets the
derivative forward gain. The default value of 10 is the recommended value. Used for processes
that have no noise in the measurement and where the period of response can be reduced
through the use of the derivative mode.
6 - PIDNI
Non-interacting Proportional, Integral, and Derivative control. This control algorithm allows the
use of more Derivative action than an Interacting PID algorithm. This capability is needed in
order to achieve best performance when the process has two dominant lags.
7 - PITAU
Interacting Proportional, Integral, Derivative, and Deadtime control algorithm. This algorithm has
a deadtime element in the feedback path along with the integral lag element. This controller
provides excellent response if the deadtime and lag in the controller are matched to those in the
process. This is the preferred mode of dead-time controller when the process has a dominant
deadtime or has so much measurement noise as to make derivative action undesirable. PITAU
can provide derivative action, but less effectively than PIDTAU. PITAU is capable of out
performing an interacting PID for any process, but its tuning is less robust. The Deadtime (DTIME)
parameter specifies the deadtime in minutes placed in the integral feedback path. The Filter
(FILTER) parameter sets the time constant in minutes of a first order lag filter. It is used to
diminish the destabilizing effect of a mismatch between process deadtime and controller
deadtime.
8 - PIDTAU
Non-interacting Proportional, Integral, Derivative, and Deadtime control. With this controller, the
Derivative time is set higher than the Integral time. This mode of control is capable of out
performing non-interacting PID for any process, but its tuning is less robust.
For a pure deadtime process, derivative action offers no benefit, so a PI controller demonstrates
the same performance as a PID or PIDNI controller. The best controller for a pure deadtime
process is the PITAU. As lag is added to the process, derivative becomes useful, and PID and
PIDNI controllers out perform a PI controller. The interacting PID controller is serially configured,
derivative action is performed on the measurement and then passed through the integral
calculation. Interaction causes the effective parameters of the controller to differ from the set
parameters. The effective derivative of an interacting PID can not exceed 1/4 the integral time.
This occurs when the Integral and Derivative time are set equal to each other. The non-
interacting PID, PIDNI, is configured with the derivative and integral units in parallel. This allows
more derivative gain to be achieved.
The deadtime controllers, PITAU and PIDTAU, represent a class called model-based, model-
predictive, or internal-model controllers, in that they include models of the deadtime and lags in
the process being controlled. Deadtime controllers most effectively regulate deadtime-
dominant processes.
A robust controller will maintain closed-loop stability in the face of variations in process gain and
deadtime. One of the principal reasons for the wide acceptance of PI controllers is their
robustness. The PID algorithms are less robust than the PI controller, but they are more robust
than the PITAU and PIDTAU controllers. The PITAU controller is more robust than the PIDTAU
controller. It is recommended that the Feedback Self-Tuner (FBTUNE) block be used with a PITAU
or PIDTAU controller in loops that experience changes in process parameters. The FBTUNE block
will automatically adapt the tuning parameters to changing process conditions. The FBTUNE
block is covered in the following section.
Setpoint Parameters
SPT always represents the active controller setpoint. It is the reference variable, which is
compared to MEAS to produce the ERROR signal, which drives the control algorithm. The value
of SPT is determined by the Local/Remote setpoint selector parameter, LR. When LR=1 (Remote),
SPT assumes the value of the Remote Setpoint, RSP, and becomes nonsettable. When LR=0
(Local), SPT is unsecured and settable. SPT can also supply the setpoint value to other blocks.
In Auto, a switch from Local to Remote setpoint is made bumpless by removing derivative
dynamics (if applicable) for one cycle and forcing the integral to absorb any proportional action.
Switching from Remote to Local setpoint is always bumpless because SPT will retain the last value
retained from RSP.
Setpoint Ramping
effective upper limit is the initial setpoint value. If the local setpoint value is subsequently
lowered the effective limit tracks the setpoint until SPHLIM is reached. The lower effective limit
works similarly.
SPROPT = 0 no SP ramping
SPROPT = 1 SP ramping
SPROPT = 2 Pause ramping during deviation alarm
SPROPT = 3 Same as 1, except SPRATE is in minutes
SPROPT = 4 Same as 2, except SPRATE is in minutes
The Derivative Factor (DFCT) value determines the process model to be used by the algorithm.
The DFCT controls the weight of the derivative term. It multiplies the calculated derivative term
by the factor. When DFCT is not greater than 1, Measurement (MEAS) values and times at
peaks, zero crossings, and output-switching instants are used to calculate the parameters of a
gain-lag-delay process model. The Measurement response overshoot is related to lag-to-delay
ratio. The ratio of response amplitude to BMP size is related to process gain.
A factor greater than 1 signals Pretune to override DFCT based on its identification of the process
delay and secondary lag times. These observations are used to calculate the parameters of a gain-
2_lag-delay process model. DFCT is updated based on the result. It may be set back to 1. If the
process has a secondary lag, better performance can be achieved by choosing a DFCT value
between 1 and 4 before running Pretune. Then Pre-tune determines optimal values for DFCT
and PR_TYP.
These model parameters determine Process Type (PR_TYP). For a pure delay process, PR_TYP is -
0.4. For a lag equal to delay process, PR_TYP is 0.0. For dominant lag process, PR_TYP is 1.0. If
there is a secondary lag present, PR_TYP is usually between .3-1.0. PR_TYP may be greater than
1.0 if the process is open-loop unstable, for example, exothermic reactors.
The process model parameters determine PR_TYP and together with DFCT are used to calculate
PBAND, INT, DERIV, DTIME, SPLLAG. Pre-tune also sets values for ITMAX, ITMIN, PBMIN, and
PBMAX.
When Pretune is completed PTNREQ is reset. If Self-Tune Request is True, the controller is placed
in Auto and Self-tuning is started.
Self-Tune Operation
complete based on observed decay ratio, overshoot, confirmed response peaks, and when
Measurement or Output are not clamped at a limit. The adaptation is performed based on
overshoot, decay, attenuation, period, and process type. Four parameters, DFCT, PR_TYP,
MODOPT, and PR_FL also are used to determine the adaptation.
Derivative factor DFCT should be set greater than one when the process has secondary lags or
when there are two dominant lags. If the process has a secondary lag, better performance can be
achieved by choosing a DFCT value between 1 and 4 before running Pretune. Pre-tune
determines optimal values for DFCT and PR_TYP.
PR_FL determines the type of self-tuning adaptation:
PR_FL=0
A 0 value invokes the interpolation method whenever the error response is isolated and DFCT is
not greater than 1.
PR_FL=1
A value of 1 for PR_FL invokes the algebraic tuning method based on existing Process Type
PR_TYP and Derivative Factor DFCT. PR_FL is automatically set to 1 from 0 if DFCT is greater than
1 or a MODOPT greater than PID is chosen.
PR_FL=2
A PR_FL of 2 suspends updating of tuning parameters but allows the appropriate stored tuning
set to be activated at the start of each isolated response, based on the value of PROG and the
response direction. PROG is explained below.
The FBTUNE block will use one of the following methods to adapt the tuning parameters:
Interpolation Method
When the information is complete, and MODOPT is PI or PID, and DFCT is not greater than 1, and
PR_FL is 0, an interpolation (performance feedback) method is used, using stored response shape
and controller tuning data for key values of the PR_TYP parameter. This method allows PR_TYP to
be identified when more than two peaks are found. This method does not require Pretune to be
run first. This method uses the Overshoot (OVR) parameter as the target for the negative of the
ratio of the second error peak to the first error peak value of an isolated response. The default
and recommended value is .1.
Algebraic Method
When the information is complete and MODOPT is PIDNI, PITAU or PIDTAU, or DFCT is greater
than 1, or PR_FL is 1, an algebraic method is used to update the tuning parameters based on the
existing values of PR_TYP and DFCT. Pretune should be run first before using this method.
When the information is incomplete the algebraic method is used based on existing values of
PR_TYP and DFCT.
Expert Method
When only one peak is found, the information is incomplete and special "expert" tuning rules
are used. These adjust the tuning in a direction to cause oscillations to occur in a subsequent
response. Several adaptations of this type may be required if the starting tuning is grossly
inappropriate.
Enabling All Six Tuning Sets
Six sets of stored tuning constants are indexed according to three sub-ranges separated by
PROGLT and PROGUT of a user selected variable connected to PROG and the sign of the
disturbance response at the moment when the disturbance is detected. PROG, PROGUT, and
PROGLT, are expressed in engineering units. When a new disturbance is detected, the
appropriate tuning set is inserted into the PIDA and later updated when the response is
completed. The user should connect PROG to the Setpoint or a measured load that best
correlates with and anticipates the recovery behavior. If a tuning set, corresponding to the
conditions at the start of a new response, has not been previously adapted, the existing tuning is
used and updated.
If a continuing oscillation is marginally stable or unstable, the last successful tuning, if one is
available, is reinserted and the result of the next adaptation is evaluated. If the oscillation
continues to be marginally stable or unstable, the user-set fallback tuning parameters PM, IM,
and DM are inserted, erasing the adapted sets of stored tunings. Failure of the self-tuner to
quench an oscillation may be caused by process nonlinearity such as a sticking control valve, an
oscillating load, or an inappropriate value of PR_TYP.
If PIDRCL is set when self-tuning is suspended, the user-set memory tuning constants, PM, IM, and
DM are made active and the previously adapted tuning sets are forgotten. The user should set
PM, IM, and DM to values that will result in a damped response for all expected changes in
process gain and deadtime.
Lab Loop
Figure 1 shows the control blocks to be configured, the measurements and their ranges.
You will use the IDE Control Editor to add the temperature control PIDA block, TC.
Lab Setup
Required Compounds: DAY4 and DAY_PROCESS
Procedure
1. Access the Control Editors using the ArchestrA IDE.
2. Navigate to the Deployment window and the class control processor (CP2801 or CP2701).
3. Locate the DAY4 and DAY4_PROCESS compounds.
4. Expand compound DAY4. This compound should have a strategy named DAY4_01.
5. Double click DAY4_01 to call up the Strategy editor
Block Configuration
1. Edit DAY4_01 strategy as follows.
2. Insert the Temperature PIDA block from Template PIDA_PALS and name it TC.
3. Insert the ACCUM block from Template ACCUM_PALS and name it TOTALIZER.
4. Insert the FBTUNE block from Template FBTUNE_PALS and name it TC_FBTUNE.
5. Connect the Blocks TC and ACCUM as shown in Figure 1.
6. Set the Execution order TT2 FT1 TC TOTALIZER
FC V1 TC_FBTUNE.
7. Make the following entries as specified below to the PIDA block TC.
In the tables below, enter only the parameters that you had to change to meet the specification.
For example, when scaling the input for the TC, PIDA, do not enter the LSCI1 value because
you do not have to change it; its default value is 0.0.
a. Scale the MEAS and OUT parameters as specified in Figure 1. Enter the appropriate
Engineering Units. Change the high output-clamping limit to be the same as the high output
scale.
d. Configure the block to allow set point ramping at 30 DEGF/MIN between the limits of 120
and 180 DEGF.
e. Configure the setpoint to track the measurement when the control loop is open.
f. Configure the block to enter the Holding substate of Auto when BAD=True, or ON=False, or
OOS=True in the value records of MEAS, FBK or INITI, or if the MEAS has its ERROR bit
set.
g. Configure the block to propagate errors from the inputs to the output.
Select SPRRAMP and toggle. How is the Local Setpoint changing on the faceplate?
__________________________________________________________________
5. Repeat the last two steps for a set point TARGET of 135.0 and observe setpoint ramping.
Set TARGET below or above set point ramping High or Low limit. What happens?
__________________________________________________________________
__________________________________________________________________
Set TARGET back within the High AND Low limits. Is the field still cyan (smurfed)?
1. Change the setpoint value on the faceplate to 200.0 degree F.
Did ramping occur?
__________________________________________________________________
Did local SPT go to 200.0?
__________________________________________________________________
The answer should be no to both questions, because the PIDA block allows the user to change set
point to any value within High and Low limits. It also allows the use of the set point ramping
function when desired, within its ramping High and Low limits.
7. Change the SPHLIM to 220 from the Detail Display and Change the SPT to 200.
Pre-tune Operation
Normal operating conditions for this heat exchanger are:
• T2 = 200 DEG F
• T1 = 50 DEG F
• F = 300 GPM
• Call up the Trend overlay and then call up the tuning parameters overlay of the block.
Observe if the tuning parameters PBAND, INT and DERIV are changed by the Pre-tune
mode.
• Once Pre-tune is complete, the block should automatically shift to Auto and Self-Tune
mode.
Self-tune Operation
1. Return to the DAY4 display. Change the product flowrate to 150 GPM.
2. Call up the TC Block Detail display.
3. Call up the tuning parameters overlay and then call up a Trend for Block FC.
4. Observe the algorithm operation. If the controller was properly tuned for 300 GPM, will it be
underdamped, or overdamped at a product flowrate of 150 GPM? Note the changes in loop
response after the new tuning parameters have been set by the algorithm.
5. After the loop has settled, change the product flowrate to 400 GPM and observe the Self-Tune
operation.
5. After the loop has settled, change the SPT to 135 F in a step and observe the response. You can
also change inlet temperature T1 from group display DAY4_GROUP, to check the loop
response to this load.
Review Questions
1. The PIDA controller does not need an FBTUNE block to operate in the Pretune mode.
a. True
b. False
2. The PIDA controller does not need an FBTUNE block to operate in the Selftune mode.
a. True
b. False
3. The PIDA controller does not need an FBTUNE block to operate in the Manual tune mode.
a. True
b. False
4. The PIDA controller will operate in the Pretune mode until the PTNREQ is manually toggled back to
zero.
a. True
b. False
5. To place the FBTUNE block into the Pretune mode, the PIDA must be in ________________.
a. Auto
b. Remote
c. Local
d. Manual
6. Which of the following statements is false?
a. The PIDA control block supports setpoint ramping.
b. The Setpoint tracking option is available in the PIDA controller.
c. No matter how you use the PIDA controller, its MODOPT parameter must always be configured to
7.
d. The PIDA controller can operate in the Self-tune mode.