5101 Mod3 R3 Ratio FF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

5101

Ratio & Feedforward Control Solutions


Process Automation Learning Services Page |1

Table of Contents

Introduction ........................................................................................... 2

Ratio Control Strategy ............................................................................ 3

Feedback and Feedforward Control ........................................................ 8

The Calculator Block ..............................................................................10

Feedforward Control Strategy for a Heat Exchanger ..............................14

Feedforward Dynamic Compensation ....................................................18

Testing the Status of CALC Block Inputs .................................................21

Lab Introduction ....................................................................................27

Ratio Loop Configuration .......................................................................27

Lab Setup ..............................................................................................29

Feedforward Control Configuration and Operation ................................33

Review Questions ..................................................................................41

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |2

Introduction
This module explains how to employ control blocks in a predictive control strategy.
A Ratio control loop will be discussed first, since it represents a control system response, which is
mathematically calculated, and the process is subject to a single known "load" variable.
Ratio control may be defined as the manipulation of two parameters in a fixed relationship called the,
"Ratio factor", with regard to regulating a third parameter. Ratio control typically relates to fluid flow
rates used in blending or mixing operations. The fluid flow rates traditionally have labels assigned to
them. The uncontrolled flow rate or "load" is termed the "Wild Stream" flow rate and the other fluid flow
rate is called the "Controlled" flow rate. Usually, the controlled flow rate is an additive, catalyst, or
reagent added to Wild stream flow rate to produce a blended product. If tight product specifications are
required, then the cyclic or oscillatory nature of feedback control systems may be problematic and a
"predictive "control approach may be justified.
Feedforward control addresses the problem of using a predictive control approach where the process is
subject to multiple load variables. The feedforward control system usually involves a more sophisticated
mathematical calculation to produce a controller demand signal. This calculation is implemented in a
"mathematical model" of the process itself. You will find that in most feedforward control strategies
there is a feedback trim loop used to account for unmeasured loads. This trim loop requires that the same
initialization issues that were addressed in feedback control must also be addressed in feedforward
control.
The second part of this module will explain how to use the Calculator (CALC) and Lead Lag (LLAG) blocks
for feedforward control of a heat exchanger. The CALC block is used to perform arithmetic and logic
functions that are required by the energy balance equation in the feed forward strategy. It is a very
powerful block. This module will concentrate on the arithmetic capabilities of the CALC block, and will
also demonstrate how to program the CALC block to check the status of its inputs.

Module Objective:
Utilizing all available documentation, the student will be able to employ the control blocks control
features to configure ratio and feedforward control strategies.

Enabling Objectives:
The enabling objectives that support this module objective are as follows:

• Use the RATIO Block in a Ratio control strategy and explain the initialization and operation of a
Ratio control loop
• Explain the concept of feedforward control and feedback trim control.
• Understand how to write a program using the CALC block to solve arithmetic equations.
• Use the CALC Block to calculate the steady state steam flow required for feedforward control
of a heat exchanger.
• Use the Lead Lag block (LLAG) for dynamic compensation in a feedforward control strategy
and to lag a controller’s setpoint.
• Program the CALC block to check the status of its inputs.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |3

Ratio Control Strategy

Figure 3-1 Ratio Configuration


Ratio control systems are predictive systems where one variable is controlled in ratio to
another. In this example, an additive is controlled in proportion to the principal component. The
principal component is not controlled and is referred to as the Wild Flow. The Wild Flow is the
major load on the process. This ratio example is a cascaded system because the RATIO block
sets the RSP of the Controlled Flow loop. This minimizes the effects of line pressure changes in
the Controlled Flow line.
The primary controlled variable is the composition of the blend. If the Wild Flow were the only
load on the process, the feedback trim loop would not be required. However, other loads, such
as concentration changes in the wild flow and flow measurement errors, combine to cause the
controlled variable to deviate from setpoint. A feedback trim controller is added to account for
minor, unmeasured loads. In this example, the output of the Trim PID sets the Remote Ratio,
REMRAT, of the RATIO block.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |4

RATIO Block

Figure 3-2 Block Diagram - Ratio Block

Refer to the Block Book for a definition of the parameters.

The RATIO block has the same substates of Auto as the PID block:
• The Controlling substate of Auto is the normal substate.
• If INITI=1 and the block is in Auto, it goes into the Tracking substate. In this state OUT
tracks BCALCI and INITO is set to 1.
• The RATIO block has the same CEOPT options except that there is no FBK connection so only
MEAS and INITI are checked for errors. If errors are detected and CEOPT is configured as 1
or 2 then the block enters the Holding substate of Auto. In this state, the OUT holds its last
value and INITO is set to 1. Also, the OOS bit is set in the value record of the INITO
parameter. The Holding substate of auto can be overridden by switching to the manual
mode.
The Ratio Track Option, RTRKOP, forces the RATIO setpoint to track BCALCO under certain
conditions. BCALCO is equal to BCALCI divided by the MEAS. This value represents the current
ratio of Controlled Flow to Wild Flow that exists in the process. Therefore, in ratio tracking, the
MEAS multiplied by the RATIO will produce the current Controlled Flow value. The block
performs ratio tracking only if the ratio source selector, LR, is switched to Local and the block is
either operating in Manual or INITI=1. The RATIO setpoint is not settable while ratio tracking is
active.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |5

Ratio Control Loop Initialization

Figure 3-3 Ratio Control Loop Initialization

RATIO Block Initialization


The Ratio loop contains the Controlled Flow loop so that anything that opens this loop will also
open the Ratio loop. The Controlled Flow loop contains the AOUT block. The AOUT block can
open the loop and set its INITO True under the following conditions:
• The AOUT is in Manual
• The AOUT is initializing
• The Output FBM has failed. This will set INITO True but also set the OOS bit in the status
record of INITO, which will force the Controlled Flow PID into Holding if CEOPT= 1 or 2.
The Controlled Flow PID block can also open the cascade when it is in the following states:

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |6

• Tracking substate of Auto, which is caused by the AOUT block opening the loop as
explained above. If the PID's INITI is True, the block sets its INITO True.
• Manual
• Local setpoint state
• Initializing
• Holding substate of Auto. This will set the OOS bit in the status record of INITO, which
will force the RATIO block into Holding if CEOPT= 1 or 2.
If any of the above conditions exist, the Controlled Flow PID sets its INITO parameter True which
will set the RATIO block's INITI parameter True. This will cause the RATIO block to enter the
Tracking substate of Auto. However, as noted above, if the RATIO's INITI parameter has its OOS
bit set, the block will enter the Holding substate of Auto instead.
When the RATIO block is in the Tracking substate of Auto, OUT is set equal to BCALCI, which
comes from the Controlled Flow PID's BCALCO.
Whenever a control loop opens, the outputs of the controllers should be set equal to the actual
process value that they set when the loop is closed.
The RATIO block sets the Controlled Flow during closed loop operation, so this is what it should
track when the control loop opens. When the control loop subsequently closes, there will be no
difference between actual and requested Controlled Flows - bumpless transfer. The RATIO block
gets the Controlled Flow measurement through its BCALCI parameter. The BCALCO parameter
for a PID block is its MEAS.
The RATIO block supports the PRIBLK parameter, and in this ratio control strategy it should have
its PRIBLK parameter set to 1. The Trim PID block should have its PRIBLK set to 0 because it is at
the top of the cascade.

Trim Loop PID Initialization


The Trim loop contains the Ratio loop as well as the Controlled Flow loop. Anything that opens
these loops will also open the Trim loop. The RATIO block sets its INITO parameter when it is in
the following states:
• Tracking substate of Auto. Caused by downstream blocks opening the loop as explained
above
• Manual
• Local ratio state
• Initializing
• Holding substate of Auto. In Holding the RATIO sets the OOS bit of the INITO status record
which will cause the trim PID to enter Holding if CEOPT = 1 or 2.
When the Trim PID opens, its output should be set to the actual process variable, that is set,
when the loop is closed. This PID output sets the desired ratio of Controlled Flow to Wild Flow
when the loop is closed so when the loop is open, it should track the actual ratio of Controlled
Flow to Wild Flow. This is accomplished through the PID BCALCI to the RATIO BCALCO

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |7

connection. The RATIO block's BCALCO is equal to its BCALCI divided by the MEAS. This value
represents the current ratio of Controlled Flow to Wild Flow that exists in the process.
The FBK connection also uses the RATIO BCALCO connection because this is the only place that
this value is available.
Another method for determining the Back Calculated Input parameter BCALCI for the Trim PID
loop in a feedforward strategy is as follows:
• Solve the feedforward equation for the Trim PID Output.
• Insert the actual value of the manipulated variable, e.g., control valve position or flow.
Example, for the Trim PID in the ratio cascade loop:
• Solve for the Trim PID Output
Ratio equation
RATIO.OUT = RATIO.MEAS * RATIO.REMRAT
Controlled Flow Setpoint = Wild Flow * Trim Loop Output
FC1.RSP = RC.MEAS * AC.OUT
AC.OUT = FC1.RSP/RC.MEAS
• Insert actual Controlled Flow value
AC.BCALCI = FC1.MEAS/RC.MEAS
This is the same value that the RATIO block calculates for its BCALCO parameter.
The initialization parameters are used to provide bumpless transfer to closed loop control for
implicit and explicit initialization. For example, if the AOUT block, V1, is shifted to Manual all
the upstream blocks will shift to the Tracking substate of Auto. The output of the PID block, FC,
will track the actual valve position. The output of the RATIO block, RC, which normally sets the
Controlled Flow, will track the actual Controlled Flow. The output of the Trim PID, AC, will be
the actual ratio of the Controlled Flow to the Wild Flow. From this condition the plant can
return control to the Primary block, AC, without bumping the process.

Complete Ratio Loop Lab1 Page 27 - 32

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |8

Feedback and Feedforward Control


In a feedback loop, the controlled variable has to deviate from the setpoint (e.g., an error must
occur) before any control action is taken.

Figure 3-4 Feedback & Feedforward Control


The loads on the process are not measured ( a load is anything that affects the measured
variable). When a load upset occurs, it will propagate through the process and affect the
controlled variable. The feedback controller will detect the controlled variable change and use
PID control to return it to the set point.
In a feedforward control strategy, the control valve (or flow loop setpoint) is set by a function
that mathematically models the process. The principal factors affecting the controlled variable,
which are the loads, are measured, and along with the setpoint, are used in computing the
correct output to meet current conditions. Whenever a disturbance occurs, corrective action
starts immediately to cancel the disturbance before it affects the controlled variable.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services Page |9

Figure 3-5 Feedforward control with feedback trim

In many feedforward control systems, not all the loads are measured or modeled by the
control system. Unmeasured loads go undetected by the control system and result in a
constant error. A feedback trim controller is added to the control system to account for
unmeasured loads. The trim controller output can be added to the feedforward
calculation or multiplied by the feedforward calculation to adjust the control valve for
unmeasured loads effects.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 10

The Calculator Block


The CALC block provides Boolean logic, arithmetic, and trigonometric functions, all
within one integrated environment. It accommodates specialized control needs that
cannot be met with the standard block set offering. This section will introduce some of
the arithmetic capabilities of the CALC block.

Figure 3-6 Calculator Block

Other capabilities are discussed in the Discrete Control Solutions topic.


Refer to the Block Book for parameter descriptions and block operation.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 11

CALC block example:

Figure 3-7 CALC Block Arithmetic Example

The CALC block operates like most programmable pocket calculators. The block's
input/output modularity and programming capacity provides a level of functionality
that complements the standard block set offering.
All CALC block operations center on a 16-position push down stack. The top position of
this stack is referred to as the accumulator.
The CALC block instruction set includes unary, diadic, and polyadic instructions. A unary
instruction operates directly on the accumulator value.
A diadic instruction always requires two operands on the stack to compute a result. The
two operands precede or are included with the instruction.
A polyadic instruction is one that operates on the n-number of operands on the stack.
The result of any of these instructions is returned to the accumulator, where it is
available as an operand to the next instruction.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 12

During the scan that the CALC block is executed, an internal FILO (first-in, last-out) stack
preserves the results of prior operations. Thus you can chain diadic arithmetic
operations without using memory registers to store and retrieve data. This approach
greatly simplifies program entries and minimizes the number of programming steps.
After all the operations have been performed and before the next scan of the block the
stack registers are cleared.
A stack push operation is an instruction that loads a value into the accumulator. For a
diadic operation (such as SUB) the first operand of the operation is placed into the
accumulator. The second operand is then placed in the accumulator, pushing the
existing operand into the next stack position. A stack pop operation occurs when an
instruction uses the values that were loaded into the stack. The values used by the
instruction are taken off the stack and the result of the operation is put into the
accumulator.
Refer to the Block Book for the definitions of the steps.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 13

CALC Block Editor Example


The CALC block is part of the Logic Block Editor that allows users to build and configure programmable
portions of the control processor logic blocks. This editor allows for text-based or graphical-based
editors for editing the code in logic blocks.

The text based editor uses Reverse Polish Notation (RPN) in the logic block. This editor allows for
“Annotations”, “Labels”, and “Formula” portions to be used in the editor and converted into the code.

The Graphical editor is a Visio-based editor that represents RPN logic in the form of a graphical logic
diagram.

Figure 3-8 CALC Block Arithmetic Example in RPN

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 14

Feedforward Control Strategy for a Heat Exchanger

Figure 3-9 Heat Exchanger Instrumentation

Process and Control Description


The shell and tube heat exchanger used in the cascade topic will be used to
demonstrate feedforward control. The major loads on this process are the inlet
temperature and product flow rate. Although the cascade strategy adequately handles
supply side upsets, it may not be stable with regard to load upsets. The time lag
between a change in product flow and the subsequent corrective change in steam flow
may cause unacceptable temperature excursions. Also, the nonlinearity of the process
gain and time constant make the heat exchanger hard to properly tune at all operating
points.
A feedforward strategy mathematically models a process so that it can respond to load
changes as opposed to a feedback strategy, which waits for these changes to
propagate through the process to the controlled variable before corrective action is
taken. The loads must be measured in a feedforward strategy. For the heat exchanger
process, a flowmeter and a temperature element must be installed in the inlet piping.
Feedforward strategies require an accurate process model, and usually require more
instrumentation than a feedback strategy.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 15

A perfect model of the process would result in perfect control. However, the
engineering cost that would be required to accomplish this is usually not justified.
Usually, feedforward strategies model the major loads on the process and a feedback
trim loop is used to correct for unaccounted or minor loads. In the heat exchanger
model, minor loads such as ambient heat loss and changes in steam enthalpy are not
accounted for.

Process Model
Qin = Qout + losses (Energy balance equation)
W*hs + F*Cp*T1 = W*hc + F*Cp*T2 +Qa
Where: Q = energy
W = steam flowrate, lb/hr
hs = steam enthalpy, Btu/lb
F = product flowrate, gal/min
Cp = heat capacity, Btu/F-lb
T1 = inlet temperature, F
hc = condensate enthalpy, Btu/lb
T2 = outlet temperature, F
Qa = ambient heat loss, Btu/hr
hv = latent heat of vaporization = hs - hc
Assuming hv and Cp are constant, and Qa=0, solving for the manipulated variable, W, yields:
W = K*F*(T2-T1) where K=Cp/hv

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 16

Feedforward Configuration

STEAM HEADER

FS_CALC - CALC FT1


AIN FT
PNT
W' = K F (T2' - T1) m
MEAS
W'
T1 F T2' RO01 RSP FC
m
RI01 RI02 RI03 RI04 PID
OUT

MEAS
OUT FBK V1
TC AOUT
SPT
PID
MEAS

PNT PNT PNT

TT1 FT2 TT2


AIN AIN AIN

TE

TE FT

Figure 3-10 Feedforward Configuration

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 17

One possible feedforward configuration is shown in Figure 3-10. The CALC block
actually calculates the required setpoint for the steam flow loop. The temperature
setpoint, T2', is used in the steam flow calculation and the trim loop adjusts the gain of
the equation. The gain factor, m, should be close to 1.0, and if it is not, then the
modeling equation is incorrect. With this configuration the process will respond quickly
to set point changes.

Figure 3-11 CALC Block Program Steps

As with all inputs, scaling is required. The outputs must also be scaled.
Values can be entered into the 24 memory registers and then used by the instructions.
Program steps can store values into the memory registers for use in subsequent steps or
subsequent executions of the block.
Each step can be commented by entering a semi-colon ";" after the instruction.
Engineering comments “Annotations” are proceeded with * and do not take steps in the
code. The comments are retained in the station source file and not shown from the
block’s faceplate.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 18

Feedforward Dynamic Compensation


Figure 3-12 shows that T2, the outlet temperature responds faster to a change in
product flow than to a change in steam flow. In a closed loop, the result is a
temperature deviation that must be corrected by the trim loop.

Figure 3-12 T2 Response to Changes in Product & Steam Flows

Use of a LLAG Block


This should NOT be the function of the trim loop. A good process model should account
for steady state as well as dynamic properties of the process. A method for
counteracting this behavior is to use a LLAG block on the product flow measurement.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 19

MEAS LLAG
BIAS LLOPT INDEX NO.
OUT
FOLLOW LEAD/LAG 0
LGAIN + ONLY IMPULSE 1
- ONLY IMPULSE 2
LAGTIM BIPOLAR IMPULSE 3

LLOPT = 0
MEAS

OUT
LGAIN = 2 2
LAGTIM = 1 MIN 2
(LEAD/LAG)

LGAIN = 0
LAGTIM = 1 MIN
(LAG)

FOLLOW = 1

Figure 3-13 Lead/Lag Block Operation

In the heat exchanger process a LLAG block can be used to enhance the steam flow
response to a product flow change. In this case LLOPT=0, and LGAIN and LAGTIME can
be adjusted to provide close to perfect response.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 20

The LLAG block can also be used to provide a lagged response. In the feedforward
control configuration, both the feedforward calculation and the Trim PID will respond
to a setpoint change. If not accounted for the Trim PID will cause the temperature to
overshoot on a setpoint change. It is not good practice to have two functions react to
the same upset. If the setpoint is lagged into the Trim PID, then the temperature and
setpoint will change at about the same rate, and the Trim PID will not have to perform
control action on a setpoint change. In this case, the LLAG block is configured with
LLOPT=0, LGAIN=0, and LAGTIM is adjusted to match the time constant of the process.
This will cause the setpoint to change as fast as the temperature changes, thereby
eliminating control action from the Trim PID on setpoint changes.

STEAM HEADER

FS_CALC - CALC FT1


AIN FT
PNT 0-25000
W' = K F (T2' - T1) m Lb/Hr

MEAS
W'
RO01 RSP FC
T1 F T2' m
RI01 RI02 RI03 RI04
PID
OUT

MEAS
OUT FBK V1
TC
OUT SPT AOUT
PID
FP_LLAG
MEAS
LLAG

MEAS

PNT PNT PNT

TT1 FT2 TT2


AIN AIN AIN

0-400
Deg F
0-100
TE
Deg F
0-500
TE GPM FT

Figure 3-14 Feedforward with Dynamic Compensation

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 21

The location of the product flow compensating LLAG block in the control strategy is critical. As
shown in Figure 3-14, dynamic compensation occurs only for changes in product flow. If the
LLAG were connected between the CALC block and the Steam Flow PID, then the block would
process any changes to steam flow, including T2 setpoint changes. This may or may not be a
desired configuration.

Testing the Status of CALC Block Inputs


If product inlet temperature or flow inputs were bad, an erroneous calculation for
steam flow would result. The CALC block has the capability to read the status bits of its
input parameters and take alternate action based on bad inputs.

Figure 3-15 CALC Block Check Inputs

For example, if the Product Inlet Temperature element fails, the BAD status of the AIN's
PNT parameter is set True. The CALC block can read the quality of an input (for
example, RQL RI01) to check the BAD, OOS and ON bits of the value record.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 22

If the Product Flow transmitter fails, the BAD status bit in the value record of the AIN's
PNT parameter is set True. If the LLAG block has its PROPT=1 then the ERROR bit will be
set in the value record of its OUT parameter. The CALC block can use a Read Error
Status (for example RE RI02) to check for a failed transmitter.
If either of these inputs is not OK, then a new steam flow setpoint is not calculated and
the last value is used. This is accomplished by exiting the CALC block before the steam
flow calculation.

Feedforward Initialization
So far, The CALC and LLAG blocks have adequately calculated a steam flow setpoint for
normal operation.

STEAM HEADER

FS_CALC - CALC FT1


AIN FT
W' = K F (T2' - T1) m PNT 0-25000
Lb/Hr

MEAS
W'
RO01 RSP
FC
T1 F T2' m PID
RI01 RI02 RI03 RI04
INITO OUT

MEAS
OUT FBK BCALCI INITI
V1
SPT
TC AOUT
PID
MEAS

OUT
FP_LLAG
PNT LLAG PNT
TT1
MEAS TT2
AIN
AIN
PNT
FT2 0-400
AIN Deg F
0-100
Deg F
TE
0-500
TE GPM FT

Figure 3-16 Feedforward With Dynamic Compensation

Of equal importance is how the CALC block will handle an open loop condition. The
CALC block sets the remote steam flow setpoint, just as the primary loop controller in a

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 23

cascade loops sets it. In a cascade strategy, if the secondary loop is open, (e.g., shifted
to manual or shifted to local control), then the primary controller enters the Tracking
substate of Auto and its output is set to the secondary loop's controller variable through
the BCALCI connection. Likewise, when the steam flow loop of the heat exchanger
feedforward strategy is opened, the CALC block should generate an output to the RSP of
the Steam Flow PID that is the actual steam flow. It should also calculate a BCALCI
value for the Temperature PID that will allow bumpless transfer into closed loop
operation.

Detection of an Open Loop Condition


The INITO parameter of the steam flow PID can be connected to the INITI of the trim PID. This
will cause the Trim PID to enter Tracking when the steam flow loop is open. The CALC block can
calculate a BCALCI value for the Trim PID that will result in the steam flow setpoint calculation
tracking actual steam flow. This calculation is explained below.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 24

Back Calculated Input for the Trim PID

STEAM HEADER

FS_CALC - CALC
FT1
FT
W' = K F (T2' - T1) m AIN
PNT 0-25000
W
f = W/KF (T2' - T1) RI05 Lb/Hr

MEAS
W'
RO01 RSP
FC
T1 F T2' m f
PID
RI01 RI02 RI03 RI04 RO02 INITO OUT

MEAS
OUT FBK BCALCI INITI
V1
SPT
TC AOUT
0-700
PID
MEAS
GPM
OUT
FP_LLAG
LLAG PNT
PNT
MEAS TT2
TT1 AIN
AIN
PNT
FT2 0-400
AIN Deg F
0-100
Deg F TE
0-500
TE GPM FT

Figure 3-17 Feedforward Initalization

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 25

The method for determining the Back Calculated Input for the Trim PID is as follow:
• Solve the feedforward equation for the Trim PID Output.
• Feedforward equation:

W` = K * F * (T 2 T1)*m

Where:
• T` -- Temp Setpoint
• W` -- Steam Setpoint

• Solve for m

m= W`____
KF(T2' T1)

• Insert actual steam flow

f = ____W`______
KF (T2'-T1)

Where:

• F – Trim loop PID BCALCI


• W – Actual steam flow

Simplify for f:

Multiply W’ and f equations together:

f= ____W_____
KF(T2`-T1) * W` = K*F*(T2` -T1) *m

fW` = W*m  f = W*m/W`

• Since this equation involves division, a divide by zero division may


result. Therefore the

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 26

• denominator must be checked to insure it is not zero, if it is zero, set


BCALCI to 1.0.When the steam flow is closed, the Steam Flow PID's RSP will
start from the current steam flow and then begin changing to bring
temperature back to setpoint. The speed of return of the temperature to
setpoint will be determined by the tuning parameters of the temperature trim
controller.
PRIBLK initialization functionality can be propagated through a CALC block. Refer to the
CALC block description in the book.

Figure 3-18 CALC Block Initialization Steps

Other Foxboro Computational Blocks

SWCH CALCA
ACCUM MATH
SIGSEL LOGIC
OUTSEL CHARC

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 27

Lab Introduction
This laboratory exercise consists of two parts. In the first part you will configure the RATIO block in a
ratio control strategy. You will investigate the initialization and normal operation of the loop. In the
second part you will program a CALC block to compute the steam flow setpoint for feedforward control
of a shell and tube heat exchanger. If time permits you will also program the CALC block to check the
inputs used in the feedforward calculation.
A partially configured compounds named DAY3A and its process simulation DAY3A_PROCES,
DAY3B and its process simulation DAY3B_PROCES have been provided on your system in the IDE.
Compound DAY3A will control the conductivity in an analytical process cart shown in Figure 1, while
compound DAY3B will provide feedforward control for a heat exchanger shown in Figures 2 and 3.
The displays for this and all labs are pre-configured for you. The alarm configuration files have been
loaded for you. You will use IDE to complete the configuration of DAY3A compound’s strategy and
DAY3B compound’s strategy. Since each strategy is already assigned to the proper compound, there is
no need to reassign the strategy to its associated compound. You will then Validate and Deploy the
compounds and strategies to your CP and verify the operation.

Ratio Loop Configuration


For this lab exercise, complete the configuration of a ratio cascade. As mentioned above, a partially
configured compound, named DAY3A, has been provided on your system in the IDE. You will
configure the RATIO block for the blending process that was discussed in class.
In this process shown in Figure 1, the Controlled Flow is ratioed to the Wild Flow in the RATIO
block, RC. The analytical transmitter, AT, measures the conductivity of the outlet flow. The
conductivity in the outlet flow is the primary controlled variable. This measurement is used in the
feedback trim controller, AC, to adjust the remote ratio parameter of RC to account for small
unmeasured load disturbances. If the Wild Flow were the only load on the process, the feedback trim
loop would not be required. However, other loads, such as composition and concentration changes
in the Wild Flow and Controlled Flow, and flow measurement errors, combine to cause the
controlled variable to deviate from setpoint.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 28

0 -100 %

0 -100 %

0 -10 x 1000 Micro Mho

Figure 1 Ratio Configuration

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 29

Lab Setup
Required Compounds:
DAY3A and DAY3A_PROCES

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 DAY3A and DAY3A_PROCESS compounds.
4. Expand compound DAY3A. This compound should have a strategy named DAY3A_01.

Ratio Loop Configuration


5. Figure 1 shows the control loop blocks and their connections. Also shown is the RATIO block,
RC, which you will configure. The ratio cascade loop will contain the following blocks:

NAME TYPE FUNCTION


FT1 AIN Controlled Flow AIN block
FT2 AIN Wild Flow AIN block
AT AIN Conductivity measurement AIN block
AC PID Trim PID block
RC RATIO Ratio block (You will insert this block)
FC1 PID Controlled Flow PID block
V1 AOUT Controlled Flow valve AOUT block

6. Double click DAY3A_01 strategy to call up the Strategy Editor


7. Insert the RATIO block template RATIO_PALS from the 5101_PALS Template Toolbox
into the DAY3A_01 strategy.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 30

8. Name the Block RC and Make the Following Connections as shown in Figure 1.
a. AC.OUT  RC.REMRAT
b. FT2.PNT  RC.MEAS
c. FC1.BCALCO  RC.BCALCI
d. RC.OUT FC1.RSP
e. RC.BCALCO  AC.BCALCI
f. RC.BCALCO  AC.FBK

9. Change the Execution order AT AC FT2 RC FT1  FC  V1


10. Double click the ratio block to call up its parameter tabs.
11. Scale the MEAS (OUT of FT2), OUT (MEAS of FC1), and HSCI2 (OUT of AC) parameters,
as specified in Figure 1.
12. Configure the RATIO block to always initialize into the Remote ratio control mode.

Parameter Entry

13. Configure the RATIO as a PRIBLK block.

Parameter Entry

14. When done editing, save and exit block editing and then save and exit the Strategy Editor
15. Deploy Strategy DAY3A_01 and its contents.
16. Minimize the ArchestrA IDE.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 31

Ratio Loop Operation


1. Ensure compounds DAY3A and DAY3A_PROCES are ON
2. Call up DAY3A display. RC should be in Remote ratio control. Let the process achieve steady
state.
3. The primary function of the RATIO block is to adjust the Controlled Flow for changes in Wild
Flow before a noticeable effect is seen in the primary controlled variable, conductivity. To
change the Wild Flow, select the WILD FLOW box and enter 20 into the data entry box.

4. Observe the trend to see the effect on conductivity. After the conductivity measurement is
steady, return WILD FLOW to 50%.
5. The main function of the trim controller, AC, is to adjust the RATIO to account for
unmeasured load disturbances. In this simulation, the load disturbance is a change in Controlled
Flow concentration. If the Controlled Flow concentration is not changed then CF/WF ratio will
be 1.0 when the flows are equal. If a positive number is entered the concentration increases,
and if a negative number is entered, concentration decreases. If the concentration of the
Controlled Flow is increased, then Controlled Flow will be reduced. Enter a +10 for a
concentration change by selecting the Controlled Flow Concentration Box and entering the
value in the data entry box. Note the response of conductivity measurement.
 Is the conductivity response for a concentration change the same as for a Wild Flow change?
Why is it different?
__________________________________________________________________
 Is the response of the Trim PID overdamped or underdamped and is this the appropriate
response?
__________________________________________________________________

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 32

6. Change the Conductivity setpoint of AC to 5.0 and note the response of the system.
 Which block, AC or RC is responsible for bringing the conductivity measurement to the
new setpoint?
__________________________________________________________________
7. Return the process to the initial conditions: Conductivity setpoint = 7.0, Wild Flow = 50, and
concentration change = 0. Let the process stabilize.
8. Check for proper initialization.
 Shift FC1 to Manual. What happens to the operational state of RC and AC?
__________________________________________________________________
9. Shift FC1 back to AUTO.
 Access the DAY3A_GROUP display and shift V1 to MANUAL. What happens to the
operational state of FC, RC and AC?
__________________________________________________________________
 What process variable is FC1.OUT tracking?
__________________________________________________________________
 What process variable is RC.OUT tracking?
__________________________________________________________________
 What process variable is AC.OUT tracking? Calculate the value by hand to see if your
answer is correct.
__________________________________________________________________
10. This concludes the first part of the lab, Place V1 back into AUTO

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 33

Feedforward Control Configuration and Operation


In this lab exercise you will complete the configuration of a feedforward control strategy DAY3B.
Compound DAY3B_PROCES is the process simulation of the heat exchanger discussed in class..
You will configure the CALC and LLAG blocks for the feedforward strategy that was discussed in
class. Refer to Figure 2. After configuring these blocks, you will Validate and Deploy the
compounds to the CP, place the compounds on line and test for proper operation.

STEAM HEADER

FS_CALC - CALC FT1


AIN FT
W'= K F (T2' - T1) m
PNT 0-25000
W
RI05 Lb/Hr

MEAS
W'
RO01 RSP
FC
T1 F T2' m f
PID
RI01 RI02 RI03 RI04 RO02 INITO OUT

MEAS
OUT FBK
V1
TC AOUT
SPT PID
0-700
GPM MEAS

OUT
FP_LLAG
PNT LLAG PNT
TT1
MEAS TT2
AIN
AIN
PNT
FT2 0-400
AIN Deg F
0-100
TE
Deg F
0-500
TE GPM FT

Figure 2 Feedforward with Dynamic Compensation

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 34

Required Compounds:
DAY3B and DAY3B_PROCES

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 DAY3B and DAY3B_PROCESS compounds.
4. Expand compound DAY3B. This compound should have a strategy named DAY3B_01.

Lead Lag Block (LLAG) Configuration


1. Double click DAY3B_01 strategy to call up the strategy editor
2. Insert a LLAG block using the template LLAG_PALS and rename it FP_LLAG into DAY3B
strategy. You may need to move blocks around to look good!
3. Change the Execution order after TT1 FT2  FP_LLAG TT2 TC
4. Make the necessary block connections to implement the FP_LLAG block, as shown in Figure 2.
5. Scale the MEAS parameter to match the output of FT2. Scale the OUT parameter from 0 to
700 GPM. Configure HOLIM for 700 GPM also. This is to allow the lead function to work at
high flows.
6. Set the LGAIN to 2.0 and the LAGTIME to 0.3 as a starting point. You will probably have to
adjust these values later.
7. Set FOLLOW=1 so that the dynamic compensation does not begin automatically.
8. Save and Exit the Block Editor for FP_LLAG

Calculator Block (CALCA) Configuration and Programming


1. Insert a CALCA block from block template CALCA_PALS and rename it FS_CALC into
DAY3B _01 strategy in the right location.
2. Change Execution so the last blocks to execute are FS_CALC  FT1 FC  V1

3. Make the Connections shown in Figure 2 to the FS_CALC Block


4. Double-click FS_CALC to access its parameter tabs.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 35

5. In the Strategy Editor, select the tab labeled steps to enter the program steps. Using Figure 2,
notes from class, and the Block Book, program the block to calculate the steam flow setpoint,
using the following equation and scaling: (write down your program on the blank sheet provided
at the end of this lab first, have your instructor review it and then program the block)
W' = K*F*(T2'-T1) m
Where:
W' = Steam flow setpoint, 0-25000 LB/HR
K = 0.417 - Heat constants and units conversion
F = Product flowrate after dynamic compensation, output of the LLAG block,
0 - 700GPM
T2' = Setpoint for Outlet temperature, 0-400 F
T1 = Inlet temperature 0-100 F
a. User the Formula Editor, right-click the RPN Text Field and Select Formula.

b. Type Formula M01* RI02 *(RI03 – RI01) * RI04


c. Select Preview
d. Select OK
e. Add the Output RO01 and ensure to put the K value in MO1.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 36

6. Save and exit blocks editing and then save and exit the Strategy Editor.
7. Validate and Deploy compounds DAY3B to your active CP.
8. Minimize IDE.

CALC Block Operation


1. Turn on the control compounds DAY3B and DAY3B_PROCES (see appendix for procedure).
2. While testing the FS_CALC block, the CALCA Block Detail display is very helpful in
debugging the steps as well as checking for proper input connections. If the CALCA block has
errors, it will initialize into the Undefined State. To determine the step and type of error, access
the STERR and PERROR parameters in the detail display parameter page. Check real input
connections by viewing the REAL INPUT page.
3. Starting up a feedforward control strategy:
• Call up DAY3B process display
• Place the trim controller, TC in manual with its output at 1.0, which is midscale.
• Call up DAY3B_GROUP display.
• With no dynamic compensation (e.g,. FOLLOW=1 for the LLAG block), verify CALC
block operation; calculate steam flow by hand and check for operational errors.
• 0.417* FP_LLAG.OUT *(TC.SPT – TT1.PNT) * TC.OUT
• Call up DAY3B process display
• Apply a load to the process e.g. change product flow from 300 GPM to 400 GPM. Verify
operation; wait for loop to get back to steady state.
• Place the trim PID, TC, into Auto. Adjust the Integral time, INT, of the PID so that it is
about the same as the heat exchanger time constant at low product flows (e.g. 100 GPM).
• The process time constant can be measured by putting FC into Manual and inserting a
step change in the output demand steam flow (Change to 75%).

T1 T2

• When the outlet temperature stabilizes, View the trend and use the timelines to measure
the time for T2, the outlet temperature, to change 63% of the total change, this is one time
constant (This example is close to 30 Seconds). When you are done put FC back to Auto.
Apply load upsets and check control response. (Change Steam Header to 299)

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 37

• Testing the LLAG response block. Access the Block Detail Display for FP_LLAG and
set FOLLOW = 0. (Toggle the FOLLOW Bit)
• From DAY3B process display and apply a load upset to the process
(Change Product Flow to 200 GPM), and then observe the TT2, outlet
temperature, response, and FP_LLAG response.
• Enable the FOLLOW of the FP_LLAG, product flow to 400 GPM,
observe the TT2, and FP_LLAG response
• Does the loop react better with or without the FP_LLAG? (With/Without)
• Set the FOLLOW back to 0 in the FP_LLAG.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 38

Feedforward Control Initialization


Now that the CALCA block properly calculates FC's setpoint, you can program the CALCA block
to calculate BCALCI for TC, the trim controller. Whenever the steam flow loop is opened, TC
should go into the Output Tracking mode so it will not windup or cause bumps when the loop is
closed.

STEAM HEADER

FS_CALC - CALC
FT1
FT
W' = K F (T2' - T1) m AIN
PNT 0-25000
f = W/KF (T2' - T1) W
RI05 Lb/Hr

MEAS
f = m*W/W` W'
RO01 RSP
FC
T1 F T2' m f
PID
RI01 RI02 RI03 RI04 RO02 INITO OUT

MEAS
OUT FBK BCALCI INITI
V1
TC AOUT
SPT PID
0-700
MEAS
GPM
OUT
FP_LLAG
LLAG PNT
PNT
MEAS TT2
TT1 AIN
AIN
PNT
FT2 0-400
AIN Deg F
0-100
TE
Deg F
0-500
TE GPM FT

Figure 3 Feedforward Initialization

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 39

1. Call up the Control Editor


2. Call up DAY3B_01 Strategy.
3. FC.INITO to TC.INITI (May need to add parameters to blocks). This will cause TC to enter
the Output Tracking mode of AUTO state when the flow loop opens. Refer to Figure 3.
4. The calculated BCALCI, which is the "m" term in the flow setpoint calculation, should result in
the steam flow setpoint calculation tracking measured steam flow when TC's INITI is set True.
The steam flow setpoint calculation is:
W' = K*F*(T2'-T1)*m
• Solve the equation for the trim PID output:
m = W'/K*F*(T2'-T1)
• Insert the actual value of the manipulated variable, steam flow rate (W) in to this
equation.:
f = W /(K*F*(T2'-T1)
where: f is the calculated value for the Trim PID (TC), BCALCI value.
W is the actual Steam flow, 0-25000 LB/HR.
Solution:
f = mW/W`
5. Program the additional steps into FS_CALC to calculate TC's BCALCI. Since this equation
involves division, a divide by zero condition may result. Therefore the denominator must be
checked to insure it is not zero. If it is zero, then set BCALCI to 1.0. Refer to the Study Guide
for the required steps. RO02= RI04*RI05/RO01

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 40

6. The Formula in the Editor will not add the divide by 0 if RO01 is 0 this will need to be added by
hand. If added to the Formula will get warnings during save and deployment, just select OK.
7. Connect the FS_CALC.RO02 to TC.FBK and TC.BCALCI as shown in Figure 3.
8. Connect the FT1.PNT to FS_CALC as shown in Figure 3.
9. Save and exit the block editing and then save and exit the Strategy Editor
10. Redeploy your Strategy.
11. Test your strategy by shifting FC into Manual and changing the steam flow valve position. FC's
RSP should track steam flow. Put the FC block back into the “Auto” mode before you change
the product flow to 0.0 or it will not work properly. Change product flow to 0.0 GPM to see if
you have properly accounted for the divide by zero condition. Place Value back to 200 GPM

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 41

Review Questions

1. What is the function of the Lab's Analytical PID controller (AC) in a ratio cascade loop?
a) To adjust for line pressure changes of the Controlled Flow (CF) line.
b) To adjust for flow changes of the Wild Flow (WF).
c) To adjust for concentration changes of the Controlled Flow.
d) To adjust for only concentration changes of the Wild Flow.
2. In a properly configured ratio cascade, what will cause the RATIO block's BCALCO/INITO parameter
to be set true?
a) The Controlled Flow valve AOUT block (V1) is shifted to Manual.
b) Only if The Controlled Flow measurement transmitter (FT1) fails so that the FBM channel reads 0
counts.
c) The Analytical controller (AC) is shifted to Manual.
d) The Analytical transmitter (AT) fails so that the FBM channel reads 65,535 counts.
3. What value is set to the Analytical controller's (AC) OUT when it is in the Tracking substate of Auto?
a) The current ratio of Controlled Flow to Wild Flow.
b) The current ratio of Wild Flow to Controlled Flow.
c) It holds the last good value present before entering Tracking.
4. In a heat exchanger feedforward control strategy, what is the function of the Temperature controller
(TC)?
a) Quickly return outlet temperature, T2, to setpoint when a measured load upset occurs.
b) To account for heat exchanger fouling over time.
c) To only account for changes in ambient heat loss.
d) To account for changes in steam enthalpy only.
5. What are the factors that lead to the use of a feedforward strategy instead of a feedback strategy for a heat
exchanger?
a) Widely varying steam supply header pressure.
b) Feedforward is less expensive to install and to maintain.
c) Quick response to load changes is required to prevent large temperature excursions.
d) Feedforward control is not effective for systems that have nonlinear gain and varying time constant
characteristics.

5101-R3 Ratio & Feedforward Control Solutions Mod3


Process Automation Learning Services P a g e | 42

6. What is the function of the LLAG block in a heat exchanger feedforward control strategy?
a) To account for the difference between the steady state gain at high flow and low flow.
b) To account for the difference in dynamic response of the outlet temperature to changes in inlet flow.
c) To account for the difference between process deadtime and time constant at high flows and
deadtime and time constant at low flows.

5101-R3 Ratio & Feedforward Control Solutions Mod3

You might also like