AM Algorithm Engineering Data AM09601 PDF
AM Algorithm Engineering Data AM09601 PDF
Application Module - 1
Application Module
Algorithm Engineering Data
AM09-601
Release 640
6/2007
Copyright, Trademarks, and Notices
© Copyright 2007 by Honeywell Inc.
While this information is presented in good faith and believed to be accurate, Honeywell
disclaims the implied warranties of merchantability and fitness for a particular purpose and
makes no express warranties except as may be stated in its written agreement with and for
its customer.
Honeywell International
Process Solutions
2500 West Union Hills Drive
Phoenix, AZ 85027
1. INTRODUCTION
1.1 References
1.2 Terms And Notation Used In The Algorithm Descriptions
2. TWO TYPES OF ALGORITHMS—PV ALGORITHMS AND CONTROL ALGORITHMS
2.1 PV Algorithms and Control Algorithms
2.2 Rolling Average Algorithm
2.2.1 Function
2.2.2 Use
2.2.3 Configuration
2.2.4 Equations
2.2.5 Errors
2.2.6 Compatibility with previous AM Releases
3. DATA ACQUISITION (PV)
3.1 Type And Name
3.2 Function
3.3 Use
3.4 Options And Special Features
3.5 Equation
3.6 Migration
4. FLOW COMPENSATION (PV)
4.1 Type And Name
4.2 Function
4.3 Use
4.4 Options And Special Features
4.4.1 Five Forms of Flow Compensation
4.4.2 Restart or Point Activation
4.4.3 Error Handling
4.4.4 Special Notes
4.4.5 Compensating for Assumed Design Conditions
4.5 Equations
4.6 Migration
5. GENERAL LINEARIZATION (PV)
5.1 Type And Name
5.2 Function
5.3 Use
5.4 Options And Special Features
5.4.1 Restart or Point Activation
5.4.2 Error Handling
5.4.3 Changing Parameters through a Universal Station
5.4.4 Parameter—Value Restrictions
5.4.5 Extension of First and Last Segments
5.5 Equation
5.6 Migration
19.6 Initialization
19.7 Override Feedback Processing
19.8 Pid Parameters
19.9 Migration
20. PID FEEDFORWARD (CONTROL)
20.1 Type And Name
20.2 Function
20.3 Use
20.4 Options And Special Features
20.4.1 Add or Multiply Action
20.4.2 Bypassing Feedforward Control Action
20.4.3 Feedforward Signal Value Status
20.5 Equations
20.6 Initialization
20.7 Override Feedback Processing
20.8 Pidff Parameters
20.9 Migration
21. PID WITH EXTERNAL RESET-FEEDBACK (CONTROL)
21.1 Type And Name
21.2 Function
21.3 Use
21.4 Options And Special Features
21.4.1 Error Handling, RFB and TRFB Inputs
21.4.2 Control Output Connections
21.5 Equations
21.6 Initialization
21.7 Override Feedback Processing
21.8 Piderfb Parameters
21.9 Migration
22. RATIO (CONTROL)
22.1 Type And Name
22.2 Function
22.3 Use
22.4 Options And Special Features
22.4.1 Role of the Multiplier/Divider PV Algorithm
22.4.2 Operating Mode
22.4.3 Restart or Point Activation
22.4.4 Error Handling
22.4.5 SP Value Range
22.5 Equations
22.6 Initialization
22.7 Override Feedback Processing
22.8 Ratioctl Parameters
22.9 Migration
INTRODUCTION
Section 1
This section provides
1.1 REFERENCES
In addition to this publication, the following publications may be needed for the design of
control strategies that use data points in Application Modules:
Note:, You should be familiar with the following publications before you refer to this
manual AM Algorithm Engineering Data.
• Basic Controller Algorithm Engineering Data, in the Product Manual binder in the
BASIC System bookset.
Some of the following terms have special meanings when used to describe the AM
algorithms; others are usually meaningful to people familiar with computers and are
defined here for those who may not be so familiar with them. In any case, the following
terms have the meanings defined here when they are used in this publication. Other terms
used in this and other reference publications, such as "Active," "Inactive," "Configured,"
"Bad," "Uncertain," and "Normal," are defined in the Application Module Control
Functions manual.
Algorithm This is a procedure for calculating a result, solving a problem, or
accomplishing some end. In TPS systems, the algorithms do not
reside in the data points that use them, but are retained in the
memory of the process-connected boxes and modules that have
them, and are used by the data points as the data points are
processed. The algorithms operate as if they had continuous
relationships with each other, and it is convenient to refer to them
that way. For example, if algorithm A is connected to algorithm B,
that is true only as the data points using the algorithms are
processed.
Bad Control This is an indicator in the AM data points that use control
algorithms. It is accessible to programs and to other data points,
and may appear on Universal Station displays. When set, it
indicates that something has happened that prevents the data point
from properly processing the control algorithm.
Bad Control This is an indicator similar to the Bad Control indicator that, when
Return set, indicates that the Bad Control indicator has been reset and
proper control is now possible.
Default A default value is a value that the system uses if the process
engineer elects not to configure a parameter. Default values are
built into the system to eliminate the need for the engineer to enter
values for parameters that are not used, or to let the system use a
typical value.
Disposable Control outputs from regulatory data points are sometimes referred
to as "disposable" or "indisposable." To be disposable, the output
must be connected to an input of at least one active secondary data
point in CAScade mode, through a configured, active input;
otherwise, the output is indisposable. "Indisposable" is a situation
similar to the Initialization Manual condition in controllers (CB,
EC, and MC) on the Data Hiway.
Not a Number This is a value in a data point parameter that indicates that the
(NaN) parameter should contain a number, but does not. This could be
because of an unavailable process input or because information
from another data point is not available. Programs and other data
points can access this indicator. A NaN data field on a Universal
Station display appears as "------" (six dashes).
Each of the algorithm descriptions mentions several parameters associated with the
algorithm. The parameter names consist of CAPITAL letters. References to parameters
not named in the descriptions are provided after the descriptions. Further information on
all data-point parameters, including the data type, range, and access keys, is provided in
the Application Module Parameter Reference Dictionary manual.
NOTE: The Rolling Average section has been moved to the Application Module Control
Functions manual (AM09-602), section 3.1.16.
PV Algorithm: DATAACQ
3.2 FUNCTION
This algorithm normally accepts the input and places it, unchanged, in PVCALC. All of
the other PV algorithms alter the input(s) in some way. See Figure 3-1.
3.3 USE
The most common use of this algorithm is to provide a PV that has been through General
Input Processing, PV Input Processing, PV Algorithm Processing, PV Filtering, and PV
Source Selection (see Figure 2-1). The value in PVCALC is filtered, and becomes PV, if
the PV source is AUTO.
The input to this algorithm and its output are in engineering units; for example, a
temperature in °C from a thermocouple input to a Process Interface Unit (PIU).
3.5 EQUATION
There is only one equation. The operation is simply the replacement of the data point's
calculated PV (PVCALC) with the value of the input:
PVCALC = P1
Where P1 contains the first input value and PVCALC contains the value that becomes the
PV when PVSOURCE = AUTO.
The parameters associated with this algorithm are P1, PVCALC, and P1STS. Refer to
the Application Module Parameter Reference Dictionary manual.
Measured
Process Value
or Calculated (Data Point
P1 DATAACQ PVCALC
Value from Parameter)
Another Data
Point
1304
3.6 MIGRATION
PV0 – Linear
PV1 – Thermocouple Type J
PV2 – Thermocouple Type K
PV3 – Thermocouple Type T
PV4 – Thermocouple Type S
PV5 – Square Root Linearization
PV6 – 100 Ohm RTD*
PV7 – RH Radiamatic*
PV20 – Simple via Input Word
PV21 – Simple via Input Source
PV103 – 10 Ohm Copper RTD*
PV104 – E Type Thermocouple Transmitter*
PV105 – R Type Thermocouple Transmitter*
Primarily used for mass-flow compensation of gas or vapor flows. Actual absolute
temperature and pressure are used as compensation inputs.
Equation C
Used for mass-flow compensation of gas or vapor flows. Actual specific gravity
(measured or calculated), absolute temperature, and pressure are used as compensation
inputs.
Equation D
Principally used for volumetric-flow compensation for gas or vapor flows. Actual
temperature, pressure, and molecular weight are used as compensation inputs. The
molecular weight can be calculated by a user-written program in an AM or in an upper-
level processor connected to the Computer Gateway.
Equation E
Flow Input F
P
G FLOWCOMP (Data Point
COMPTERM PVCALC
T Parameter)
Inputs Q
Z
Simplified Equation:
PVCALC = F*COMPTERM
A: Liquids
B: Gases, Vapors
C: Gases, Vapors (Spec. Gravity)
D: Volumetric Flow of Gases and Vapors
E: Steam
CM or AM AM
Data Point F FLOWCOMP Compensated Flow PVCALC
Or
P
FT HG
Data Hiway
PIU, CB,
MC, or EC
Analog
Input Slot n
4.5 EQUATIONS
You configure PVEQN for data point that uses the Flow Compensation algorithm to
specify one of five equations. The equations select the compensation term. The basic
equation is:
C1
PVCALC = C*———*F*COMPTERM
C2
Where:
PVCALC = The output of this algorithm. It is selected as the PV for this data point
when the PV source is AUTOmatic.
C1, C2 = Constants for correcting for assumed design conditions. Refer to 4.4.5.
in this section. Default value for each is 1.0.
COMPTERM = The compensation term. This term differs in each of the five flow-
compensation equations, A through E. Its value lies between the
COMPLO and COMPHI limits, which are specified by the process
engineer. If either limit parameter contains NaN, the corresponding
limit check is not made.
G (Liquids)
Equation A:COMPTERM =
RG
P+P0 RT
Equation B:COMPTERM = * (Gases & Vapors)
RP T+T0
P+P0 RT G
Equation C:COMPTERM = * * (Gases & Vapors,
RP T+T0 RG w/Specific Gravity)
Where the following (in engineering units) are received through input connections
4.6 MIGRATION
C 56 PVCALC = F*COMPTERM*C
X - DL
COMPTERM Variables: P, T, G
(Square root of input flow, F, PV = K *V * D H - DL
must already be extracted.)
V-Term Variables: P, T, G (The
C 60 PVCALC = C*COMPTERM*F
COMPTERM Variables: P, T, G V-Term Variables: P, T, G
PV Algorithm: GENLIN
5.2 FUNCTION
This algorithm calculates a PV that is a function of the input. The function can be any
that can be represented by up-to-12 continuous, linear segments. You specify the base
value and slope of each segment. The input is compared with the input range of each
segment and the output is set at the intersection of the input with the appropriate segment.
See Figures 5-1 and 5-2.
GENLI (Data
P1 PVCAL
N P a irnatm e t e
5.3 USE
This algorithm is typically used to provide PVs in a linear range of engineering units for
a sensor with a nonlinear characteristic. This algorithm can also be used to characterize
functions of a single variable, such as heat transfer vs. flow rate, or efficiency as a
function of load. The algorithm is particularly useful when the relationship of the input
to engineering units is empirically determined.
This algorithm supplements the standard linearization functions that are provided in the
Hiway Gateway for standard temperature sensors and differential flow meters.
On a cold or warm restart, or when a data point using this algorithm is activated,
PVCALC is recalculated the next time this data point is processed.
5.4
If the status of the P1 input is "uncertain," the PVAUTO status becomes "uncertain."
If the status of the P1 input is bad or if any of the segment coordinates (INi or OUTi)
contains NaN, the PVAUTO-value status becomes bad.
If any of the segment coordinate values (INi or OUTi) contains NaN, a configuration
alarm is generated.
The SEGTOT, INi, and OUTi parameters can be changed through a Universal Station
only if the data point that uses the GENLIN algorithm is made inactive.
The input coordinate value parameters must be specified in ascending order from the
smallest value to the largest.
The first and last segments are treated as if they indefinitely extended, so if P1 is less
than IN0 or greater than INsegtot (refer to 5.5 in this section), PVCALC is computed by
assuming that the slope of the appropriate segment continues to the intersection point.
5.5 EQUATIONS
Each time this algorithm is processed the input value P1 is compared with each segment,
starting with the first and continuing until a segment is found that intersects with the
input. When that segment is found, PVCALC is calculated as follows:
• If the P1 value is exactly equal to the input value at the beginning of any segment (P1
= INi, for i in a range from 0 to the value in SEGTOT),
PVCALC = OUTi
5.5
OUTsegtot - OUT(segtot-1)
PVCALC = * [P1 - IN ] + OUT
INsegtot - IN(segtot-1) (segtot-1) (segtot-1)
Where:
PVCALC = The output of this algorithm. It is selected as the PV for this data point
when the PV source is AUTOmatic.
Other parameters associated with the GENLIN algorithm are as follows (refer to the
Application Module Parameter Reference Dictionary):
P1STS PVCALC SEGTOT
5.6 MIGRATION
The Extended Controller has a similar algorithm that offers up-to-eight segments.
OUT3 100 -
90 -
80 -
Solution D
70 -
60 -
PVCALC
50 - SEGTOT = 3
OUT2 Solution A
40 -
Solution C
30 -
OUT1 20 -
Solution B
10 -
OUT0 0 -
0 10 20 30 40 50 60 70 80 90 100
OUT1 - OUT 0 20 - 0
PVCALC = * (P1 -IN0) + OUT0 * (20 - 0) + 0 = 13.33
IN1 - IN0 0-0
OUT(i+1) - OUTi 45 - 20
PVCALC = * (P1 - INi) + OUTi
IN(I+1) - INI 55 - 30
* (45 - 30) + 20 = 35.0
OUTsegtot - OUT(segtot - 1)
PVCALC = *[P1 - IN(segtot - 1)] + OUT(segtot -1)
INsegtot - IN(segtot - 1)
100 - 45
=
85 - 55 * (70 - 55) + 45 = 72.5
PV Algorithm: HILOAVG
6.2 FUNCTION
It can accept up-to-eight inputs. Valid inputs are those whose status is "Normal" or "Uncertain."
When the input selection functions are used, the number of the input that is selected is contained
in an accessible parameter (SELINP). See Figure 6-1.
6.3 USE
One example of the use of this algorithm is shown at the top of Figure 6-1. In this example, the
high value-selector version of the algorithm is used to detect hot spots in a boiler or a reactor.
Either the high value-selector version or the low value-selector version can be used to detect
production bottlenecks. For example, this algorithm might be used to notify the process operator that
production is currently constrained by the speed of a gas compressor. One of the selector options
might also be used to select the "safest" PV for control.
One use of the averaging option is in balancing furnace passes. In this application, the algorithm
calculates the average of the outlet temperatures of the passes.
The data point can be configured to allow the Universal Station operator, a user-written program,
or a general-input connection to force selection of one of the inputs.
Example: P1
P2
P3 HILOAVG PVCALC
P4 (Data Point
P5 Eq. A Parameters)
SELINP
P6
P7
P8
Which is the
hottest spot
in the boiler? PVCALC = Highest of the Input Values
P1
P2
P3 HILOAVG PVCALC
P4 (Data Point
P5 SELINP Parameters)
Eq. B
P6
P7
P8
P1
P2
P3 HILOAVG
P4 (Data Point
PVCALC
P5 Parameters)
Eq. C
P6
P7
P8
PVCALC = (P1 + . . . . . + P N )/N
Figure 6-1 — Functional Diagram, HI, LO, Average Selector PV Algorithm 3670
• If the FRCPERM parameter is configured as On, the forced-selection function is enabled and
an operator, a user-written program, or a general input connection can force the selection.
• IF FRCPERM is configured as Off, the forced-selection function is disabled.
The FSELIN parameter specifies the input to be selected, when selection is forced (SelectP1
through SelectP8).
6.4.2 Error Handling
Except when forced selection is in effect (6.4.1), inputs with a bad status are ignored and they do
not make the PVAUTO status bad. For example, if the algorithm is configured as a 4-input high
selector and one of the inputs goes bad, the algorithm functions as a 3-input high-selector.
If the number of valid inputs (PV status of good or uncertain) is less than the minimum number
specified in parameter NMIN, PVCALC becomes NaN and the PVAUTO status is bad.
The value status of PVAUTO is changed to uncertain under any of the following conditions:
• An input selection is forced and the status of that input is not bad (is normal or uncertain).
• Forced selection is not in effect, at least as many inputs as specified by NMIN are normal or
uncertain, and the status of the selected one (Equation A or B) is uncertain.
• Equation C (averaging) is chosen, at least as many inputs as specified by NMIN are not bad
(normal or uncertain), and the status of any of them is uncertain.
PVCALC becomes NaN and the PVAUTO value-status becomes bad under either of the
following conditions:
• The selection of an input is forced and the status of that input is bad.
• Forced selection is not in effect, and there are fewer inputs with a status other than bad than
are specified by NMIN.
On a cold, warm, or hot restart, or when this data point is activated, PVCALC is simply
recalculated the next time this data point is processed.
6.5 EQUATIONS
Equation A selects the highest input value. Equation B selects the lowest input value. Equation
C calculates the average of all valid inputs.
SELINP = FSELIN
Equation C—Average
SELINP = FSELIN
Other parameters associated with the HILOAVG algorithm are as follows (refer to the
Application Module Parameter Reference Dictionary):
NMIN PVEQN
PnSTS SELINP
6.6 MIGRATION
TOTALIZER (PV)
Section 7
PV Algorithm: TOTALIZR
7.2 FUNCTION
A data point that uses this algorithm cannot use a control algorithm.
The accumulation can be started, stopped, and reset by commands from a Universal
Station operator or from a user-written program. An operator or user-written program
can establish a target value for the accumulation. Status indicators are available to
indicate that the accumulation is near the target value, nearer to the target value, and is
complete (has reached or exceeded the target value).
For situations where the flow transmitter may not be precisely calibrated near the zero-flow
value, a zero-flow cutoff feature is provided that avoids accumulating negative flow values.
When the flow is below a user-specified cutoff value, the input value is clamped to zero.
Typically a flow P1
measurement Time-scaled
TOTALIZR PVCALC
Start accumulation
Stop
Operator or user-
Reset Target value
written program
TIMEBASE flags
Target Value
An example of TOTALIZR's use in control is determining how full a tank is, so that the
flow into the tank can be shut off before it overflows. In such an application, the P1
input to TOTALIZR would be the PV of PID-flow controller.
The events in an operation that uses TOTALIZR might be as follows (see Figure 7-2):
• The target value, which represents the desired total volume, is specified to the PVTV
parameter in the TOTALIZR point, by an operator at a Universal Station or by a user-
written program.
• When the first "slowdown" or "near-target" flag (ADEV1FL) comes on, another CL
block ramps the flow SP down to a lower value.
• When the second "slowdown" or "near-target" flag (ADEV2FL) comes on, the flow
SP is lowered to a trickle.
• When the accumulation reaches the target value, filling is complete and the complete
flag (AVTVFL) comes on. A CL block shuts the flow off. The TOTALIZR point's
PV-high alarm can be configured to trip at this point, so the operator is notified that
filling is complete.
The user specifies the timebase in seconds, minutes, or hours, in parameter TIMEBASE.
This is the timebase in which the flow measurement is made. For example, liters per second.
Scale factor, C, can be used to convert from one set of engineering units to another, for
example, from gallons per minute to barrels per minute.
Target
Value
(PVTV)
ADEV1FL
P1 TOTALIZER ADEV2FL CL Block(s)
AVTVFL
SP
PID OP
PV
F Flow Transmitter
Liquid
Three commands can be issued to the data point that is using TOTALIZR from a
Universal Station or by a user-written program. These commands are written in the
TOTALIZR point's COMMAND parameter. The commands are as follows:
• None—No action.
• Start—Start the accumulation. STATE changes to Running.
• Stop—Stop the accumulation. STATE changes to Stopped.
• Reset—Reset the accumulation value to a user-specified value. This value is
specified in parameter RSETVAL. If the accumulator is running, it continues from
the reset value.
To prevent accumulation of negative flow values, where the flow transmitter may not be
precisely calibrated near zero flow, you can specify a cutoff value in parameter
CUTOFFLM. When the P1 value is equal to or below CUTOFFLM, it is replaced by
zero. You can eliminate this feature by specifying NaN in CUTOFFLM.
When the accumulated value in PVCALC exceeds AVTV, the target-value-reached flag,
AVTVFL, goes to On, indicating that the accumulation is complete.
Even if the accumulator has stopped, this check is made on each processing pass.
You can specify two other trip points in AVDEV1TP and AVDEV2TP. They are
specified as deviations from AVTV. Each of them is associated with a flag:
When the accumulated value (PVAUTO) status is bad, AVTVFL, AVDEV1FL, and
AVDEV2FL are all Off.
You can configure equations A through F for this algorithm, but instead of specifying the
calculation, they specify combinations of the following five options:
• Use Zero—When the accumulator is running, if P1's value status goes bad, P1's value
is replaced by zero and the accumulation continues with the PVAUTO status
uncertain. When P1 is again good, PVAUTO remains uncertain until a reset
command is received. No special action by the operator is required.
• Use Last Good Value—When the accumulator is running, if P1's value status goes
bad, P1's value is replaced by the last good value and the accumulation continues
with the PVAUTO status uncertain. When P1 is again good, PVAUTO remains
uncertain until a reset command is received. No special action by the operator is
required.
• Set PVAUTO Status Bad and Stop—When the accumulator is running, if P1's value
status goes bad, the value in PVCALC becomes NaN, the PVAUTO status goes bad
and the accumulator is stopped. If the PV source is AUTO, a bad-PV alarm is
generated. When P1 is again normal, PVAUTO remains bad until the accumulator is
started again. To restart the accumulation, the operator should estimate its value and
use the reset command (see 7.4.3) to establish that value, then use the Start command
to restart the accumulation. The last accumulated value before the status went bad is
in LASTPV.
• Continue After a Warm Restart—On a warm restart when the accumulator is
running, the accumulation continues from the last PVCALC value. The PVAUTO
status goes to uncertain and remains so until a reset command is received.
• Set PVAUTO Status Bad and Stop After a Warm Restart—On a warm restart
when the accumulator is running, the value in PVCALC becomes NaN, the PVAUTO
status goes bad and the accumulation is stopped. The operator must intervene to
restart the accumulator.
These options are selected as follows:
Equation Bad Input Handling Warm Restart
When the TOTALIZR data point is activated or on a cold restart, the PVCALC
value becomes NaN, PVAUTO status goes bad and the accumulator state is Stopped.
If the PV source is AUTO, this causes a bad-PV alarm and the operator must
re-establish normal operation.
The processing that takes place for a warm restart is described in section 7.4.6.
of this document.
7.4.8 Scheduling
A data point that uses TOTALIZR must be scheduled after the point that supplies
TOTALIZR's P1 input.
• The P1-value status is bad and "use zero" or "use last value" (Equations A, B, D, or
E) is configured (see 7.4.6 in this section).
• The data point is in a warm restart and the continue option (Equations A, B, or C) is
configured (see 7.4.6 in this section).
A reset command is needed to return the PVAUTO-value status to normal, provided the
P1 status is normal.
• The P1-value status is bad and "set bad and stop" (Equation C or F) is configured.
• The data point is in a warm restart and is configured for "set bad and stop"
(Equations D, E, or F) is configured.
A reset command is needed to return the PVAUTO-value status to normal, provided the
P1 status is normal.
7.5 EQUATIONS
You configure one of Equations A through F for a TOTALIZR data point; however, the
equation specifies the operating bad-input and warm-restart options according to 7.4.6,
and doesn't affect the accumulator calculation.
For all equations, when the accumulator is running, the accumulated value in PVCALC is
calculated as follows:
PVCALC(i) = PVCALC(i-1) + C*(Time-scale)*P1
Where
PVCALC = The output of this algorithm. It is selected as the PV for this data
point when the PV source is AUTOmatic.
PVCALC(i-1) = The accumulated value at the end of the last processing pass for this
point.
C= The scale factor. Can be used to convert from eng. units to different
eng. units. Default value = 1.0
Other parameters associated with the TOTALIZR algorithm are as follows (refer to the
Application Module Parameter Reference Dictionary manual).
7.6 MIGRATION
PV Algorithm: MIDOF3
8.2 FUNCTION
This algorithm provides a calculated PV (PVCALC) that is normally the middle value of
three values from active PV-input connections. The PVAUTO status goes bad, only if all
three inputs to this algorithm are bad. If at least one input is valid (normal or uncertain),
the algorithm provides a valid value in PVCALC. See Figure 8-1.
P1
PVCALC
P2 MIDOF3 (Data Point
Parameter)
SELINP
P3
If only one valid input value is available, it is selected. If only two valid input values are
available, the selected value can be the highest or the lowest, or the average of the two, as
specified when you select the equation to be used by this algorithm.
8.3 USE
This algorithm is used to provide a reasonably secure PVCALC when inputs are available
from three redundant inputs, one or more of which may occasionally fail or provide
erratic values. The Low Selector, High Selector, Average PV algorithm provides a
somewhat similar function with up to eight input connections. Refer to High Selector,
Low Selector, Average (PV) Section 6 in this manual.
Normal operation occurs if there are no inputs with a bad-value status. Inputs are treated
as valid if their value status is either normal or uncertain.
and
SELINP = the selected input, SelectP1 through SelectP3
If there are two inputs with equal values or if all three input values are equal,
PVCALC = the value for which there is at least one other equal
and
SELINP = the lowest-number input with and equal value, SelectP1 through
SelectP3.
The PVAUTO status becomes uncertain only when the selected input is uncertain or, for
equation C, when one of the inputs used for averaging is uncertain.
The PVAUTO status is bad and PVCALC becomes NaN when the status of all three
inputs is bad.
8.5 EQUATIONS
If three valid inputs are present, the equations have no meaning and the algorithm
functions normally, as described in Section 8.4.1 of this manual. The equations specify
what the algorithm is to do if one or more inputs has a bad-value status. The equations
function as follows:
Equation A
Equation B
Equation C
SELINP = None
Equations A, and B
Equation C
Equations A, B, and C
PVCALC = NaN
SELINP = None
Where:
P1, P2, and P3 = The input values. The default value is NaN.
Other parameters associated with the MIDOF3 algorithm are as follows: Refer to
the Application Module Parameter Reference Dictionary manual.
P1STS P3STS
P2STS PVEQN
8.6 MIGRATION
MULTIPLIER/DIVIDER (PV)
Section 9
9.1 TYPE AND NAME
PV Algorithm: MULDIV
9.2 FUNCTION
This algorithm calculates a PV (PVCALC) that is either the product of two inputs
(Equation A), a quotient of two inputs (Equation B), or the product of three quotients
(Equation C). The products and quotients can be scaled and bias values can be added to
them. See Figure 9-1.
P1
P2
P3
MULDIV PVCALC (Data Point
P4
Parameter)
P5
P6
P7
Simplified Equations:
A; PVCALC = P1*P2
P1
B; PVCALC = ——
P2
P1 P3 P5
C; PVCALC = ——*——*—— + P7
P2 P4 P6
9.3 USE
Some uses, in the approximate order of importance, are
• Scaling and biasing of process-connected inputs.
• Engineering-units conversions.
• Miscellaneous process calculations.
• Conversion of the liquid level in an elevated vessel to pressure (D1 is the elevation of
the vessel).
PVCALC = C*(P1 + D1) -- Equation A
Equation B or C is used with the Ratio Control Algorithm (see Section 19) to create a
ratio-control data point whose setpoint is the desired ratio, and whose output is a setpoint
to a flow controller. This algorithm provides the PV as a scaled ratio; therefore, it is a
measure of the ratio actually attained.
Because the input values can be either positive or negative, as can the scale factors and bias
values, the results in PVCALC can have a very broad range of values. You should evaluate the
worst-case values you expect to be in use, to establish the PV range. When you configure the
data point, be sure to specify a PV range adequate to cover all expected values.
If there are no inputs with a bad status and the status of at least one input is uncertain, the
PVAUTO-value status is uncertain.
If the status of at least one input is bad, the PVAUTO-value status becomes bad and
PVCALC contains NaN.
On any type of restart or when this data point is activated, PVCALC is normally calculated.
9.5 EQUATIONS
You can select any one of three equations when configuring a data point that uses the
Multiplier/Divider PV algorithm:
Equation A
Equation B
(C1*P1 + D1)
PVCALC = C*———————————— + D
(C2*P2 + D2)
Equation C
Where:
PVCALC = The output of this algorithm. It is selected as the PV for the data point
when the PV source is AUTOmatic.
P1 through P7 = The input values. The P1 default value is NaN. Default values for
P2 through P6 are 1.0. For P7, the default value is 0.
C1 through C7 = Scale factors for Pn inputs with the same number. The default value
for each is 1.0.
D1 through D7 = Bias values for the scaled inputs with the same number. The default
value for each is 0.
Other parameters associated with the MULDIV algorithms are as follows: Refer to the
Application Module Parameter Reference Dictionary manual.
PnSTS PVEQN
9.6 MIGRATION
A 22 PVCALC = P1*C PV = PV C
S*
A 23 PVCALC = P1*C
PV = PV C
LINEAR*
PVCALC = P1*C
A 25 PV = PV C
SR*
C1
PVCALC = ——— C1
B 62* P2 - D2 PV = —————
PV -C
S 2
C1
PVCALC = —— D C
1
C 63* PV = ——— C
P2 2
PV
S
P1
F
PVCALC = ——*C OUT
B 116/101 P2 PV = ———*K
F
IN
SUMMER (PV)
Section 10
PV Algorithm: SUMMER
10.2 FUNCTION
This algorithm calculates a PV (PVCALC) that is the sum of up to eight input values.
The input values can be scaled, the combined inputs can be scaled, and a bias value can
be added to the result. See Figure 10-1.
P1
P2
P3
P4 SUMMER (Data Point
PVCALC
P5 Parameters)
P6
P7
P8
Equation B, Simplified:
PVCALC = P1 + P2 + . . . + P8
10.3 USE
A typical use is the calculation of the rate at which a component of a raw product is
entering a process unit, which is found by summing the proportion of the component in
each of several input streams and multiplying by the stream flow rates. This algorithm
can also be used to calculate a net heat loss by finding the difference between the heat
inputs and heat outputs (the difference can be obtained by using a negative scale factor,
for example, –1.0).
Because the input values can be either positive or negative, as can the scale factors and bias
values, the results in PVCALC can have a very broad range of values. You should evaluate the
worst-case values you expect to be in use, to establish the PV range. When you configure the
data point, be sure to specify a PV range adequate to cover all expected values.
If there are no inputs with a bad status and the status of at least one input is uncertain, the
PVAUTO-value status is uncertain.
If the status of at least one input is bad, the PVAUTO-value status becomes bad and
PVCALC contains NaN.
On any type of restart or when this data point is activated, PVCALC is normally calculated.
10.5 EQUATIONS
You can select one of two equations when you configure a data point that uses the
Summer PV algorithm:
Equation A
PVCALC = C*P1 + D
Equation B
Where:
PVCALC = The output of this algorithm. It is selected as the PV for this data point
when the PV source is AUTOmatic.
Other parameters associated with the SUMMER algorithm are as follows (refer to the
Application Module Parameter Reference Dictionary):
N PnSTS PVEQN
10.6 MIGRATION
The Summer PV algorithm can accomplish the function of four similar algorithms
in SUPERVISORY/TOTAL and PMX Systems. Table 10-1 compares those algorithms
to this one.
B 26 PVCALC = P1 + . . . . +Pn N
n = 1 through 8 PV = J1
i =1
n = 1 through 15
B 43 A1 A2
PVCALC = C1 * P1 + C2 * P2 PV = F+ F
100 * 1 100 * 2
N = 1 through 14
B 115* PVCALC = P1 - P2 PV = I - I
1 2
PV Algorithm: SUMPROD
11.2 FUNCTION
This algorithm calculates a PV (PVCALC) that is either the sum of two 2-term products
(Equation A) or the sum of two 3-term products (Equation B). The individual inputs and
the whole calculation can be scaled, bias values can be added to the inputs, and a bias can
be added to the whole calculation. See Figure 11-1.
P1
P2
P3 (Data Point
P4 SUMPROD PVCALC
Parameter)
P5
P6
P7
s
Equation B, Simplified:
11.3 USE
Because the input values can be either positive or negative, as can the scale factors
and bias values, the results in PVCALC can have a very broad range of values. You
should evaluate the worst-case values you expect to be in use, to establish the PV
range. When you configure the data point, be sure to specify a PV range adequate
to cover all expected values.
If there are no inputs with a bad status and the status of at least one input is uncertain, the
PVAUTO-value status is uncertain.
If the status of at least one input is bad, the PVAUTO-value status becomes bad and
PVCALC contains NaN.
On any type of restart or when this data point is activated, PVCALC is normally calculated.
11.5 EQUATIONS
You can select one of two equations when you configure a data point that uses the Sum
of Products PV algorithm:
Equation A:
Equation B:
Where:
PVCALC = The output of this algorithm. It is selected as the PV for this data point
when the PV source is AUTOmatic.
C1 through C7 = The scale factors for P1 through Pn. Default value = 1.0.
P1 = NaN.
P2 and P3 = 1.0.
P4 through P7 = 0.
Other parameters associated with the SUMPROD algorithm are as follows: Refer to the
Application Module Parameter Reference Dictionary manual.
PnSTS PVEQN
11.6 MIGRATION
PV Algorithm: VDTLL
12.2 FUNCTION
Process Input P1
Variable Dead
P2
Time Input
Figure 12-1 — Functional Diagram, Variable Dead Time with Lead Lag PV Algo 1316
• Equation D, Variable Dead Time with Two Lags—A change in the input value
(P1) is delayed as with Equation C and then receives lag compensation as specified
by one or two time constants (TLG1, TLG2). This equation is useful for simulating a
portion of a process that can be represented by a dead time and one or two lags. The
cutoff feature applies as for Equation C.
Interpolator DP1
Maximum of 31 locations
Delayed P1 Output
The delay of the input values is accomplished by a process that has the effect of shifting
the values through a table in the module's memory. Values are shifted from one location
in the table to the next, at intervals calculated to provide the desired delay. This is
illustrated in Figure 12-2.
For an example of the delay-table operation, suppose that the P1-input value has been
constant at 5.0 units for an hour. Assume that the specified delay time, TD, is 15 minutes
and that the data point is processed every half-minute (TS = 0.5 min.). At this time, the
output of the interpolator is 5.0 units, all of the locations in the table contain a value of
5.0 units, and P1 contains a value of 5.0 units.
Now suppose that the input to P1 suddenly changes to 6.0 units. The interval at which
new values are shifted through the table and the number of table locations in use have
been set up so that it takes 15 minutes for the new value of 6.0 units to appear at the
output of the interpolator.
Three sample calculations are provided below. The first shows how a fixed delay time is
determined (Equation B), the second shows how a variable delay time is determined, and
the third shows how a change in the P2 input changes the variable delay time.
Fixed Delay Time Example
If the calculated values of NRATE and NLOC had resulted in fractions, the results would
have been rounded up to the nearest larger integer and the actual delay time would have
been slightly more than specified.
Where the TD is less than 30*TS, NRATE always has a value of 1. In such cases, the
delayed output is a true, but delayed, representation of the corresponding input value.
Where the NRATE value is greater than 1, the output signal is interpolated to
approximate the earlier change in the input, by using the last output value and the value
in the last location in the table. This is an excellent approximation for typically smooth
changes in process values.
2. Each time the data point is processed, a new variable delay time is calculated as
TDNEW = C1/(C2*P2 + D2) + D1.
Assume the P2 input is 20.0 units and its scale factor is 0.05.
Scale factor C1 is 30.0. The biases, D1 and D2 both equal 0.
TDNEW = 30.0/(0.05*20.0 + 0) + 0 = 30 minutes.
This is rounded to the nearest integer (not necessarily the next larger integer, as for
a fixed delay time), so
NRATE = 3.
In the Second Delay Time Example, the exact delay specified by the input was
25.641 minutes. If the actual delay is not accurate enough, the TS value can be set lower
(by specifying a lower value for PERIOD) to achieve greater accuracy (resolution).
To eliminate excessive changes and jitter in the TD value that are caused by noise on the
P2 input, a dead band of 10% of the minimum step in TD values is provided. If P2
doesn't change more than this value, the previous TD value is retained.
You can use these variable delay-time equations to attain a fixed delay time by setting the
value of C1 to 0 and adjusting the value of D1 to get the desired delay value. This
permits changes of delay time from a Universal Station while the data point is active, but
the resolution may be much less than using a fixed delay time (Equation B), where the
delay can be changed only by making the point inactive and then active again.
For Equation C and D, if neither input has a bad-value status, but one or both has an
uncertain-value status, the PVAUTO-value status is uncertain. Equations A and B don't
use the P2 input, so for them, the PVAUTO-value status is uncertain only if the P1-value
status is uncertain.
For Equations C and D, if either input has a bad-value status, PVCALC becomes NaN
and the PVAUTO-value status is bad. For Equations A and B, only a bad P1-value status
causes PVCALC to contain NaN and the PVAUTO-value status to be bad.
When the input-value status is again normal or uncertain, the data point is initialized as
for a cold start (refer to Section 12.4.7) and the PVAUTO-value status becomes normal,
or uncertain, as appropriate.
12.5 EQUATIONS
You can select one of four equations when you configure a data point that uses the
Variable Dead Time with Lead-Lag Compensation PV algorithm:
Equation A—Lead Compensation with Two Lag Compensations
1 + TLD*s
PVCALC(s) = [C*————————————————————————— * P1(s)] + D
(1 + TLG1*s) * (1 + TLG2*s)
DP1 = P1
t t-TD
PVCALC(s) = C*DP1 + D
If CUTOFFLM does not contain NaN and if P2 is less than CUTOFFLM, DP1 = 0.
Otherwise, calculate DP1 as follows:
DP1 = P1
t t-TD
C1
TD = —————————— + D1
C2*P2 + D2
PVCALC(s) = C*DP1 + D
C1
TD = —————————— + D1
C2*P2 + D2
DP1 = P1
t t-TD
1
PVCALC(s) = [C* ——————————————————————————— * DP1(s)] + D
(1 + TLG1*s) * (1 + TLG2*s)
Where:
PVCALC = The output of this algorithm. It is selected as the PV for this data point
when the PV source is AUTOmatic.
DP1 = The delayed P1 value. Not accessible to Universal Stations nor to user-written
programs.
P1 = The input value to which the delay and lead-lag compensation are applied.
P2 = The input value that changes the variable delay when Equation C or Equation D
is used.
t-TD = The present time minus the actual dead (delay) time
(notation only, not a parameter).
TD = The fixed time delay in minutes for Equation B. The actual variable delay time
in minutes for Equations C and D. Default = 0.
TDNEW = The calculated new (ideal) delay time in minutes for Equations C and D.
Another parameter associated with the VDTLL algorithm is as follows: Refer to the
Application Module Parameter Reference Dictionary manual.
PVEQN
12.6 MIGRATION
CALCULATOR (PV)
Section 13
13.1 OVERVIEW
– Also, an optional scaling factor is provided (D1-D6) for each of the six PV inputs
(P1-P6) to the AM calculator expression.
PV Algorithm: CALCULTR
13.3 FUNCTION
The calculator algorithm allows the user to write an equation to compute the PV and up to
four intermediate results can be calculated. The result from evaluating the expression is
stored into PVCALC, which is then processed like any other calculated PV value (see
Figure 13-1).
D1 P1
D2 P2
D3 P3 (Data Point
CALCEXP PVCALC
D4 P4 Parameters)
D5 P5
D6 P6
The equation is specified at the time of point building and is loaded from the DEB without
additional steps such as compilation or linking.
Up to six inputs sources (PISRC(n)) can be configured and stored into the destination
parameters P1 . . . P6.
Up to six scaling factor parameters (D1-D6) are also provided, one for each of the input
destination parameters, P1 . . . P6.
• Free format reals and mixed real and integer calculations permitted.
Divide /
Multiply *
Subtract -
Add +
Absolute ABS
Square SQR
Square Root SQRT
Natural Logarithm LN
Base_10 Logarithm LOG
Exponent EXP
Sine SIN
Cosine COS
Tangent TAN
Arc-tangent ATAN
Other statements:
Equate =
Separator ;
13.4 USE
The calculator algorithm can be used to perform any calculation or arithmetic function on
up to six inputs, using up to four intermediate results.
• The user can configure up to six inputs, using the "Tagname.Parameter" format for
PISCRC(n). The destination inputs can be assigned, using PIDSTN(n) for P1 . . . P6.
The result of expr_5 is stored in PVCALC (because it has no equate associated with
it). There is no restriction on the order in which the sub equations and the expression
for PVCALC are specified.
• If C1-C4 are expressions, they are recalculated every time the algorithm is processed.
• If C1-C4 are not expressions, then they can be used as configurable constants into the
equation. C1-C4 can then be entered or modified by an operator through the detail
displays or user programs.
• Parameters D1-D6 are scaling factors for each of the six PV Inputs, P1-P6. The
default value for D1-D6 is 1.0.
The calculator expression is compiled during the Data Owner Store into the algorithm
expression string parameter, CALCEXP. In case of any syntax error(s) or if a parameter
referenced in the expression is misspelled, the store is rejected and the error
“CALCULATOR SYNTX” is given to the user.
If the calculated value of PVCALC is "BAD," PVAUTOST is marked bad. If the final
value of PVCALC is a normal number, PVAUTOST is marked “UNCERTN” if any input
that is used in the calculation is uncertain or bad; otherwise it is set equal to NORMAL.
If the HI, LO, and AVG functions have bad inputs, they are ignored in the computation; if
all inputs are bad, the result is marked bad. On MID3 function, if only one input is bad,
the result is set equal to the average of the other two.
13.6 EQUATIONS
The calculator equation can be up to 68 characters long. It is entered into the Parameter
Entry Display (PED) in the port for the parameter CALCEXP. You can also change the
equation from a schematic or User CL program, but the AM Regulatory point must be
INACTIVE. You can configure up to four intermediate expressions. The result of an
expression not having an "equate" associated with it is stored in PVCALC.
C1=P1*P2;C2=P4*MAX(0,C1,100);SQRT(C2*10)
(P1 * P2)/C1
Parameters D1 through.D6 are automatically applied and cannot be used in the equation.
The only parameters used in the equation are P1 through P6 and C1 through C4.
PV Algorithm: CL
14.2 FUNCTION
This algorithm is a user-written CL block that is like any other CL block except that it is
inserted at the PV-algorithm insertion point in the processing sequence (see Figure 2-1)
and is executed instead of one of the standard PV algorithms.
The CL block must calculate and store a value in PVCALC. Inputs to the CL block are
usually acquired by direct references in CL, but they can also be acquired through
general inputs to a Custom Data Segment (CDS) that is included in the data point. The
value placed in PVCALC by the CL block is processed just as PVCALC is processed for
any other data point that uses a PV algorithm.
PV Algorithm Processing
Inputs CL
from this Block (Data Point
PVCALC
and other Parameter)
data points
14.3 USE
A CL block is used when normal point processing is appropriate but none of the standard
PV algorithms will accomplish the desired function. The CL block can be bound to a
single data point if only one point needs its functions or it can be written as a generic CL
block and bound to several data points.
Here are two examples of the tasks that should be accomplished by the CL block:
1. Compute the algorithm output value and store it in PVCALC. This sets
PVAUTOST to Normal or Bad, based on the value stored.
2. If propagation of uncertain status is needed, check the status of the inputs used for
the calculation to determine the status of the value in PVCALC (Normal,
Uncertain, or Bad) and store that status in PVAUTOST.
Else
14.4.1 Initialization
No standard initialization is provided. The CL block can monitor the PVINIT parameter
to determine whether to initialize or not.
14.4.2 Restart
The CL block can check the data point's RESTART parameter to determine what type of
restart, if any, the point is going through, and then take appropriate action.
14.5 EQUATIONS
The equation(s) used for a CL PV algorithm, if any, is a function of the CL block.
Another parameter associated with the CL PV algorithm is as follows: Refer to the
Application Module Parameter Reference Dictionary manual.
PVINIT
14.6 MIGRATION
PV algorithm 77 in SUPERVISORY/TOTAL and PMX systems has functions that are
similar to the CL PV algorithm. The following table lists those functions.
Enumerations No NoYes
15.2 FUNCTION
In CAScade mode, this algorithm calculates a control output that is equal to the input
value plus a bias value. The bias value is normally provided by a Universal Station
operator. In MANual mode, the output is controlled by a Universal Station operator or a
user-written program. See Figure 15-1.
The algorithm is designed to provide "bumpless" returns to cascade operation, if it is
configured for external initialization, even though its primary data point may not accept
the initialization value from the AUTOMAN data point. When it is configured for
internal initialization, during initialization, the bias value is back-calculated to provide an
unchanged output when the data point returns to cascade operation.
Sequence
Program
or
CAS
o o
MAN
From Primary o
Data Point
Output
CAS Processing
o
o X1
o To
AUTOMAN CV OP
MAN Secondary
To
INITVAL
Primary
Equation: CV = X1 + B
The AUTOMAN control algorithm typically serves as the ultimate secondary data point
in a cascade-control strategy. As such it directly drives the control element (valve)
through a PM slot or a Data Hiway-based slot. See Figure 15-2.
This algorithm is very useful for a secondary data point that is one of two or more
secondaries of the same primary data point (a "fan-out" configuration). In such a
configuration, AUTOMAN can provide a "bumpless" output even if its primary doesn't
accept AUTOMAN's initialization request, but accepts one from one of its other
secondaries. This might happen because the AUTOMAN point is temporarily out of the
cascade because it is inactive or because it is in MAN mode.
PRIMARY Output
DATA POINT Processing
o CAS
o AUTOMAN CV OP
o
Man
Note
To Additional
Secondary
Data Points
NOTE: In a PM, this is an Analog Output point (slot) with PNTFORM = Component.
On a Data Hiway this is a CB, MC, or EC point (slot) using a CM, CMA,
or DDC algorithm.
When the user or a program enters a bias value in B while in cascade operation,
that value goes to B0 and B1 is forced to zero. B1 is an internal parameter that
cannot be accessed by a user.
When the cascade connection is broken (in MAN mode, initialization-manual input, etc.)
a value is calculated for the primary to initialize to, as follows:
INITVAL = CV - B0
If the primary data point did accept AUTOMAN's initialization value, B1 turns out
to contain zero. If the primary did not accept INITVAL, B1 contains a value that
causes CV to contain the value it had just before the cascade closed. In either case,
CV does not "bump."
If B1 has a value other than zero, that value ramps to zero at a rate specified by the
user in the RATE1 parameter. RATE1 is specified in engineering units-per-second.
Therefore, while the output doesn't "bump" it does ramp to the new value called for by
the input from the primary.
For example, assume that the AUTOMAN data point, configured for external
initialization, is operating in CAS mode
X1 = 6
B = 5; B1 = 0, B0 = 5
CV = X1 + B = 11
B = 5; B0 = 5, B1 = 5
B1 = 7 - 7 = 0
B = B0 + B1 = 5 + 0 = 5
CV = 7 = 5 = 12
B1 = INITVAL - OPprim = 7 - 9 = -2
B = 5 - 2 = 3
CV = 9 + 3 = 12
This time, the primary doesn't accept INITVAL, and the output of the primary
went to nine units
OPprim = 9
Go back to CAScade
X1 = 9
B1 = INITVAL - OPprim = 7 - 9 = -2
B = 5 - 2 = 3
CV = 9 + 3 = 12
12 Units
On a cold or warm restart or when the data point is activated, initialization takes
place. Refer to15.6 in this manual. On a hot restart, initialization does not occur.
If the X1 input has a bad-value status, the CV value is bad, but the data point remains in
the same mode. When the bad input returns to normal, CV is recalculated and, if
configured for external initialization, an initialization request is sent to the primary.
15.5 EQUATIONS
This algorithm uses only one equation for normal operation:
CV = X1 + B
Where:
CV = Control-algorithm output in engineering units.
B = Bias value. Default = 0.
X1 = The initializable input.
15.6 INITIALIZATION
You can configure this algorithm for
• No initialization
• Internal initialization
• External initialization
If you choose no initialization, initialization requests are not sent to the primary
data point and any initialization request from a secondary data point is ignored.
If you choose internal initialization, when the data point is initialized, the bias value is
back calculated as follows:
B = CV - X1
When the data point's secondary uses an Override Selector algorithm (see Figure 15-2),
the following functions take place:
• If this point is configured for external initialization and is in CAS mode, Override
Status PTORST is returned to this point through special processing. If that status is
"not selected," an override-feedback value is calculated as follows, and it is passed on
to the AUTOMAN data point's primary:
ORFB = ORFBSEC - B
For more detail on override control refer to Section 24 of this manual, and the
AM Control Functions manual.
15.9 MIGRATION
CV = X1 + B CN = X + B
CAS
o
o X1 CV X1
o X2 Override
AUTOMAN CV
MAN X3 SELECTOR
X4
PTORST-(Selected)
To INITVAL
PTORST ORFBSEC
Primary
ORFBSEC
16.2 FUNCTION
This algorithm calculates the sum of the incremental changes in up-to-four input values.
The output is obtained by adding the sum of the changes in all inputs, after each input is
multiplied by a scale factor. See Figure 16-1.
X1
X2 To
INCRSUM CV OP Secondary
X3
X4
Output
Processing
PID
X1
PID
X2
INCRSUM CV OP SP Secondary
PID X3
Data Point
X4 PV
PID
16.3 USE
This algorithm is typically used where more than one primary data point is used to
manipulate the set point of the same secondary data point. The primaries usually use PID
algorithms, and are connected to an INCRSUM data point, whose output is connected to
the secondary, as shown here. This is sometimes referred to as a "fan-in connection."
Special handling of the outputs of PID data points is necessary in the Incremental
Summer, because it is the dynamic operation of the PID that is significant—the full-value
output is not significant. As the process variables change, PID outputs have no direct
relation to the input, therefore, they are said to be "floating." The incremental summer
responds only to changes in the PID outputs, and calculates a full-value output to be
applied to the control device (valve) in the process or to the secondary data point.
While the PID algorithms handle SPs, PVs, and outputs as percentages of the configured
range, the Incremental Summer performs its calculations in engineering units.
To prevent a primary PID point in AUTO or CAS mode from winding-up beyond its own
output limits, every time the Incremental Summer point is processed it changes the PID's
output value to its own CV value after converting to percent. This does not affect the
dynamic changes in the PID outputs.
If a primary PID is in MAN mode, the PID's CV is not changed by the Incremental
Summer.
The following restrictions apply to the PID points that are the Incremental Summer
point's primaries.
• Each must reside in the same process unit and the same AM.
• Each must be a normal PID (Section 19) or a PID Feedforward that uses additive
feedforward (Section 20).
If the Incremental Summer's secondary is an Override Selector data point, the Incremental
Summer's full-value output (CV) must be limited to a user-specified range beyond the
feedback value received from the Selector point when the Incremental Summer is not
selected. The feedback value is received in parameter ORFBSEC and you specify the
overrange (or bias) in ORBIAS.
Because the Incremental Summer operates only on changes in value, each time it is
processed it must store past values. These past values [Xn(n-1)] are used to calculate the
changes in values the next time the Incremental Summer point is processed.
The flow chart of Figure 16-2 shows how the override strategy and past-value updating
operate. Refer to 16.7 in this manual.
This algorithm operates only in MANual and CAScade modes. Because the output of
each PID primary tracks the OP output value of the INCRSUM data point, switching this
point from MAN to CAS does not "bump" the process.
Note: The dynamic correction calculated by a PID primary appears as a change in that
data point's output after it is processed again, and the Incremental Summer actually uses
this change as its input. The full-value outputs of PIDs connected to the Incremental
Summer have no meaning.
If the status for an input value is bad, the input value is not used in the CV calculation
and the point remains in the same mode. When a bad input returns to normal, that input
is again used in the CV calculation without "bumping" the value.
START
NO YES
CV (n - 1) CV < CV <
N (ORFBSEC N (ORFBSEC
= CV
O - ORBIAS)? O + ORBIAS)?
A YES YES
Finished
calculating Clamp CV Clamp CV
Y past values @ ORFBSEC @ ORFBSEC
E for all inputs - ORBIAS + ORBIAS
S in use?
END
NO
Primary for
this input a N Xn (n - 1)
PID? O A
= Xn
YES
Xn: This input value.
Y Xn (n - 1): Past input value.
Primary in
E ORFBSEC: Feedback value from
MAN mode?
S Override Selector.
ORBIAS: User-entered Override
Xn (n - 1) NO, AUTO or CAS
Bias value.
= Xn CV (Primary):CV of the primary that
Xn (n - 1) = CV (%) provides this input.
(CV is output of
A Incr. Summer)
16.5 EQUATIONS
CV is calculated as follows:
+ K2*[X2(n) - X2(n-1)]
.
.
.
+ Km*[Xm(n) - Xm(n-1)]
Where:
CV(n) = Current full value of the output of this algorithm in engineering units.
CV(n-1) = Past full value from the data point (value from the last time the data point
was processed).
X1(n-1) through Xm(n-1) = Past value of each X input (value from the last time the
data point was processed).
16.6 INITIALIZATION
• Internal initialization.
• External initialization.
If you choose internal initialization, initialization requests are not sent to any of the
primaries. In MAN mode, when the output is indisposable or when recovering from a
bad CV value (NaN), initialization is as follows:
CV is back-calculated from OP
CV = the initialization value returned from the secondary data point, if the output is
indisposable.
X1(n-1) = X1
.
Xm(n-1) = Xm
If you choose external initialization, initialization occurs in MAN mode, when the output
is indisposable, or when recovering from a bad CV value (NaN), as follows:
• The Incremental Summer's CV value and past values are initialized as shown above
for internal initialization.
• The initialization value sent to the primary or primaries is equal to the value in the
Incremental Summer's CV parameter.
When this data point's secondary uses an Override Selector algorithm, the Incremental
Summer doesn't send override-selection status or values to its primaries. It does,
however, receive selected or not-selected status from the secondary, and its CV value is
limited. Refer to Section 15.4.4, and Figure 15-2 in this manual.
In addition to the parameters already mentioned, the following parameters are associated
with the INCRSUM algorithm (refer to the Application Module Parameter Reference
Dictionary):
INITTYPE X3STS
X1STS X4STS
X2STS
16.9 MIGRATION
LEAD-LAG (CONTROL)
Section 17
17.1 TYPE AND NAME
17.2 FUNCTION
This algorithm provides dynamic lead and lag compensation to a feed forward signal. A
scale factor can be applied to the input and a bias value can be added.
From Initializing
Primary
CAS
To
SP LEADLAG CV OP Secondary
AUTO
Operator or Output
User-Written Processing
Program
To INITVAL
Primary
Equation:
1 + T2 * s 1
CV (s) = [K* * * SP (s) ] + B
1 + T1 * s 1 + T3 * s
17.3 USE
This algorithm is used to provide dynamic lead and lag compensation to a feed forward
variable from a process-connected input or from another data point. The algorithm's output is
often connected to the feed forward input of a PID-with-Feed forward control algorithm. It
can also be connected to an input of other types of data points such as an incremental Summer,
a Multiplier/Divider control algorithm, a Summer control algorithm, or an Auto Manual
Station algorithm. The algorithm can also be used to smooth out changes in the setpoint of
another data point by an operator at a Universal Station.
• AUTO
• MAN
• CAS
Setting the lead-time constant (T2) to 0, eliminates the contribution of its term from the
compensation. Likewise, a value of 0 for either of the lag-time constants (T1 and T3)
eliminates their terms from the compensation.
We recommend that the processing rate of a data point that uses this algorithm be at least
ten times greater that the lead or lag break-point frequencies.
Because negative values for lead-time are possible, its restrictions are specified in terms
of its absolute value (|T2|).
On a cold restart, warm restart, or when the point is activated, initialization is performed,
as configured. No initialization occurs on a hot restart.
You must configure the range of the SP value in SPEULO and SPEUHI.
Where:
CV = Normal control output in engineering units.
B= Bias value. Default value = 0.
K= Scale factor (gain). Default value = 1.0.
SP = Input value (initializable).
s= The Laplace operator.
T2 = Lead-time constant in minutes. Default = 0.
T1= 1st lag-time constant in minutes. Default = 0.
T3 = 2nd lag-time constant in minutes. Default = 0.
17.6 INITIALIZATION
In addition to the parameters already mentioned, the following parameters are associated
with the LEADLAG algorithm (refer to the Application Module Parameter Reference
Dictionary):
INITTYPE SPEUHI
SPEULO SPSTS
17.9 MIGRATION
MULTIPLIER/DIVIDER (CONTROL)
Section 18
18.1 TYPE AND NAME
18.2 FUNCTION
This algorithm calculates a control output by multiplying two input variables and
dividing the resulting product by a third input variable. Scale factors and bias can be
applied to the input variables, and an overall scale factor and bias can be specified.
Three equations are provided. One provides only multiplication, and the other two
provide multiplication and division.
One of the input variables, SP, is initializable. This variable appears in the numerator of
one of the fractions and in the denominator of the other.
From Initializing
Primary
CAS
MULDIV To
SP CV OP Secondary
X2
AUTO X3
Operator or X4 Output
User-Written Processing
Program
To INITVAL
Primary
Simplified Equations:
A: CV = SP * X2
SP * X3
B: CV = + X4
X2
X2 * X3
C: CV = + X4
SP
Input SP is initializable in all the equations. The only difference between equations B
and C is that SP is in the numerator in B and it is in the denominator in equation C.
18.3 USE
• MAN
• AUTO
• CAS
On a cold restart, a warm restart, and then the point is activated, initialization occurs, as
configured. On a hot restart, no initialization occurs.
When any Xn input is bad, the CV value becomes bad (NaN) and this point continues in
the same mode. When the bad input is again normal, CV is initialized, and if this point is
configured for external initialization, an initialization request is sent to its primary.
18.5 EQUATIONS
You can select from one of three equations when you build a data point that uses this
algorithm. The full equations are as follows:
Equation A
CV = [K*(K1*SP+B1)*(K2*X2+B2)] + B
Equation B
(K1*SP+B1) * (K3*X3+B3)
CV = K*———————————————————————— + (K4*X4+B4) + B
(K2*X2+B2)
(K2*X2+B2) * (K3*X3+B3)
CV = K*———————————————————————— + (K4*X4+B4) + B
(K1*SP+B1)
Where:
K1, K2, K3, K4 = Gain (scale factor) constants. K1, K2, and K3 default to 1.0. K4
default = 0.
X2, X3, X4 = Control input values. Typically received through control input
connections. X2 and X3 default to 1.0. X4 default = 0.
18.6 INITIALIZATION
You can configure the data point that is using the Multiply/Divide control algorithm for
• No initialization
• Internal initialization
• External initialization
If you select no initialization, initialization requests from secondaries are ignored and CV
is as calculated by the normal equation (see 18.5 Equations in this section).
If you select internal initialization, initialization requests are not sent to the primary data-
point when an initializing condition occurs, but bias-value B is back-calculated as
follows:
Equation A B = CV - [K*(K1*SP+B1)*(K2*X2+B2)]
(K1*SP+B1)*(K3*X3+B3)
Equation B B = CV - [K* —————————————————————— + (K4*X4+B4)]
(K2*X2+B2)
(K2*X2+B2)*(K3*X3+B3)
Equation C B = CV - [K* —————————————————————— + (K4*X4+B4)]
(K1*SP+B1)
(CV - (K4*X4+B4)-B)*(K2*X2+B2) 1
Equation B INITVAL = [—————————————————————————————— - B1]* ———
K*(K3*X3+B3) K1
K*(K2*X2+B2)-B)*(K3*X3+B3) 1
Equation C NITVAL = [——————————————————————————— - B1]* ———
CV - (K4+X4+B4) - B K1
If this data point's secondary is an Override Selector point (see Figure 18-2) and if this
point is configured for initialization and is in CAS mode, when override-feedback
processing takes place, override status and an override value are passed to this point's
primary. The status is in parameter PTORST.
The feedback value is calculated as follows:
Equation A
ORFBSEC - B 1
ORFB = [———————————————— - B1]* ———
K*(K2*X2 + B2) K1
Equation B
Equation C
In addition to the parameters already mentioned, the following parameters are associated
with the MULDIV algorithm. Refer to the Application Module Parameter Reference
Dictionary manual.
CTLEQN SPEUHI
INITTYPE SPSTS
SPEULO XnSTS
18.9 MIGRATION
Table 18-1 compares the AM Multiply/Divide control algorithm with similar algorithms
in the former systems.
From Initializing
Primary
CAS
SP MULDIV
X2 CV OP X1
AUTO CV
X3 X2 Override
Operator or X4 SELECTOR
X3
User-Written X4
Program
To INITVAL
Primary PTORST PTORST
ORFBSEC ORFBSEC
A 31 CV = K*X2*SP + B CN = KA*X*V + K2
B 32 CV = K*SP/X2 + B CN = KA*V/X + K2
CV = X2*SP + B
A 52 CN = PV*P + KA
X2
CV = -------- + B PV
C 53 SP CN = ------ + KA
P
CV = SP*X2 + B
A 54 CN = R*PVN + KA
19.2 FUNCTION
This algorithm operates as a 3-mode (proportional, integral, and derivative) controller. You
can choose one of two forms of this algorithm: the interactive (or real) form and the
noninteractive (or ideal) form.
The output of this algorithm is normally "floating," because of the dynamics of the integral
and derivative terms. Internally, the output is calculated as increments of output change, but
the increments are accumulated to provide a full-value output, thus simplifying the
techniques used to achieve "bumpless" outputs when modes or tuning constants are changed.
The algorithm operates to reduce error in the control loop to zero. Error is represented by
the difference between the process variable in percent (PVP) and the setpoint in percent
(SPP). The control-algorithm output value (CV) is also calculated as a percentage of the
configured engineering-units range for the data point that uses this algorithm.
CAS
To
SPP PID CV OP
Secondary
AUTO
Operator or PVP Output
User-Written Processing
Program
From PV
Processing
19.3 USE
The PID algorithm is used as a controller that either directly moves a control device (valve)
in the process, or provides an input to another data point. See the following figure.
Output Processing
SP
PID CV OP
PV
Or Data
Point
In an LCN-based module,
in a UPC, or in a box on
a Data Hiway.
Direct
Note Output
Slot
Note:
For direct output through a PM, the data point (slot) in the PM is an Analog Output slot whose
PNTFORM parameter contains Full and whose RCASOPT parameter = DDC.
For direct output through a CB or MC on a Data Hiway, the data point (slot) in the controller uses one of
these algorithms in Cas mode (the HG enables the COMP function):
For direct output through an EC on a Data Hiway, the data point (slot) in the controller uses one of
these algorithms in Cas mode (the HG enables the COMP function):
When the AM PID point is a primary for another data point in the same AM, another LCN
module, in a PM, or in a box on a Data Hiway, its output is connected to the SP or the
secondary point. If the AM point is directly controlling a valve, its output is connected to
the output value (OP) of a slot in a PM, or to OP in one of the Data-Hiway-based points
listed in Figure 19-2. The OP value determines the magnitude of the analog current supplied
to the valve by the output slot's holding amplifier.
During configuration, select one of these two forms. They differ as follows:
• Noninteractive (Ideal) Form—In this form, P, D, and I are added in the time domain. D is a
pure derivative. This form is often called the digital-computer version of the PID controller.
You select the combinations of proportional, integral, and derivative control terms by
choosing Equation A, B, C, or D. The equations function as follows:
(see 19.5 in this section)
• Equation A—all three terms (P, I, and D) act on the error (PV - SP).
• Equation B—The proportional and integral terms act on error (PV - SP) and the
derivative acts on PV changes. This equation is used to eliminate derivative spikes in
control action that occur with quick changes in the setpoint.
• Equation C—The integral term acts on error (PV - SP) and the proportion and
derivative terms act on PV changes. This equation provides the smoothest and slowest
response to setpoint changes.
When you use equation A, B, or C, the integral or derivative terms can be eliminated by
setting their time constants to 0 (see 19.5 in this section). Setting both T1 and T2 to 0
results in only proportional control.
When configuring a data point that uses the PID algorithm, you can select direct-control
action or reverse-control action. You can also change the control action through the detailed
display if you have an engineer's key, or a user-written program can change the control
action. The control action can be changed at the Universal Station or by a program, only
while the data point is in MAN mode. The attribute must be appropriate (OPER or PROG)
for the change to be accepted.
Changing the control action effectively changes the sign of the gain. With direct action, an
increase in PV increases output; with reverse action, an increase in PV decreases output.
SPP = 50%
PVP = 51%
If PVP increases, the deviation (error) increases, so the output, CV, increases (see
Equation A. (See 19.5 in this section).
The opposite occurs with reverse-control action: If the deviation increases, CV decreases.
19.4.5 PV Tracking
You can select PV tracking when configuring a data point that uses this algorithm. If you
do, SP becomes equal to PV under any of the following conditions:
• The first time the data point is processed after becoming active.
• On a cold or warm restart, if the data point is configured for external initialization.
• If parameter CTRLINIT contains On and this point is configured for external initialization.
PV tracking is typically chosen when the data point is a secondary in a cascade control
strategy, because it allows the PID to resume control with no error, after the point has been
in MAN mode or is initialized.
PV tracking can also be used when the data point is the ultimate primary point. In such a
case, a startup procedure could be used where the point is started in MAN mode and the
valve manually adjusted to bring the PV close to the desired value, and the data point would
then be switched to AUTO.
When configuring a data point that uses the PID algorithm, and equations A, B, or C, you
can choose any of the following four gain options:
• Linear Gain—This is the most commonly used gain option. The gain, K, used in the
chosen equation (see 19.5 in this section) is set by the user. The default value for K is 1.
• Gap Gain Modification—This option is used to reduce the sensitivity of the control
action when the PV is in a narrow band (gap) around the setpoint. The size of this band
is specified by the user. K, as used in the chosen equation is derived as follows:
K = KLIN*KGAP, if (SP - GAPLO) < PV < (SP + GAPHI)
or,
K = KLIN, if PV is outside the gap.
Where:
GAPLO = The bottom limit of the gap in the same engineering units as the PV.
Default = 0.
GAPHI = The upper limit of the gap in the same engineering units as the PV.
Default = 0.
Where:
For the ideal form of the PID, nonlinear gain does not act on the derivative component.
NLGAIN = Nonlinear gain, specified by the user. Value ranges from 0 to 10. Default= 0.
PVP = PV in percent
SPP = SP in percent
The main use of this option is to compensate for nonlinear-process gain. The user can
tune the PID gain independently of the operating point of the process. For example, in
controlling the level in a tank whose cross section is not constant, the gain could be
modified to compensate for the nonlinear rate of level change that is caused by the
changing shape of the tank. The General Linearization PV algorithm (see Section 5 in
this manual) could be used to compute the inverse of the level-change characteristic, and
the resulting PV could be used to modify the level-control gain.
K is derived as follows:
K = KLIN*KEXT
Where:
KLIN = Same as for linear gain
It is possible to use this option for multiplicative-feed forward control, but the PID with
Feed forward-control algorithm (Section 19) is a better choice because it provides a
better operator interface and better recovery from a "bad" feed forward input.
NOTE:
If GAINOPT = GAP, then the parameters KLIN, GAPHI, GAPLO, and KGAP are
available. If GAINOPT = EXT, then the parameter KEXT is available.
19.4.7
When the output of this algorithm reaches the user-specified integral or output limits, or
reaches the setpoint limits of the data point's secondary, or when a woundup-status
indication is received from the secondary, the PID algorithm stops calculating the integral
term but the calculation of the proportional and derivative terms continues.
This is the same way that windup conditions are handled in Basic Controllers, Multifunction
Controllers, and Extended Controllers.
Without this suppression feature, the first setpoint change after switching from MAN or AUTO
to CAS mode could cause a sudden move (kick) in the output because of the proportional or
derivative terms. This "kick" occurs when, for some reason, the primary data point's output is
not initialized, and an abrupt change in the setpoint occurs when CAS mode resumes.
To suppress this "kick," the proportional and derivative terms are not calculated the first
time the PID data point is processed after changing to CAS mode.
This feature is especially useful when the PID point is one of two or more secondaries of its
primary data point. When this data point is changed to CAS mode, even if the primary is
not initialized, the output of this data point does not bump the first time it is processed.
As an example of the usefulness of this feature, consider a single PID that is controlling
temperature by controlling the flow of either gas or oil. This PID's output is connected to
both flow controllers, but only one connection is active at any time. When a change from
one fuel to the other is made, the user-written program initializes the output of the
temperature-controller PID by storing a new, full-value output in CV. The active
connection is switched from one to the other, and the dynamic compensation of the flow of
the new fuel proceeds. The value stored in CV is the setpoint of the new secondary in
percent (SPP). Through this technique, the full-value output of the primary has been
initialized without initializing its dynamic calculations, so the fuel switchover is quick and
smooth.
The following are restrictions on some of the values used with this algorithm:
• The engineering units range that you specify for the PV also applies to the SP.
• For best performance, we recommend that the integral- and derivative-time constants be
within the following ranges:
20.0*TS < T1 < 20,000*TS
If the values of T1 or T2 are not within the ranges suggested above, you should adjust
them or TS to bring them within those ranges.
T2 < 10.0*TS
Ratio control can be achieved by modifying the setpoint input to the PID algorithm by
a ratio of some other process value, for example, a fuel-to-air ratio in furnace control,
it can also be accomplished with the Ratio Control algorithm. (See section 22 in this
manual). When configuring a PID data point, you can select one of the following option
is for modifying the setpoint:
If you select one of the ratio and bias options, configured or operator-entered ratio and bias
values are used to modify the setpoint, by multiplying it by the ratio and adding the bias
value, only while the data point is in CAS mode. In AUTO mode, the modification does not
occur because this option is intended to receive the process value to be modified by the
ratio, only from another data point.
The "Auto" options adjust the ratio or bias while the data point is in AUTO or MAN
modes, or is undergoing initialization, so that when it returns to CAS mode, the new SP
won't "bump" the process. The adjustment is as follows:
• For Auto ratio, the operator can change only bias, and ratio is calculated to maintain
the same setpoint when the mode is changed to CAS. The operator can change
the ratio in CAS mode.
• For Auto bias, the operator can change only ratio, and bias is calculated to maintain
the same setpoint when the mode is changed to CAS. The operator can change the
bias in CAS mode.
Modification of the setpoint by a ratio and a bias is actually handled by setpoint processing
rather than by the PID algorithm. It is applied to only PID setpoints.
These options allow this one algorithm to do essentially the same functions as the PID Ratio,
PID Auto Ratio, and PID Auto Bias algorithms in Basic Controllers, Multifunction
Controllers, and Extended Controllers.
The parameters used for these options are RBOPTION, RATIO, BIAS, RTHILM,
RTLOLM, BSHILM, and BSLOLM.
On a cold restart, a warm restart, or when the data point is activated, initialization takes place as
described under 19.6. On a hot restart, the PID dynamics are returned to a steady state.
If the status of the PV value goes bad, the CV value is changed to bad (NaN) and the data
point remains in the current mode. When the PV-value status returns to normal, the CV
value is initialized and the PID dynamics are returned to a steady state. If so configured, an
initialization request and initialization value are sent to the primary data point.
19.5 EQUATIONS
You can select one of four equations when you configure a data point that uses the PID
control algorithm. Equations A through D differ in the interactive and noninteractive
forms of the algorithm.
1 + T1*s 1 + T2*s
CV(s) = K*[————————*——————————*(PVP(s) - SPP(s))]
T1*s 1 + a*T2*s
1 + T1*s 1 + T2*s 1
CV(s) = K*[—————————*———————————*PVP(s) - —————*SPP(s)]
T1*s 1 + a*T2*s T1*s
1
CV(s) = [—————*(PVP(s) - SPP(s))]
T1*s
1 + T1*s
CV(s) = K*[(————————— + T2*s)*(PVP(s) - SPP(s))]
T1*s
1 + T1*s 1 + T1*s
CV(s) = K*[(————————— + T2*s)*PVP(s) - —————————*SPP(s)]
T1*s T1*s
1 + T1*s 1
CV(s) = K*[(————————— + T2*s)*PVP(s) - —————*SPP(s)]
T1*s T1*s
1
CV(s) = ——————*(PVP(s) - SPP(s))
T1*s
Where:
19.6 INITIALIZATION
CV = OP
If external initialization is configured and the mode is MAN, the output is indisposable,
or this point has just recovered from a bad CV value,
If the mode is MAN or AUTO, the output is indisposable, or this point has just recovered
from a bad CV value, an initialization request is sent to the primary. The initialization
value sent to the primary is equal to this data point's setpoint, unless one of the ratio
control options is chosen. In that case:
INITVAL = (SP - BIAS)/RATIO.
When a PID point's secondary uses an Override Selector algorithm (see Figure 19-3), the
following functions take place:
• When override feedback is propagated, override status is returned in PTORST to the PID
point. The status will be one of these.
Not Connected
Selected
Not Selected
If the status returned is Not Selected and if the PID point’s mode is AUTO or CAS, the
PID point’s CV is initialized in one of two ways. If the direct-control option is chosen,
CV is initialized as follows:
In both examples above, the term K*(PV - SPP) is the offset value, and ORFBSEC is the
override-feedback value (in %) sent to the PID from the secondary. If equation D is
selected for the control algorithm (see 19.5), a value of K = 1.0 is used in the
initialization calculations above (equation D does not use K).
Whether the PID point is selected or not, if it is in CAS mode and configured for
external initialization, an override-feedback value is calculated as follows and sent to the
primary:
ORFB = (PV - BIAS)/RATIO
The not connected/not selected/selected status received from the PID's secondary, is also
sent on to the primary.
NOTE
For release 410 or later, if the offset value is in such a direction that it causes the nonselected
PID to become selected, the offset value will be set to 0.0. The offset value is the term K*(PV -
SPP) in the CV initialization examples above.
See Section 24 in this manual, and refer to Application Module Control Functions manual
for more information on override control.
In addition to the parameters already mentioned, the following parameters are associated
with the PID algorithm (refer to the Application Module Parameter Reference Dictionary):
19.9 MIGRATION
The PID algorithm virtually duplicates the functions of 9 of the 12 PID algorithms in
SUPERVISORY/TOTAL and PMX Systems. Only the interactive (real) form of the
algorithms is available in SUPERVISORY/TOTAL and PMX Systems.
Most of the SUPERVISORY/TOTAL and PMX PID algorithms are actually implemented in
Basic Controllers. Four of them can be implemented in the computer system or a Basic
Controller. The following table shows how they compare with the PID in Application
Modules.
From
Primary
CAS
SPP PID
CV OP X1 CV
AUTO X2 Override
X3 SELECTOR
X4
INITVAL
To PTORST PTORST
ORFBSEC ORFBSEC
20.2 FUNCTION
20.3 USE
The use of the PID Feedforward Control algorithm is the same as the PID algorithm,
except that this algorithm can accept a dynamic feedforward signal from the process, or a
value that is representative of some condition in the process, to be combined with the
PID's incremental output before the full-value output is accumulated.
The feedforward signal can be obtained from an analog-input point, and it is often
subjected to dead-time compensation, or lead-lag compensation before being connected
to the FF input of this algorithm. That compensation can be provided by algorithms such
as the Variable Dead-Time with Lead-Lag Compensation PV algorithm (Section 12 in
this manual) or the Lead-Lag Control algorithm (refer to Section 17 in this manual).
Similar algorithms are available in Basic Controllers, Multifunction Controllers, and
Extended Controllers. Figure 20-2 shows an example of such a strategy.
Inlet Feed
Dynamic Feed-Forward
PV Algorithm:
Signal
F Variable Dead-Time
with Lead-Lag
T Fuel
Outlet Feed
Figure 20-2 — Example, PIDFF Control Algorithm in Head Heater Control 1331
All of the following PID Control-algorithm options and special features apply to the PID
Feedforward Algorithm:
• 19.4.5 PV Tracking
• If the feedforward signal comes from a PV algorithm, switch the PV source for the
data point that is using the PV algorithm to MANUAL (if you do this and the PV is
changed while the PV source is in manual, the feedforward signal is affected). To
resume feedforward action, switch the PV source back to AUTO.
• If the feedforward signal comes from a control algorithm, switch the mode of the data
point that is using the control algorithm to MANual (if you do this and the output (OP) is
changed while the source point is in manual, the feedforward signal is affected). To
resume feedforward action, switch back to Normal mode (AUTO or CAS).
If the value status for the feedforward signal goes bad, the feedforward component of the
output value is frozen at the last good value, and normal PID processing continues.
When the value status of the feedforward signal returns to normal, normal feedforward
action resumes. This does not cause a bump in the output because any change from the
last good value is internally absorbed and the PID dynamics are not affected. The
floating, full-value output continues as if there were no feedforward change, but the
contribution of the feedforward action continues from that time.
20.5 EQUATIONS
You can select PID equations, just as described for the interactive form and the
noninteractive form. (See Section 19.5 in this manual)..
In addition, the feedforward signal is applied to the incremental output of the PID
computation, as follows:
Note that the back calculation of CVPID keeps CV unchanged, and therefore,
prevents a bump.
Where:
FF lgv = Last good value for the FF input (notation only, not a user-visible parameter).
Where EUHI and EULO are the high and low limits of the engineering-
units range. Default = 1.0.
n and n-1 = Notation to indicate the value this pass (n) and the preceding pass (n-1).
20.6 INITIALIZATION
If the status returned is not selected and if the PID point's mode is AUTO or CAS, the
PID point's CV is initialized as follows:
In addition to the parameters already mentioned, parameter FFSTS is associated with the
PIDFF algorithm. Refer to the Application Module Parameter Reference Dictionary manual.
20.9 MIGRATION
No PID algorithms that combine a feedforward signal with the PID output are available
in SUPERVISORY/TOTAL or PMX Systems. See Section 19.9 in this manual.
21.2 FUNCTION
The intent of this algorithm is to prevent windup when it has a secondary data point,
typically a PID point that may or may not be responding to the output of this data point.
Setpoint Output
From Initializing
Primary Processing Processing
CAS
To
SPP PIDERFB CV OP
Secondary
AUTO
Operator or PVP
User-Written
Program
From PV S1 Tracking Switch Control
Processing TRFB Tracking Value*
RFB Reset Feedback Value**
* Typically PV or SP of
Secondary PID
PID Forms: Interactive (Real)
Noninteractive (Ideal)
** Typically PV of
Secondary PID
Equations: A; Full PID
B; PI on error, D on PV change only
C; I on error, PD on PV change only
D; Integral control only
Figure 21-1 — Function Diagram, PID with External Feedback Control Algorithm 1332
21.3 USE
The use of the PID with External Reset-Feedback algorithm is the same as the PID
algorithm, except that this algorithm can accept a reset-feedback signal (RFB) from
another data point, typically the PV of the secondary PID data point that is receiving its
setpoint from this data point.
This algorithm also accepts a tracking value (TRFB) and a tracking switch-control signal
(S1) from another data point, typically PV or SP of the secondary PID data point that is
receiving its setpoint from this data point. If the switch control is on, the CV value from
this data point is replaced by the tracking value.
The RFB and TRFB values are usually received as control-input connections. S1 can be
received from a general-input connection or from a CL block.
In a simple application, both the reset-feedback signal and the tracking value may come
from the PV of the secondary data point. See the following figure.
If, for some reason, the secondary is not using the output of this data point, S1 is set to
On, which causes this point's CV to track the secondary PV. When the secondary begins
to accept OP from this point for control, S1 is set to Off, and CV is then at the same value
as the controlled variable (PV), so there is no bump and normal control can resume.
If, for some reason, there is a sudden difference between the controlled variable and this
point's CV value, the integration on the RFB signal smoothes the output change.
PIDERFB
SPP OFF
+/- Output
PID
PVP Accum CV OP SP PID
S1
PV
On
All of the following PID Control-algorithm options and special features apply to the PID
with External Reset Feedback algorithm:
• 19.4.5 PV Tracking
In addition, the following applies to the PID with External Reset Feedback.
If S1 is Off, and the reset-feedback input has a bad value, the data-point mode doesn't
change and the CV value goes bad (NaN). When the RFB input is again good, the CV
value is initialized (see Section 19.6 in this manual) and the dynamic terms are returned
to a steady state. If configured for external initialization, an initialization request is sent
to the primary data point.
If S1 is On, and the tracking-value input has a bad value, the data-point mode doesn't change
and the CV value goes bad (NaN). When the TRFB input is again good, the CV value is
initialized (see Section 19.6 in this manual) and the dynamic terms are returned to a steady
state. If so configured, an initialization request is sent to the primary data point.
21.5 EQUATIONS
CV = CVPID + CVRFB
Where:
CVRFB = The scaled, integrated deviation of RFB from CV. This is an internal
parameter and is not available to displays or to user-written programs.
K= Gain
21.6 INITIALIZATION
In addition to the parameters already mentioned, the following parameters are associated
with the PIDERFB algorithm. Refer to the Application Module Parameter Reference
Dictionary manual.
RFBSTS TRFBSTS
21.9 MIGRATION
RATIO (CONTROL)
Section 22
22.2 FUNCTION
This algorithm calculates a setpoint, for a PID algorithm, that is the desired ratio of
a controlled variable to an uncontrolled variable. The value of the controlled
variable is maintained at a specified ratio of the value of the uncontrolled variable.
The data point that uses this algorithm usually uses Equation B of the
Multiplier/Divider PV algorithm (see Section 9 in this manual) to calculate the
measured value of the ratio for displays and reports.
Ratio control can also be accomplished with the ratio-control options of the PID or
PID Feedforward control algorithms (see 19.4.11 in this manual). This Ratio-control
algorithm has several advantages, including the display of the actual ratio attained, as
calculated
by the Multiplier/Divider PV algorithm, and direct control of the ratio through the
SP of the Ratio algorithm.
SP RATIOCTL CV OP To Secondary
(Typically, SP
AUTO for a PID)
Operator or
X2
User-Written
Output
Program
Processing
Uncontrolled
Variable
22.3 USE
This algorithm is typically used in the control of the flow of a gas or fluid, as a
ratio of an uncontrolled or "wild" flow. For example, in a furnace, the air supply
might be controlled as a ratio of the fuel supply. If more heat is required to
maintain combustion efficiency, the fuel flow is increased and the airflow can be
increased as a ratio of the fuel-flow increase.
The following figure shows an example of such an application. In this example, the data
point that uses the Ratio-control algorithm also uses the Multiplier/Divider PV algorithm
to calculate the actual ratio achieved, for display or printing.
17.143 GPM
Controlled Flow
To evaluate this example, see the equations; (see 22.5 in this section) and you will note
that the same scale factor, 0.7, is used in for both P1 in the PV algorithm and X1 in the
Ratio-control algorithm. The resulting scaled ratio between the "wild" flow and the
controlled flow is 2.00/0.7 = 2.857, so if the "wild" flow is 6.00 gallons per minute, the
controlled flow must be 6.00*2.8557 = 17.143 gallons per minute.
The 0.7 scale factor is used for C1 and K1 in the example to illustrate that the same scale
factors and bias values must be used with the PV algorithm and the Ratio-control
algorithm (C1 = K1, D1 = B1, K2 = C2, and B2 = D2), so that the actual ratio calculated
by the PV algorithm will be the same as the desired ratio (2.00) when the loop is stable.
If the scale factor in C1 and K1 were 1.0, the controlled flow would stabilize at the
"wild" flow, multiplied by the ratio. In the Figure 22-2 example of, the controlled flow
would be 6.00*2.00 = 12.00 gallons each minute.
Note that the "wild" flow might not be wild at all, but may actually be a flow controlled
by another controller. In any case, the controlled flow stabilizes at a value equal to the
"wild" flow, multiplied by the desired ratio, as modified by any scale factors other than
1.0 or any bias values other than 0.
Any data point that uses RATIOCTL should use the Multiplier/Divider PV algorithm
(Section 9). Equation B of the Multiplier/Divider algorithm can be used. The
uncontrolled ("wild") variable is connected to P2 and the variable controlled by the PID
algorithm (see Figure 22-2) is connected to P1. The scale factors and bias values in the
PV algorithm must have the same values as their counterparts in the Ratio control
algorithm:
RATIOCTL MULDIV
K1 = C1
K2 = C2
B1 = D1
B2 = D2
Thus, MULDIV can calculate the actual (measured) ratio attained, and when the PV
source is AUTO, that value is available in the PV parameter of the data point for use on
displays and reports.
• MAN
• AUTO
• CAS
On a cold or warm restart or when the RATIOCTL data point is activated, initialization
takes place. (See 22.6 in this section). On a hot restart, normal operation resumes
with no initialization.
If the value status of the X2 input is bad, the CV value is changed to bad (NaN). The
data point remains in the same mode. When the X2 input again has normal status,
initialization takes place. (See 22.6 in this section).
22.5 EQUATIONS
• Multiplier/Divider PV Algorithm
Equation B
(C1*P1 + D1)
PVCALC = ————————————
(C2*P2 + D2)
B2 = Bias constant for the X2 input. Should be the same value as D2 in the
MULDIV PV algorithm. Default = 0.
K2 = The scale factor for X2. Must equal C2 of the MULTDIV algorithm.
22.6 INITIALIZATION
• No initialization
• External initialization
When the data point's secondary uses an Override Selector algorithm (see Figure 22-3),
the following functions take place if the RATIOCTL algorithm is configured for external
initialization and if it is in CASs mode:
For more detail on override control, refer to Section 24 in this manual, and the
Application Module Control Functions Reference manual.
From Initializing
Primary
CAS
SP RATIOCTL
AUTO CV OP X1 CV
X2 Override
X3 SELECTOR
X4
To I NITVAL PTORST
Primary PTORST ORFBSEC
ORFBSEC
ORFBSEC is not an external parameter.
In addition to the parameters already mentioned, the following parameters are associated
with the RATIOCTL algorithm. Refer to the Application Module Parameter Reference
Dictionar manual.
22.9 MIGRATION
Control Algorithm No. 100, Ratio; Control Algorithm No. 54, Ratio
CN = FIN*RATIO/K
23.2 FUNCTION
This algorithm produces an output that consists of up-to-six alternate ramps and soak
periods—a total of 12 segments. The output is usually used as the setpoint for a
secondary data point that uses a PID algorithm to control a process variable, according to
the ramps and soak periods. The PV of a data point that uses RAMPSOAK is normally
the PV of the PID point.
PV RAMPSOAK CV OP SP PID
CV OP
PV
PV Output
Algorithm Processing
SOAKT3
SOAKV3
SOAKT2
RATE3 SOAKT4
CV SOAKV2 RATE4
SOAKT1
RATE2 SOAKV4
SOAKV1
RATE1
Time
Figure 23-1 — Functional Diagram, Ramp and Soak Control Algorithm 1337
Once started the whole sequence of six ramps and six soak periods repeats itself, if it is
not stopped by an operator or by a user-written program. A Universal Station operator
can put the point in MANual mode to freeze the sequence, and then return it to AUTO
to continue the sequence.
23.3 USE
• MAN mode
– SP = CV (SP doesn't affect the output but can be seen at Universal Stations and
user-written programs).
• AUTO Mode
– If the current segment is a ramp, and if the guaranteed ramp conditions are OK.
(see 23.4.4 in this section),
If CV should overshoot the next soak value, it is clamped at that value, and
the remaining soak-time (REMSOAKT), the current-segment (CURSEGID),
and the mark timers and flags are updated. (see 23.4.5 in this section)
– If the guaranteed ramp conditions are not OK, the mark timers are stopped.
(see 23.4.5 in this section).
– If the current segment is a soak, and if the point just changed from MAN to
AUTO, or just started the soak segment, and the guaranteed soak time conditions
are not OK. (see 23.4.3 in this section)
The soak timer doesn't start.
CV remains at its last value.
The mark timers are stopped. (see 23.4.5 in this section)
– In any case, in AUTO mode SP is equal to CV. SP doesn't affect the output but
can be seen at Universal Stations and by user-written programs.
• CAS Mode
When the RAMPSOAK point is in MAN mode, an operator at a Universal Station can
change the remaining soak time (REMSOAKT) if the current segment is a soak.
Also, when the point is in MAN mode, an operator can change the current
segment (CURSEGID).
When the mode is returned to AUTO the sequence continues, as modified by these
changes. If the segment was changed, the sequence resumes with the new segment,
which can be a ramp or a soak.
Because changes to these parameters don't change the mark functions (see 23.4.5 in
this section), except if CURSEGID is a lower segment than the mark segment
(SnSEGID), operators should not be allowed to change REMSOAKT or CURSEGID
when the mark functions are configured.
This feature guarantees that the PV is at the proper soak value before the soak-time
measurement begins.
If, when a soak segment begins or is resumed by switching from MAN to AUTO, the
PV is not within a user-specified deviation (MXSOKDEV) from the SP value (SP
always equals CV), the soak timer doesn't start. When the deviation is within the
MXSOKDEV value, the timer is started and continues, even if the deviation again
exceeds MXSOKDEV.
Because the PV could be above or below SP, it is the absolute value of the deviation that
is checked against MXSOKDEV.
To bypass this check you can change MXSOKDEV to NaN. This check is also bypassed
if you don't configure a PV algorithm (select the NULL PV algorithm).
The soak timer can also be kept from starting when HOLDCMD contains On. This
allows you to use a general-input connection to HOLDCMD or a write to HOLDCMD by
a CL block, to hold the soak timer until some other condition is met. Again, once the
timer starts it continues, regardless of the deviation or the value in hold.
HOLDCMD also affects the guaranteed ramp function. (See 23.4.4 in this section)
23.4.4 Guaranteed Ramp Rate
This feature guarantees that the PV keeps up with the desired value indicated by SP
(SP always tracks CV).
You can specify a maximum ramp-deviation value in MXRMPDEV. There are two
conditions that cause the ramp to stop to wait for the PV to catch up with SP.
They are the following:
• RATEn > 0
and
• RATEn < 0
and
PV > (SP + MXRMPDEV)
These checks are bypassed if MXRMPDEV contains NaN or if this data point doesn't use
a PV algorithm (the NULL PV algorithm is configured).
Another condition that stops the ramp is HOLDCMD containing On. You can use a
general-input connection to HOLDCMD or a write to HOLDCMD by a CL block to stop
or hold the ramp until some condition that you specify is met.
Two flags are provided with the RAMPSOAK algorithm to indicate to other data points
or to a CL block that a specified time has elapsed from the beginning of a specified ramp
segment or soak segment. These mark-timer flags are S1 and S2.
Each of these flags is associated with three parameters that specify the segment, the time
after the beginning of the segment, and the time from the beginning of the segment until
the end time. These parameters are as follows:
The S1 or S2 flag is turned on at the number of minutes after the specified segment
begins, as is specified in SnBGNTIM. The corresponding flag is turned Off at the
number of minutes after the specified segment begins, as specified in SnENDTIM.
• At the end of the last segment in the sequence, the S1 and S2 flags are turned Off and
the timers are reset.
• The mark timers stop when the data point is in MAN mode and the S1 and S2 flags
are unchanged.
• If the remaining soak time (REMSOAKT) is changed (in MAN mode), the mark
timers are not affected.
• If the current segment (CURSEGID) is changed (in MAN mode) to a segment that is
earlier than a segment specified by SnSEGID, the corresponding mark flag goes to
Off and its timers are reset. If a later segment is specified in CURSEGID, the flags
and timers are not affected.
A sequence of more than 12 ramp and soak segments can be attained by interconnecting
RAMPSOAK points as shown in Figure 23-2.
AUTO/CAS CAS/AUTO
RAMPSOAK RAMPSOAK OP To Secondary
SP OP SP (Normally a PID
POINT A POINT A CV
Point)
Point B should be configured for external initialization and point A should be configured
for internal initialization.
Only one of the RAMPSOAK points should be in AUTO mode at any time. The other
should be in CAS mode. The point in AUTO mode goes through its sequence, and at the
end of the last segment, it is switched to CAS mode and its timers are reset. At the same
time, the other point is switched to AUTO and proceeds through its sequence.
The automatic mode switching can be achieved by configuring a mark flag (see 23.4.5)
in each point, to go on just before the end of its sequence. The RAMPSOAK points
exchange mark flags through general-input connections and the flags change the modes
through external mode-switching. Refer to the System Control Functions manual.
In normal operation, the sequence of ramp and soak segments repeats itself as long as the
RAMPSOAK point is left in AUTO mode. An operator at a Universal Station can
suspend a sequence by changing the mode to MAN, or he or she can reset the sequence
by changing the mode to CAS.
A mark flag (see 23.4.5 in this section) can be used to switch the mode to MAN or to CAS at
any time in a sequence, including at the end of a single sequence. The flag is used to change
the mode through external mode-switching. Refer to the System Control Functions manual.
Universal Station operators and user-written programs can change the SP value with no
error indication, but the next time the RAMPSOAK point is processed, SP again equals
CV. SP tracks CV so that SP can be used for the guaranteed ramp and guaranteed soak
functions. (see 23.4.3 and 23.4.4 in the section)
In MAN and AUTO modes, SP limits are ignored. To avoid confusion, and to have
consistent operation in CAS mode, the SP limits should be configured as NaN.
If the RAMPSOAK data point uses a PV algorithm, the setpoint EU range is the same as
the PV EU range, and can't be differently configured. You should configure this point's
PV EU range to be the same as the SP EU range of the secondary point that is receiving
this point's output. If the RAMPSOAK point doesn't use a PV algorithm, you should
configure its SP EU range to be the same as that of the SP of the secondary point.
The deviation limits (MXRMPDEV and MXSOKDEV) apply to all segments in the
sequence. If you need different deviation limits in different segments, you can configure
MXRMPDEV and MXSOKDEV as NaN and use a CL block and the HOLD flag (see
23.4.3 and 23.4.4 in this section) to take over the functions of these deviation limits.
On a cold restart, a warm restart, or when the data point is activated, the mode goes to
MAN and the CV value is NaN. All timers are reset, and the current segment ID is made
equal to the first ramp segment.
No special action occurs on a hot restart and the operation continues from where it was.
23.5 EQUATIONS
There are no configurable equations for the RAMPSOAK algorithm. The ramp and soak
segments are specified in the following parameters (also see Figure 23-1):
23.6 INITIALIZATION
• Internal Initialization
• External Initialization
If external initialization is configured, an initializing condition has the same effect on the
RAMPSOAK point, except that it sends an initialization request to any primary point
connected to this point's SP. (see 23.4.6. in this section)
All of the significant parameters associated with the RAMPSOAK algorithm have been
described. For additional information refer to the Application Module Parameter
Reference Dictionary manual.
23.9 MIGRATION
There are similar ramp and soak algorithms in SUPERVISORY/TOTAL and PMX
Systems and in Extended Controllers. They compare as shown in Table 23-1.
24.2 FUNCTION
The input with the highest value or the input with the lowest value is selected and passed
on to the output of this data point. There can be up-to-four inputs, all of which are
initializable. The algorithm can operate as a simple selector or an override option can be
configured that prevents PID points in an override-control strategy from winding up. If
the override option is configured an operator can put the ORSEL point in a bypass state,
where the first input is selected and all other inputs are initialized.
Output
Processing
CAS
X1 To
CV
X2 Secondary
MAN ORSEL
X3
ORFBSEC
X4
From Init.
Primaries Feedback Value
To Primaries
Sel,
Notsel,
Notcon
MAN
Equation A: HI Selector
Equation B: LO Selector
This algorithm can be used without the override option, as a simple selector that selects
either the highest or the lowest of the connected and active inputs. With the override
option, it is used for override-control strategies where a process variable is measured and
normally controlled, but where another variable is selected to constrain the controlled
variable, under a specified condition. This is often referred to as "multivariable-
constraint control."
Figure 24-2 illustrates an override strategy. The X1 input to the ORSEL point is normally
selected and applied as the setpoint to the fuel-flow controller. If the value of the airflow
multiplied by some ratio exceeds the fuel-flow setpoint, the airflow constrains the fuel
flow.
SP Air
PV Cont.
Air
In a strategy like that of Figure 24-2, Equation A, the override option, and external
initialization are configured. PID data points connected to nonselected inputs are
prevented from "winding up" by forcing their outputs to track the override feedback
signal (ORFBSEC). For more detail on such strategies, refer to 3.1.11 in Application
Module Control Functions.
The simple selector (override option not configured) can be set up to initialize one input,
but not all inputs, by using control-input connections for the inputs that are not to be
initialized, and by using a control-output connection from the point that is connected to
the input to be initialized.
NOTE
There are some important guidelines that must be observed when configuring an override-
control strategy. Refer to the Application Module Control Functions manual.
24.4.2 Restrictions
Because a data point that uses ORSEL is always a secondary to at least one other data
point, this algorithm operates only in the following modes:
• CAS
• MAN
CV = highest of X1 through Xm
CV = lowest of X1 through Xm
Where
CV = The control-algorithm output in engineering units
X1 through X4 = The four available inputs
m = The number of inputs configured
For either equation
SELXINP = The selected input: SELECTX1 through SELECTX4. If more than
one input has the highest (EqA) or the lowest (EqB) value, the
lower-numbered input is selected, e.g., if X2 and X3 have exactly
the same highest value (EqA) SELXINP contains SELECTX2.
If, under the above conditions, BYPASS is On, the status sent to the primary connected
to X1 is SEL, NOTCON is sent to all other primaries and they are all initialized.
If there is more than one Override Feedback data point in a strategy, only the one nearest
the final control element (the "most downstream" point) initiates override feedback.
24.7.2 Override Feedback Propagation
Override feedback propagation is the passing of status and feedback values, from the
initiating Override Feedback Selector, "upstream" through one or more other data points.
In addition to the parameters already mentioned, the following parameters are associated with the
ORSEL algorithm. Refer to the Application Module Parameter Reference Dictionary manual.
CTLEQN INITTYPE OROPT XnSTS
24.9 MIGRATION
There are similar algorithms in PMX and SUPERVISORY/TOTAL systems; they are the
Override Selectors in Basic Controllers, Multifunction Controllers, and Extended
Controllers. The Override Selector algorithms in the controllers, and important
differences from the AM HI/LO Selector algorithm are as follows:
• Basic Controller and Multifunction Controller
Algorithm No. 21, Override High Selector—Selects the highest of up-to-eight inputs.
Operates in MAN, AUTO, and CAS modes. Operation is the same in AUTO and CAS.
Algorithm No. 22, Override Low Selector—Same as No. 21 but selects the lowest
of up-to-eight inputs.
• Extended Controller
Algorithm No. 21, Selector/Override/DDC—Equation A selects the highest of up-
to-six inputs and Equation B selects the lowest of up-to-six inputs. Initialization
values are propagated to unselected input data points (slots) every other processing
time. Operates in MAN, AUTO, and CAS modes. Also can accept output from the
Data Hiway when COMP function is enabled (DDC output). (In systems with an
LCN, operating modes are MAN, AUTO, CAS, and BCAS. In CAS mode, a
module on the LCN, such as an AM, supplies OP. BCAS is the back-up-cascade
mode that the algorithm can operate in if OP from the LCN is not available.)
SUMMER (CONTROL)
Section 25
25.1 TYPE AND NAME
25.2 FUNCTION
This algorithm calculates an output value that is the scaled sum of up to three input
variables. A bias value can be included in the sum.
Two equations are available. One adds a single scaled input to the bias value. The other
adds up to four scaled inputs, multiplies the result by an overall scale factor, and adds the
bias value.
From Initializing
Primary
CAS
SP
X2 SUMMER To
AUTO CV OP
X3 Secondary
Operator or X4
User-Written
Output
Program
Processing
To
INITVAL
Primary
Equations: A; CV = K* SP + B
B; CV = K* (K1* SP + K2* X2 + ... + K*m Xm) + B
25.3 USE
Equation A multiplies a single input by a scale factor and adds the result to the bias
value. Equation B multiplies up to four inputs by individual scale factors, adds these
products, multiplies the result by an overall scale factor and adds the bias value to the
result.
• MAN
• AUTO
• CAS
For a cold or a warm restart or when this data point is reactivated, initialization takes
place. (see 25.6.in this section) For a hot restart, normal operation resumes.
If any of the SP and X1 through Xm inputs has a bad-value status, the CV-value status
goes bad, and the point continues in the present mode. When the bad input returns to
normal, the CV status goes to normal, and if so configured, external initialization takes
place (see 25.6 in this section).
You must configure SPEULO and SPEUHI to specify the SP value range.
25.5 EQUATIONS
Equation A
CV = K*SP + B
Equation B
CV = K*(K1*SP + . . . + Km*Xm) + B
Where
K1 through Km = Scale factors for SP through the actual number of inputs used.
Default for each = 1.0.
M = No of inputs. Default = 2.
25.6 INITIALIZATION
• No initialization
• Internal initialization
• External initialization
Equation A B = CV - K*SP
1 (CV - B)
Equation B INITVAL = ————*[———————— - (K2*X2 + . . . + Km*Xm)]
K1 K
If this data points secondary is an Override Selector point and if this point is configured
for initialization and is in CAS mode, when override-feedback processing takes place,
override status and an override value are passed to this point's primary. The status is in
parameter PTORST. The feedback value is calculated as follows:
Equation A
ORFBSEC - B
ORFB = ———————————
K
Equation B
1 ORFBSEC - B
ORFB = ——*[———————————— - K2*X2 - . . . - Km*Xm]
K1 K
In addition to the parameters already mentioned, the following parameters are associated
with the SUMMER algorithm. Refer to the Application Module Parameter Reference
Dictionary manual.
25.9 MIGRATION
B 50 CV = X1 + X2 + B CN = PV + P + KA
B 51 CV = X1 + X2 + B CN = PV + P + KA
†Not available in PMX systems. This algorithm can be implemented in a Basic Controller or in
the SUPERVISORY/TOTAL computer.
SWITCH (CONTROL)
Section 26
26.1 TYPE AND NAME
26.2 FUNCTION
X1
MAN
X2 CV OP
From up-to-4
other Data
Points CAS
X3
X4
Output
Processing
26.3 USE
The Switch control algorithm is used to allow the operator at a Universal Station to alter
control strategies by selecting any of four inputs to be passed on to the output, if
Equation A is chosen. If Equation B is chosen, a CL program can change the switch
position, or you can configure logical parameters in another data point and use general-
input connections from those parameters to control the switch position.
You can use SWITCH to select inputs from differing sources and to pass them on to a single
destination or you can use more than one SWITCH data point to switch a single source to
differing destinations. Figure 26-2 shows an example of each of these situations.
Either A, B, C, or D is connected to E:
A
B X1
X2
X3 CV OP SP E
C
D
F X1 SWITCH CV OP SP G
X1 SWITCH CV OP SP H
If Equation A is chosen, an operator at a Universal Station can change the switch position
in one of two ways:
• By changing the desired switch indicator from Off to On—When one of these
indicators is changed to On, all others go Off. SELXINP then indicates the position
selected.
The second method is very useful when operating with custom displays. The displays
can be built to allow the operator to see the positions and strategies selected.
On - - - X1 SELECTX1
Off On - - X2 SELECTX2
Off Off On - X3 SELECTX3
Off Off Off On X4 SELECTX4
Where "-" means On or Off does not affect the switch position.
With Equation B, turning an Si indicator On does not turn the others off, as it does with
Equation A.
26.4.3 Tracking Option
You can configure the SWITCH algorithm for the tracking option, which causes non-
selected inputs to track the selected input value. This allows the switch position to be
changed without "bumping" the output. (Bumpless mode switching is accomplished by
the External Initialization option). (see 26.6. in this section)
Proper operation of the tracking option requires that External Initialization be configured
so that the primaries connected to non-selected inputs can be initialized. Should one of
them not accept the initialization value from the SWITCH data point, the output may
bump when that input is selected. (A primary might not accept an initialization value
because it has more than one secondary and accepts external initialization from one of its
other secondaries.)
When SWITCH is included in an override control strategy, the tracking option must be
configured.
26.4.4 Operational Modes
The Switch-control algorithm operates in the following modes:
• MANual
• CAScade
On a cold or warm restart, or when the SWITCH data point is activated, initialization
takes place, as configured. (see 26.6. in this section)
On a hot restart, normal operation resumes with no initialization.
CV = Xn
n = 1, 2, 3, or 4
SELXINP = the selected input, which can range from SELECTX1 through
SELECTX4.
S1 through S4 indicate the switch selection, as described under 26.4.1 or 26.4.2.
Where:
CV = The control output value in engineering units.
SELXINP = The selected-input. Default = SELECTX1.
S1 through S4 = Switch indicators
M = The number of inputs configured. Default = 2.
26.6 INITIALIZATION
• No Initialization
• External Initialization
If you select no initialization, initialization requests from a secondary data point are
ignored and initialization requests are not sent to the primaries.
If the tracking option is configured (see 26.4.3 in this section), the non-selected primaries
are continually initialized.
No. of Inputs 4 2 3
Control Algorithm: CL
27.2 FUNCTION
This algorithm is a user-written CL block that is like any other CL block except
that it is inserted at the control-algorithm insertion point in the processing sequence
(see Figure 2-1), and it is executed instead of a standard control algorithm.
The CL block must calculate and store a control-algorithm output value in CV. Inputs to
the CL block are usually acquired by direct references in CL, but can be acquired through
general inputs to a Custom Data Segment (CDS) that is included in the data point.
Control inputs cannot be configured in the Parameter Entry Display (PED) when the CL
Control Algorithm is specified. The value placed in CV by the CL block is processed
just as CV is processed for any other data point that uses a control algorithm.
The CL block must also compute and store an anti-windup direction in ARWDI.
Propagation of windup status to the primaries is automatic. Refer to the Application
Module Control Functions manual.
If this data point is part of an override strategy, the CL block must include appropriate
override functions. See Section 24 in this manual, and refer to the Application Module
Control Functions manual.
Control Algorithm
Output
Processing
Processing
SP
Inputs CL
from this CV OP
Block
and other
data points
27.3 USE
A CL block is used when normal point processing is appropriate but none of the standard
control algorithms will accomplish the desired function. The CL block can be bound to a
single data point, if only one needs its functions, or it can be written as a generic CL
block and bound to several data points.
27.4.1 Restart
Normally, the CL block doesn't need to check the type of restart because the value in the
PATHIND parameter (see 27.4.2 in this section) is affected by the type of restart.
However, if needed, the CL block can base some specific actions on the content of the
RESTART parameter.
This data point provides the following standard control parameters, which should be used
appropriately by the CL block:
• CVTYPE—Configured when the point is built to indicate the type of value in CV. It
can be EngrUnit or Percent.
NOTE
The HOLD and OR values are reserved words in CL. To use them in a CL program, place an
apostrophe just before the word. For example
If an input used in calculating CV has a Bad-value status, the CL block should use the
appropriate CL statement to declare the CV to be bad. Output processing then initiates
"bad-control" handling.
The CL block should not be used to perform long, complex operations because there may
not be enough time in normal point processing to complete such operations. Points that
use a CL control algorithm should be scheduled at the longest reasonable interval, and if
possible, should be assigned to the Slow Processor. If execution of the CL block takes
too much time, it is aborted and an alarm is generated.
27.5 EQUATIONS
27.6 INITIALIZATION
In addition to the parameters already mentioned, the following parameters are associated
with the CL Control Algorithm. Refer to the AM Parameter Reference Dictionary manual.
SPEULO SPEUHI
27.9 MIGRATION
Enumerations No No Yes