OW360 - R1100 - Ovation Algorithms Reference Manual
OW360 - R1100 - Ovation Algorithms Reference Manual
OW360_R1100
Since the equipment explained in this document has a variety of uses, the user and those
responsible for applying this equipment must satisfy themselves as to the acceptability of each
application and use of the equipment. Under no circumstances will Emerson Process
Management Power & Water Solutions, Inc. (Emerson) be responsible or liable for any damage,
including indirect or consequential losses resulting from the use, misuse, or application of this
equipment.
The text, illustrations, charts, and examples included in this manual are intended solely to explain
the use and application of the OvationTM Unit. Due to the many variables associated with specific
uses or applications, Emerson cannot assume responsibility or liability for actual use based upon
the data provided in this manual.
No patent liability is assumed by Emerson with respect to the use of circuits, information,
equipment, or software described in this manual.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any
form or by any means, including electronic, mechanical, photocopying, recording or otherwise
without the prior express written permission of Emerson.
The document is the property of and contains Proprietary Information owned by Emerson and/or
its subcontractors and suppliers. It is transmitted in confidence and trust, and the user agrees to
treat this document in strict accordance with the terms and conditions of the agreement under
which it was provided.
This manual is printed in the USA and is subject to change without notice.
Ovation is the mark of Emerson. Other marks are the property of their respective holders.
Copyright © Emerson Process Management Power & Water Solutions, Inc. All rights reserved.
E-Mail: [email protected]
Web site: https://www.ovationusers.com
Summary of Changes
Ovation Algorithms Reference Manual (for use with Ovation 3.6.0 and Feature Pack 3)
OW360_R1100
August 2017
Version 4
This version of the Ovation Algorithms Reference Manual includes the following new information:
Updated the information regarding the Algorithm classifications (see page 21).
Added information regarding the Boolean Algorithms with Quality Propagation algorithms
(see page 109).
Added the information regarding the COMPARATOR algorithm (see page 144).
Added the EACK and ACKT parameters to the DEVICEX algorithm (see page 174).
Updated the information regarding the parameters of the DIGCOUNT algorithm
(see page 193).
Updated the information regarding the TOUT, TRIN1, and OUT2 parameters of the
DISTRIBUTOR algorithm (see page 233).
Added information regarding the Persistent Accumulator Observer (PERSISVAL) algorithm
(see page 418).
Added information regarding the Safety Shell Status (SS_STATUS) algorithm (see page 525).
Contents
3 Understanding tracking 11
3.1 What is tracking? ............................................................................................................... 11
3.2 What is the purpose of tracking?....................................................................................... 12
3.3 What is the tracking process? ........................................................................................... 13
3.4 What are the best practices for using tracking? ................................................................ 13
3.5 What algorithms support tracking?.................................................................................... 14
3.6 Tracking examples ............................................................................................................ 16
3.7 Setting tracking signals for algorithms .............................................................................. 17
4 Algorithm classifications 21
4.1 What are algorithm classification groups? ........................................................................ 22
4.2 Alarm Manipulation algorithms .......................................................................................... 23
4.3 Artificial I/O algorithms (signal generators) ....................................................................... 23
4.4 Boolean Logic algorithms .................................................................................................. 24
4.5 Boolean Logic Memory algorithms .................................................................................... 25
4.6 Custom Calculation algorithms ......................................................................................... 25
4.7 Device Control algorithms ................................................................................................. 26
4.8 Fieldbus algorithms ........................................................................................................... 27
4.9 Filtering algorithms ............................................................................................................ 28
4.10 Hardware Interface algorithms .......................................................................................... 29
4.11 Link Controller Module Interface algorithms ..................................................................... 30
4.12 Loop Interface Module algorithms ..................................................................................... 31
OW360_R1100 i
Table of Contents
ii OW360_R1100
Table of Contents
OW360_R1100 iii
Table of Contents
iv OW360_R1100
Table of Contents
OW360_R1100 v
Table of Contents
vi OW360_R1100
Table of Contents
Index 677
OW360_R1100 vii
S E C T I O N 1
IN THIS SECTION
Algorithms are mathematical formulas that define a specific control strategy. An algorithm may be
thought of as a collection of system points that are controlled by the algorithm. The algorithm
reads values (inputs) and writes values (outputs) into points to accomplish certain desired actions
in the system. (See Ovation Record Types Reference Manual for information about point record
types.)
The Ovation Control Builder places these algorithms on control sheets to tell the Ovation control
system what algorithms to use, what points to associate with the algorithms, and in what order the
algorithms should execute. The Control Builder combines multiple algorithms and even multiple
control sheets to create an entire control strategy for a system process.
The Ovation algorithms are typically provided with the Ovation Controller, and are used to
implement a wide range of functionality for a Controller. Each algorithm is represented in the
Control Builder by a unique symbol.
For information on adding algorithms to sheets in the Control Builder, refer to Ovation Control
Builder User Guide.
Q-line, Fieldbus, SIS, and migrated special function algorithms are described in Ovation Q-line
and Specialty Algorithms Reference Manual.
OW360_R1100 1
S E C T I O N 2
IN THIS SECTION
Some algorithms (for example, an MASTATION algorithm) require the hardware address of the
associated I/O module in order to perform their functions. You must enter the hardware address
for the algorithm into the hardware address field.
For a point that is read from or written to an I/O card, the hardware address parameter indicates
the offset from where the pertinent I/O register resides.
Addressing that is initialized in the algorithm is either for Ovation cards or Q-line cards.
For Ovation, the address is determined by the module position in the I/O cabinet.
For Q-line, the hardware address is equal to the address directly jumpered on the card plus
the offset into the proper channel number (no doubling required).
1. Access the Point Information window to view the module record. Refer to Ovation Operator
Station User Guide.
2. Select the Hardware tab.
3. Note the hex representation of the hardware address for the module in the “HD” field.
4. The algorithm requires the base address, so take the “D” in the base address and convert it to
a zero.
5. Enter that value into the algorithm's hardware address field.
For example, if a Loop Interface module record's HD field is “0x9D” then “0x90” is entered in
the MASTATION'S hardware address field.
OW360_R1100 3
2.2 What is propagated point quality?
Many algorithms generate a quality setting for the output. In most cases, the quality of the output
equals the quality of the input. This is commonly called propagated quality. However, this simple
propagation is not true for all algorithms.
In general, the worst quality of the algorithm's input points is passed on to the output point for
each standard algorithm. For example, an input sensor failure causes BAD quality to propagate
through all standard algorithms that directly or indirectly use the input point. This BAD quality may
be used to reject certain algorithms to Manual mode. (Refer to the individual algorithm reference
pages for complete information.)
Process points may have one of the following quality values, assigned by the user or the system:
GOOD = Point is functioning properly.
FAIR = Typically an entered value.
POOR = Generated from certain algorithms if some inputs were BAD and some were GOOD.
BAD = Point is not functioning properly, typically caused by sensor failure.
Signal status
SIGNAL ACTION
Auto Mode MASTATION sets the output Auto Mode signal TRUE when the
algorithm is in Auto mode.
High Limit Reached All algorithms set the High Limit Reached output signal TRUE when
the output is at the high limit specified and the High Limit Reached
output signal is not scan removed.
Local Manual Mode MASTATION sets the Local Manual Mode output signal TRUE when
the algorithm is in Local Manual mode.
Low Limit Reached All algorithms set the Low Limit Reached output signal TRUE when
the output is at the low limit specified and the Low Limit Reached
output signal is not scan removed.
Manual Mode MASTATION sets the output Manual mode signal TRUE when the
algorithm is in Manual mode.
4 OW360_R1100
2.4 What is invalid number checking and quality checking for algorithms?
Most algorithms perform invalid number checking on analog input points. These points include
tracking inputs. If an invalid number is detected, the drop goes into alarm and the problem is
identified by Fault Code 66, Fault ID 3.
For algorithms, Fault Parameter 3 contains the number of the algorithm sheet detecting an invalid
number. These numbers are reported as hexadecimal values. The Ovation System Viewer
application provides access to fault code information and suggests possible user actions to
correct the fault.
When an invalid number is input to an algorithm, generally the output of the algorithm is also
invalid and is marked with BAD quality. In the following algorithm reference sheets, each
algorithm that performs invalid number checking discusses how the invalid number is treated and
the results that occur from the invalid number.
There are three types of invalid numbers: indefinite, NAN, and denormal.
An indefinite invalid number is generated from a mathematical operation for which there is no
reasonable result.
A NAN (not-a-number) invalid number is an unrecognizable real number format and should
never occur.
A denormal invalid number is generated when the result of a mathematical operation is too
small to be represented in the 32-bit real number format used in the system. If an analog input
is a denormal invalid number, the drop is placed into alarm identified by Fault Code 66, Fault
ID 3.
However, certain algorithms store the denormal value into a temporary variable, convert it to zero,
and use that value (0) in the algorithm calculation. Consequently, these algorithms calculate a
valid output value with GOOD quality and the drop goes into alarm.
If the output of the algorithm is a denormal invalid number, then the value of the output is set to
zero and the drop is not placed into alarm. These denormal invalid numbers are displayed
throughout the system as zero.
If an invalid number is generated, the cause of the problem generate should be immediately
investigated and corrected since it could cause a control problem in the system.
In addition to invalid number checking, many algorithms generate a quality setting on the output.
OW360_R1100 5
2.5 What are single precision floating point numbers?
Single precision floating point numbers are represented within 32 binary bits. One-bit is the sign of
the characteristic, 23-bits show the binary value of the characteristic, one-bit for the sign of the
mantissa, and 7-bits for the value of the binary mantissa.
The Ovation system is limited to single precision floating point numbers, which can affect
algorithm precision. In certain cases, this may prevent an algorithm from writing a value beyond a
certain number if a single precision floating point limitation is reached. Although the internal
algorithm calculation can handle double precision floating point numbers, Ovation points are
limited to single precision values. More information is available by researching the IEEE754
floating point standard.
The second status word in an analog or digital process point may contain error information
generated by an algorithm that processed the value of that point.
For analog and digital points, the 2W record field contains the second status word.
If a bit is TRUE, then the error indicated by that bit has been detected.
If a bit is FALSE, then the error has not been detected.
The following binary to hexadecimal conversion table is included to assist you in using algorithms
that require binary to hexadecimal conversion.
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
6 OW360_R1100
2.8 Understanding algorithm descriptions
1100 C 12
1101 D 13
1110 E 14
1111 F 15
For example, in DIGDRUM, the following binary number represents the states of the 16 outputs in
a given step. The right-most bit represents Output 001, and the left-most bit represents Output
016. For example, if you want Step 5 to have the outputs in these states, I05 would be initialized
to 0x53C6.
Hexadecimal: 5 3 C 6 0x53C6
Most of the algorithm reference pages contain the following information (where applicable):
Description - Describes the algorithm's operation.
Invalid Real Numbers and Quality - Describes how quality is set.
Functional Symbol - Illustrates (in pictorial form) the algorithm's operation. See Algorithm
functional symbols (see page 9).
Control Builder Symbols -- Shows how the algorithm will appear in the Control Builder and
Signal Diagram programs.
Algorithm Record Type (if required) - Defines the type and size of the record generated for
storing parameters and other information necessary to the algorithm. (See Ovation Record
Types Reference Manual.)
OW360_R1100 7
2.8 Understanding algorithm descriptions
8 OW360_R1100
2.8 Understanding algorithm descriptions
The following table lists the items used in the algorithm functional symbols:
FUNCTIONAL DESCRIPTION
SYM BOL
Required Analog (LA record type) input or output (solid line and solid
arrowhead).
Required Digital or Packed Digital (LD or LP record type) input or output
(solid line and hollow arrowhead).
Required Algorithm (LC record type) input or output (solid line and line
arrowhead).
Required Drop (DU) input or output (solid line and no arrowhead).
Optional or Selectable Analog (LA record type) input or output (dashed line
and solid arrowhead).
Optional or Selectable Digital or Packed Digital (LD, LP record type) input or
output (dashed line and hollow arrowhead).
Optional or Selectable Algorithm (LC record type) input or output (dashed line
and line arrowhead.
Optional or Selectable Drop (DU record type) input or output (dashed line
and no arrowhead)
Note: Symbols portrayed in this manual only serve as an example and can be configured
differently depending on the number and type of pins that are used. The Control Builder
application may show various symbol configurations of the same algorithm and may not directly
match what is shown in this document.
OW360_R1100 9
S E C T I O N 3
3 Understanding tracking
IN THIS SECTION
The tracking function is a sophisticated control feature that is implemented through the signals
that connect the algorithms. Tracking may be defined as aligning a portion of a control system
that is not in control to the portion of the control system that is in control.
To implement tracking in the Ovation system, tracking signals are sent between algorithms.
These signals tell the upstream algorithm whether or not to be in the tracking mode and what
value is required by the downstream algorithm to achieve the present output.
Typically, multiple control strategies (or “modes”) are defined to control a process. For example,
both manual and automatic control modes may be available. Multiple types of automatic control
may be available, such as flow control, level control, element control, and cascade control modes.
During the transition from one control mode to another, tracking is needed.
When transferring between control strategies (for instance, from manual to automatic control
modes), information is required by the newly selected control strategy to ensure a smooth
transition. These required values are obtained from the active control strategy and are provided to
the other available strategies. This exchange of information between control strategies is referred
to as tracking.
Tracking signals are automatically generated by the Control Builder. The Control Builder assigns
points to carry the tracking mode and value information. The insertion of tracking logic is
transparent to the user (requires no user input to implement). You have the option of turning
tracking off.
OW360_R1100 11
3.2 What is the purpose of tracking?
12 OW360_R1100
3.3 What is the tracking process?
Tracking works by reverse calculation of the normal control functions. Control may be thought of
as proceeding from “top to bottom,” with inputs on the top, computations in the middle, and
outputs on the bottom. On the other hand, tracking may be thought of as proceeding from “bottom
to top,” with the output values on the bottom being used to calculate values for the computational
elements in the middle. Effectively, tracking calculates a value for an upstream control function,
so that the upstream objectives are satisfied.
One output point that is used for tracking is created for each algorithm that has an IN1 input. The
output is listed in the algorithm definitions as TOUT. TOUT contains the track output value, mode
and status output signals for the cascade IN1 variable.
Some algorithms have two to four additional tracking outputs for the Input 2, Input 3, and Input 4
as well. These are TRK2, TRK3, and TRK4.
The tracking output is input by the upstream algorithm as TRIN (Tracking Input Point) according
to the tracking rules outlined in the following sections. TRIN contains the tracking analog input
value and the tracking and limiting mode input signals.
Tracking values are generated by a reverse calculation of the normal algorithm function. That is,
when the algorithm is actively controlling the process, it uses one or more inputs to calculate an
output. When in the tracking mode, the algorithm is provided with the output value, and must
calculate the input value required to obtain that output. This value is sent to the upstream
algorithm that is generating the algorithm’s input. When there is more than one input, the value is
sent to the IN1 input.
Not all algorithms initiate tracking. All algorithms do not process the signals the same way. Refer
to the individual algorithm descriptions to determine how the signals are processed for a particular
algorithm.
OW360_R1100 13
3.5 What algorithms support tracking?
The algorithms in the following table support tracking through dual-purpose analog inputs and
outputs (that is, track value in AV field, mode status bits in 3W field). See Ovation Record Types
Reference Manual for information on record fields and status bits.
Note: The following algorithms are described in the Ovation Q-Line and Specialty Algorithms
Reference Manual: FFAI, FFAO, FFDI, FFDO, FFMAI, FFPID, QSRM, XMA2, and XML2.
ANALOG x x
DEVICE
BALANCER x x TRK01-
TRK16
DIVIDE x x x
FIELD x
FFAI x
14 OW360_R1100
3.5 What algorithms support tracking?
FFAO x
FFDI x
FFDO x
FFMAI x
FFPID x1 x
FUNCTION x x x
GAINBIAS x x x
GASFLOW x x
HISELECT x x x x x x
LEADLAG x x x
LOSELECT x x x x x x
MASTATION x x x
MULTIPLY x x x
PID x x1 x x
PIDFF x x1 x x
QSRMA x x x
RATELIMIT x x
SETPOINT x2 x
SETSTATES x
SQUARE- x x x
ROOT
SUM x x x
TRANSFER3 x4 x x x
XMA2 x x x
XML2 x2 x
X3STEP x x
1 Through S (setpoint) pin
2 Information Only
OW360_R1100 15
3.6 Tracking examples
One of the most common uses of tracking is during the transition between manual mode and auto
mode. In this case, the control algorithm upstream of the MASTATION algorithm must be tracked
to the current output of the MASTATION algorithm. The input to the MASTATION station is the
same as the output from the MASTATION station at the moment of the mode change, and
bumping is prevented.
Another common use of tracking is for one input into a SUM algorithm. A two-input SUM algorithm
normally adds two inputs, A and B, to produce an output, C. That is, A + B = C. When the
algorithm is in tracking mode, C is dictated by downstream tracking requirements and one of the
inputs, which may be continually varying as process conditions change. Therefore, a value for the
other input must be calculated by the algorithm such that the sum of the inputs is equal to the
required output. Simple algebraic manipulation of the SUM equation reveals that the dependent
input must be tracked to the difference between required C and independent B. That is, A = C - B.
Still another common tracking use involves one of the inputs to a PID algorithm’s error calculation.
As in the SUM example, the output of the PID is dictated by downstream tracking requirements
and the process variable acts as an independent variable. However, because integral action is
involved in this control algorithm, the concept for tracking changes. Here, the appropriate
technique is to cause a zero error to be presented to the PID during tracking periods to provide no
error-related movement of the PID output when tracking is initially released.
Therefore, the dependent input to the PID error function, the set point, should be tracked to the
value of the process variable input so that a zero-error condition is produced. Also, the PID output
must be tracked when the associated portion of the system is not in control so that integral action
does not cause process upsets by following set point errors. As described previously, this
condition is called reset windup.
Typically, an MASTATION algorithm is placed below the PID algorithm on a control sheet.
In summary, there might be a change in your plant's process values (for example, the
temperature rose in a feedwater system). The applicable process control sheet contains the logic
that defines the desired value for the process. The algorithm PID looks at the difference between
the actual process value and the desired process value and reacts based on this difference. It
performs the necessary action (for example, add cold water to lower the water temperature) to
bring the process back to the desired value.
The concept of reset windup applies to normal control modes as well as to tracking modes. It is
undesirable to allow the integral action in a control algorithm to move any further in a direction
that tends to drive a control element past its limits of travel. Once the integrator winds past where
it should be, it takes time to wind back to the control region when the time comes. Control delays
result and process upsets may occur. The solution is to compute an integrator output that keeps
the downstream demand to the control element at the limit until it becomes time to drive the
control element into the control range. This approach is called anti-reset windup limiting.
16 OW360_R1100
3.7 Setting tracking signals for algorithms
The Ovation tracking functions performs the anti-reset windup limiting function if the following two
conditions are met:
The sheets must be configured using the Ovation sheet tracking rules.
The Scale Top and Scale Bottom parameters of the algorithms must be set to reflect the
actual control element ranges, usable controller ranges, and so forth.
The fact that an algorithm is at its top or bottom of scale is used to produce signals that inhibit the
upstream algorithm from moving too far in the wrong direction. If algorithms are properly
configured, reset windup is prevented. Reset windup is technically more of a concern in control
mode than in tracking mode.
The digital tracking signals are set and used as described in the following table.
Track PID and PIDFF set the Track output The output value is set equal to the
signal TRUE. Track input value. An internal track
buffer is set up to provide a
TRANSFER sets the Track output signal bumpless transfer when the Track
TRUE for the value that is not selected. input signal is removed.
MASTATION set the Track output signal
TRUE for one loop after it reads the
hardware value on the first pass.
MASTATION sets the Track output
signal TRUE when the algorithm is not in
Auto mode.
All algorithms set the Track output signal
TRUE when the Track input signal is
TRUE.
OW360_R1100 17
3.7 Setting tracking signals for algorithms
Track-if-Lower HISELECT sets the Track-if-Lower If the output value of the PID or
output signal TRUE for the value that is PIDFF is less than the Track input
not selected only when there are no value, then a negative error causes
Track, Track-if_Higher, or Track-if-Lower the Controller to take action from
input signals and the gain on the input the previous output value, and a
value is positive. positive error causes the Controller
to take action from the Track input
LOSELECT sets the Track-if-Lower value.
output signal TRUE for the value that is
not selected only when there are not
Track, Track-if-Higher, or Track-if-Lower
input signals and the gain on the input
value is negative.
All algorithms set the Tack-if-Lower
output signal TRUE when there is no
Track input signal and either:
The Track-if-Lower signal is TRUE and
the gain on the input value is positive,
or
The Track-if-Higher input signal is
TRUE and the gain on the input value
is negative.
Track-if-Higher LOSELECT sets the Track-if-Higher If the output value of PID or PIDFF
output signal TRUE for the value that is is greater than the Track input
not selected only when there are no value, then a positive error causes
Track, Track-if-Higher, or Track-if-Lower the Controller to take action from
input signals and the gain on the input the previous output value, and a
value is positive. negative error causes the Controller
to take action from the Track input
HISELECT sets the Track-if-Higher value.
output signal TRUE for the value that is
not selected only when there are no
Track, Track-if-Higher, or Track-if-Lower
input signals and the gain on the input
value is negative.
All algorithms set the Track-if-Higher
output signal TRUE when there is no
Track input signal and :
The Track-if-Higher input signal is
TRUE and the gain on the input value
is positive, or
The Track-if-Lower input signal is
TRUE and the gain on the input value
is negative.
18 OW360_R1100
3.7 Setting tracking signals for algorithms
Lower Inhibit PID and PIDFF set the Lower Inhibit The output is prevented from
output signal TRUE when the algorithm decreasing its value, but it is
is in Cascade mode, no Track input permitted to increase.
signal exists, and:
The Track-if-Lower input signal is
TRUE and either the gain on the
setpoint is positive with INDIRECT
action on the error or the gain on the
setpoint is negative with DIRECT
action on the error, or
The Track-if-Higher input signal is
TRUE and either the gain on the
setpoint is negative with INDIRECT
action on the error, or the gain on the
setpoint is positive with DIRECT action
on the error.
All algorithms set the Lower Inhibit
output signal TRUE when there is no
Track input signal and:
The output value is at the low limit
specified and the gain on the output
value is positive, or
The output value is at the high limit
specified and the gain on the input
value is negative, or
The Lower Inhibit input signal is TRUE
and the gain on the input value is
positive, or
The Raise Inhibit input signal is TRUE
and the gain on the input value is
negative.
OW360_R1100 19
3.7 Setting tracking signals for algorithms
Raise Inhibit PID and PIDFF set the Raise Inhibit The output is prevented from
output signal TRUE when the algorithm increasing its value, but it is
is in Cascade mode, no Track input permitted to decrease.
signal exists, and:
The Track-if-Higher input signal is
TRUE and either the gain on the
setpoint is positive with INDIRECT
action on the error, or the gain on the
setpoint is negative with DIRECT
action on the error, or
The Track-if-Lower input signal is
TRUE and either the gain on the
setpoint is negative with INDIRECT
action on the error, or the gain on the
setpoint is positive with DIRECT action
on the error.
All algorithms set the Raise Inhibit output
signal TRUE when there is no Track
input signal, and:
The output value is at the high limit
specified and the gain on the input
value is positive, or
The output value is at the low limit
specified and the gain on the input
value is negative, or
The Raise Inhibit input signal is TRUE
and the gain on the input value is
positive, or
The Lower Inhibit input signal is TRUE
and the gain on the input value is
negative.
20 OW360_R1100
S E C T I O N 4
4 Algorithm classifications
IN THIS SECTION
OW360_R1100 21
4.1 What are algorithm classification groups?
Algorithms can be classified according to their function. Many algorithms can be placed in more
than one category because they can have multiple applications.
All of the standard Ovation algorithms can be found in at least one of the following algorithm
classification groups:
Note: Reference pages for standard Ovation algorithms are found in the Ovation Algorithms
Reference Manual. Reference pages for Q-Line, Fieldbus, SIS, and migrated algorithms are
found in Ovation Q-line and Specialty Algorithms Reference Manual.
22 OW360_R1100
4.2 Alarm Manipulation algorithms
Description
Alarm manipulation algorithms provide a means of interfacing alarm information into the control
scheme.
Common uses
Description
Artificial I/O algorithms generate a value and serve as place holders to input values into the
system.
Common uses
OW360_R1100 23
4.4 Boolean Logic algorithms
Description
Boolean logic algorithms represent logical gates for binary logic (1 or 0).
AND - All inputs must be true to get true output. Implement as normally open contacts in a
series.
OR - One or more inputs must be true to get true output. Implement as normally open
contacts in parallel.
NOT - Inverts the input. Implement with normally closed contacts.
XOR - Inputs must be different from each other to get true output. For example, out = (A AND
(NOT B)) OR ((NOT A) AND B).
Common uses
24 OW360_R1100
4.5 Boolean Logic Memory algorithms
Description
Boolean logic memory algorithms remember the state of the input change.
Common uses
Description
Custom calculation algorithms support complex mathematical equations within a single algorithm.
These algorithms can be used to simplify mathematical processes instead of using separate
mathematical function algorithms.
Common uses
OW360_R1100 25
4.7 Device Control algorithms
Description
Device control algorithms are predefined control schemes used to quickly implement start/stop,
open/close logic.
Common uses
26 OW360_R1100
4.8 Fieldbus algorithms
Description
Fieldbus algorithms interface to Fieldbus function blocks. Function blocks are self-contained
software modules that reside in Fieldbus devices. Therefore, Fieldbus devices can be controlled
by Ovation Fieldbus algorithms and integrated as part of an Ovation control scheme.
Note: Information on Fieldbus algorithms can be found in Ovation Q-Line and Specialty
Algorithm Reference Manual.
Common uses
OW360_R1100 27
4.9 Filtering algorithms
Description
Filtering algorithms stabilize I/O readings. In most cases, they are used to filter out noise or
compensate for a true delay.
Common uses
28 OW360_R1100
4.10 Hardware Interface algorithms
Description
Hardware interface algorithms read and/or write data to/from I/O modules or field devices.
Common uses
OW360_R1100 29
4.11 Link Controller Module Interface algorithms
Description
Link Controller module interface algorithms manipulate inputs, outputs, and statuses to the
Ovation Link Controller module providing serial communications via standard protocols to external
devices (such as Modbus, Allen-Bradley, and so forth).
Common uses
30 OW360_R1100
4.12 Loop Interface Module algorithms
Description
Loop interface module algorithms enable the interface to the local loop controllers or electric
drives. For more information, refer Ovation I/O Reference Manual.
Common uses
Note: Refer to Ovation Q-Line and Specialty Algorithms Reference Manual for information on
the XMA2 and XML2 algorithms.
OW360_R1100 31
4.13 Mathematical and Statistical algorithms
Description
Mathematical and statistical algorithms perform calculations using standard math formulas and
properties.
Common uses
32 OW360_R1100
4.14 Migrated special function algorithms
Description
Migrated special function algorithms are used in the process of upgrading a system from WDPF
to Ovation, while still using the original Q-Line wiring and/or Q-Line I/O cards.
Typically, ladders are used only by Migration projects. After a system has been migrated, any
ladder logic that was used in the original system is preserved in the new Ovation system, and
may need to be edited.
Note: Information on Migrated special function algorithms can be found in Ovation Q-Line and
Specialty Algorithm Reference Manual.
Common uses
OW360_R1100 33
4.15 Modulating Control algorithms
Description
Modulating control algorithms implement modulating control strategies, such as level control,
feedwater control, flow/temperature controls, and so forth.
Common uses
34 OW360_R1100
4.16 Monitor Function algorithms
Description
Monitor function algorithms monitor point status with certain criteria such as limits, quality, and
transitions. These algorithms create discrete logic that can be used for program flow control.
Common uses
OW360_R1100 35
4.17 Operator Interface algorithms
Description
Operator interface algorithms are control function algorithms that provide a means for the
operator to interact with the control system.
Common uses
Note: Refer to Ovation Q-Line and Specialty Algorithms Reference Manual for information on
the XMA2 and XML2 algorithms.
36 OW360_R1100
4.18 Point Format Conversion algorithms
Description
Point format conversion algorithms provide the means to translate point values from one data
structure to another.
Common uses
OW360_R1100 37
4.19 Pulse Accumulator Module Interface algorithms
Description
Pulse accumulator module interface algorithms read and reset accumulator pulses in the Ovation
Pulse Accumulator card.
Common uses
Note: Refer to Ovation Q-Line and Specialty Algorithms Reference Manual for information on
the QPACMD, QPACMPAR, and QPASTAT algorithms.
Description
Redundant signal process algorithms select which signal or which statistic (median, average,
maximum, minimum, and so forth) to use for control in a redundant configuration.
Common uses
38 OW360_R1100
4.21 Q-Line Interface algorithms
Description
Q-Line interface algorithms are used specifically with Q-Line I/O hardware in an Ovation system.
These algorithms are the only Q-Line algorithms supported in Ovation.
Note: Information on Q-Line algorithms can be found in Ovation Q-Line and Specialty Algorithm
Reference Manual.
Common uses
OW360_R1100 39
4.22 Safety Instrumented System (SIS) algorithms
Description
Safety Instrumented System (SIS) algorithms are used in Safety Instrumented systems. A Safety
Instrumented System (SIS) is a form of process control typically used in industrial processes,
such as those of Power Generation and Waste Water. The SIS performs specified functions in
order to maintain a safe state of a control process when any unacceptable process conditions are
detected.
A safe state is a state of the process operation where the hazardous event cannot occur. The
safe state should be achieved within one-half of the process safety time.
Note: Information on SIS algorithms can be found in Ovation Q-Line and Specialty Algorithm
Reference Manual.
Common uses
Note: The term "Logic Solver" refers to both the 1508 Logic Solver and the CSLS.
40 OW360_R1100
4.22 Safety Instrumented System (SIS) algorithms
OW360_R1100 41
4.23 Sequential Logic algorithms
Description
Sequential logic algorithms help you control processes that are sequential in nature and follow a
predetermined set of steps.
Common uses
42 OW360_R1100
4.24 Signal Compensation algorithms
Description
Signal compensation algorithms adjust the input signal based on density, volume, enthalpy, and
so forth in order to provide a true indication of the process value.
Common uses
OW360_R1100 43
4.25 System Diagnostic algorithms
Description
System diagnostic algorithms directly interface and set system statuses in order to assist in
troubleshooting and monitoring Ovation points.
Common uses
Description
System time function algorithms read the UTC system clock and allow you to perform functions
based on time.
Common uses
44 OW360_R1100
4.27 Time/Counter Function algorithms
Description
Timer/Counter function algorithms execute actions based on user-specified time input. These
algorithms manipulate an output based on time.
Common uses
OW360_R1100 45
4.28 Tracking algorithms
Description
The tracking algorithms support tracking. Tracking may be defined as aligning a portion of a
control system that is not in control to the portion of the control system that is in control. Tracking
is used to prevent bumps and to reduce process upsets. Tracking algorithms support tracking
through dual-purpose inputs and outputs (that is, the track value in the AV field).
Common uses
46 OW360_R1100
4.29 Turbine Interface algorithms
SETSTATES - Sets tracking bits in the Ovation tracking point based on the inputs that are
connected.
SQUAREROOT (see page 571) - Square root of a gained and biased input.
SUM (see page 603) - Adds four gained and biased inputs.
TRANSFER - Selects a gained and biased input based on a flag.
XMA2 - Interface between a soft manual/auto station and a QAM, QAA, or QLI card and the
functional processor.
XML2 - Soft and/or hard manual loader station with an interface to the QAM or QLI card
setpoint.
X3STEP (see page 660) - Controls devices which must be kept within a certain tolerance.
PERSISVAL (see page 418) - Tracks the number of times a pump or a motor starts.
Note: Refer to Ovation Q-Line and Specialty Algorithms Reference Manual for information on
the Foundation Fieldbus, QSRMA, XMA2, and XML2 algorithms.
Description
Turbine interface algorithms allow communication to the Ovation I/O interfaces and to hydraulic
servos dedicated to position control of process control valves.
Common uses
Note: Refer to Ovation Q-Line and Specialty Algorithms Reference Manual for information on
the QVP and QSRMA algorithms.
OW360_R1100 47
S E C T I O N 5
..
IN THIS SECTION
OW360_R1100 49
4.29 Turbine Interface algorithms
DXCSTATUS................................................................................................................... 250
DROPSTATUS ................................................................................................................ 272
ELCCONTROL ................................................................................................................ 275
FACEPLATE ................................................................................................................... 278
FIELD .............................................................................................................................. 287
FIFO ................................................................................................................................ 289
FIRSTOUT ...................................................................................................................... 291
FLIPFLOP ....................................................................................................................... 296
FUNCTION ...................................................................................................................... 298
GAINBIAS ....................................................................................................................... 302
GASFLOW ...................................................................................................................... 306
HEARTBEAT ................................................................................................................... 313
HIGHLOWMON ............................................................................................................... 316
HIGHMON ....................................................................................................................... 317
HISELECT ....................................................................................................................... 319
HSCLTP .......................................................................................................................... 324
HSLT ............................................................................................................................... 325
HSTVSVP ........................................................................................................................ 326
HSVSSTP ........................................................................................................................ 327
INTERP ........................................................................................................................... 328
KEYBOARD .................................................................................................................... 332
LATCHQUAL ................................................................................................................... 335
LEADLAG ........................................................................................................................ 337
LEVELCOMP .................................................................................................................. 341
LOG ................................................................................................................................. 345
LONGACC ....................................................................................................................... 346
LOSELECT ...................................................................................................................... 357
LOWMON ........................................................................................................................ 362
MAMODE ........................................................................................................................ 363
MASTATION ................................................................................................................... 366
MASTERSEQ .................................................................................................................. 376
MEDIANSEL.................................................................................................................... 389
MULTIPLY ....................................................................................................................... 397
MULTISWITCH ............................................................................................................... 400
NLOG .............................................................................................................................. 405
NOT ................................................................................................................................. 406
OFFDELAY ..................................................................................................................... 407
ONDELAY ....................................................................................................................... 409
ONESHOT ....................................................................................................................... 411
OR ................................................................................................................................... 415
PACK16 ........................................................................................................................... 416
PERSISVAL .................................................................................................................... 418
PID .................................................................................................................................. 420
PIDFF .............................................................................................................................. 435
PNTSTATUS ................................................................................................................... 446
POLYNOMIAL ................................................................................................................. 448
PREDICTOR ................................................................................................................... 450
PRIORITY Algorithm Package ........................................................................................ 454
PSLT ............................................................................................................................... 478
PSVS ............................................................................................................................... 479
PULSECNT ..................................................................................................................... 480
QAVERAGE .................................................................................................................... 481
QUALITYMON................................................................................................................. 482
RAMPGEN ...................................................................................................................... 483
RATECHANGE ............................................................................................................... 487
RATELIMIT ...................................................................................................................... 489
50 OW360_R1100
4.29 Turbine Interface algorithms
OW360_R1100 51
5.1 Understanding algorithm descriptions
Most of the algorithm reference pages contain the following information (where applicable):
Description - Describes the algorithm's operation.
Invalid Real Numbers and Quality - Describes how quality is set.
Functional Symbol - Illustrates (in pictorial form) the algorithm's operation. See Algorithm
functional symbols (see page 9).
Control Builder Symbols -- Shows how the algorithm will appear in the Control Builder and
Signal Diagram programs.
Algorithm Record Type (if required) - Defines the type and size of the record generated for
storing parameters and other information necessary to the algorithm. (See Ovation Record
Types Reference Manual.)
Algorithm Definitions - Provides the following information on the algorithm:
Names of the parameters used.
Algorithm record field used by each tuning constant or data initialization parameter; also,
the type of entry required in this field (integer, byte, or real).
Parameter types such as those described below:
Variable = Input or output signal to the algorithm (that is, analog or digital).
Tuning Constant = Fixed parameter that remains constant unless it is changed by the
user at the Operator's Station or Control Builder.
Data Initialization Parameter = Fixed constant that cannot be changed by the user at
the Operator's Station but can be changed by the Control Builder.
Selectable = Can be either a Tuning constant in an algorithm record field or a point
record.
Reconcilable Constant = Parameter can be tuned and reconciled through a special,
project-specific diagram.
Algorithm Initialization = Internal parameter that is exposed by the algorithm.
Definition of whether the parameter is required or optional.
If the parameter is optional and not initialized by the user, it defaults to zero.
If there are input points to the algorithm that are optional and not initialized by the user,
they have a value of zero for analog points and FALSE for digital inputs.
Default value (if applicable).
Brief description of the parameter.
Minimum point record required by each variable.
Each algorithm defines the minimum size point record that can be used for each
algorithm input or output.
The quality (see page 4) of the points is set BAD when a detectable hardware failure is
encountered. This information can be used in control strategies or for alarming purposes
by detecting BAD quality using the QUALITYMON series of algorithms.
Function - Explains the algorithm's operation in terms of a mathematical equation.
Application Example - Provides an example to demonstrate the use of the algorithm.
Miscellaneous Sections - Applicable to a specific algorithm only.
52 OW360_R1100
5.1 Understanding algorithm descriptions
The following table lists the items used in the algorithm functional symbols:
FUNCTIONAL DESCRIPTION
SYM BOL
Required Analog (LA record type) input or output (solid line and solid
arrowhead).
Required Digital or Packed Digital (LD or LP record type) input or output (solid
line and hollow arrowhead).
Required Algorithm (LC record type) input or output (solid line and line
arrowhead).
Required Drop (DU) input or output (solid line and no arrowhead).
Optional or Selectable Analog (LA record type) input or output (dashed line and
solid arrowhead).
Optional or Selectable Digital or Packed Digital (LD, LP record type) input or
output (dashed line and hollow arrowhead).
Optional or Selectable Algorithm (LC record type) input or output (dashed line
and line arrowhead.
Optional or Selectable Drop (DU record type) input or output (dashed line and
no arrowhead)
Note: Symbols portrayed in this manual only serve as an example and can be configured
differently depending on the number and type of pins that are used. The Control Builder
application may show various symbol configurations of the same algorithm and may not directly
match what is shown in this document.
OW360_R1100 53
5.2 AAFLIPFLOP
5.2 AAFLIPFLOP
Description
The AAFLIPFLOP algorithm simulates a memory device whose output state is inverted by each
momentary TRUE signal on SRST (that is, the output state OUT is inverted when there is a
transition in the input SRST from a FALSE to a TRUE signal). OUT is set to FALSE anytime the
reset digital input signal RSET is TRUE.
Functional symbol
Algorithm definitions
54 OW360_R1100
5.2 AAFLIPFLOP
Function
0 0 0 S
0 0 1 T
0 1 0 S
0 1 1 S
1 X X 0
where:
X = Value can be 0 or 1.
S = Output remains in the same or previous state.
T = Output toggles from the previous state.
OLD SRST = Value of the SRST input on the previous loop executed by the functional
processor.
On the first pass, OUT is set to FALSE if RSET is TRUE. Otherwise, OUT is set as follows:
If the optional INIT input is initialized by the user, OUT is set to the value of INIT.
If INIT is not initialized or has BAD quality on the first pass, OUT remains in the same
state. OUT is set to FALSE on power up/reset unless it is initialized to TRUE by the user
in the program.
OW360_R1100 55
5.3 ABSVALUE
The output for the ABSVALUE algorithm is the absolute value of input IN1.
The value of IN1 is checked for invalid real numbers. If IN1 is valid, the quality of IN1 is
propagated to the quality of OUT and the real number value of OUT is written to the point record.
If the value of IN1 is invalid or if the calculated value of OUT written to the point record is invalid,
the quality and the reason are set to BAD.
Functional symbol
Algorithm definitions
Function
OUT = ABS(IN1)
56 OW360_R1100
5.4 ALARMLIMIT
5.4 AL ARMLIMIT
Description
The ALARMLIMIT algorithm allows logic to be driven using alarm limits and values produced by
analog points.
Functional symbol
The alarm limit value (ALVAL) parameter can be configured to output the current selected Limit
Type (LTYPE). This value is also stored in the Alarm Limit (ALIM) field. The ALIM field allows you
to reconcile the alarm limit to the control sheet for documentation purposes.
If the selected limit is not defined in the input point (as determined by the LB record field), the
algorithm will set ALVAL to 0 and BAD quality.
Note: Alarm Limits can be defined as values or points. In the case of a point, the algorithm will
use the value of the point during the executed control cycle.
The alarm active (ACT) output is set depending on the following three parameters: ATYPE,
LTYPE, and QUAL.
The chosen alarm type (ATYPE) determines how alarm limits and alarm cutouts should be
monitored.
Alarm types
ATYPE DESCRIPTION
Note: If you choose ALMQC, the algorithm monitors the selected limit in LTYPE, and any lower
defined limits. For instance, if you choose LOW2, the algorithm monitors LOW2, LOW3, and
LOW4. The user-defined high and low limits are exempt from this and will only be monitored if
specifically selected.
OW360_R1100 57
5.4 ALARMLIMIT
The chosen limit type (LTYPE) determines what limit the algorithm will use to determine if the
input point is in alarm. Deadbands are taken into account as well, using the same definition as the
DB and DJ record fields. Refer Ovation Record Types Reference Manual for more information.
Limit types
The configured quality parameter (QUAL) determines how quality is used in the calculation of the
ACT output. The QUAL table in the template describes the QUAL parameter options. For
instance, if "Value and GOOD quality" are selected, the output will be set to true if the LTYPE is
satisfied and the point quality is GOOD. If "Value or BAD quality" is selected, the output will be set
to true if the LTYPE is satisfied or the quality is BAD.
Quality parameter
QUAL DESCRIPTION
58 OW360_R1100
5.4 ALARMLIMIT
Output Quality
Point quality is not propagated. If the selected LTYPE is currently not defined in the attached
analog input point (LB field), then the ALVAL output will go to zero (0), and the ACT output will
reset. Both outputs will also go to BAD quality.
SID Storage
In order to assist with graphics programming, all input and output point SIDs are stored in fields in
the algorithm. This allows the graphic to access multiple SIDs by accessing a single SID (the
algorithm LC record).
Algorithm definitions
Inputs:
Outputs:
OW360_R1100 59
5.4 ALARMLIMIT
60 OW360_R1100
5.4 ALARMLIMIT
OW360_R1100 61
5.5 ALARMMON
5.5 AL ARMMON
Description
The ALARMMON algorithm sets OUT equal to TRUE if any of the inputs are in alarm (alarm
status is TRUE). OUT is set to TRUE if unacknowledged and alarm bits are set in the first status
word of the point or alarm bit is TRUE and unacknowledged is FALSE.
The inputs are optional, numbering from 1 through 16, and may be analog or digital types. The
ALRM flag determines the type of alarm check that the algorithm performs.
If the ALRM flag is 0 (X1=0), the optional output (FOUT) is set FALSE if no inputs went into
alarm since the last loop. FOUT is set TRUE for one loop when inputs go into alarm.
If the ALRM flag is 1 (X1=1), the digital output (FOUT) is set TRUE if one or more inputs have
their unacknowledged alarm bit set to TRUE.
If the ALRM flag is 2 (X1=2), the OUT point is set to a 1 when any of the Inputs are in alarm.
The FOUT point is set to a 1 (for 1 loop) if any of the inputs go into alarm and they were not in
Alarm in the previous loop.
If the ALRM flag is 3 (X1=3), the OUT point is set to TRUE when any of the input points are in
ALARM. The FOUT point is set to a TRUE whenever any of the input points have both their
'ALARM' and 'unacknowledged' bits set TRUE.
Functional symbol
62 OW360_R1100
5.5 ALARMMON
Algorithm definitions
State change digital points should not be used since the alarm status is set TRUE for each state change.
This is an improper use of this algorithm.
OW360_R1100 63
5.6 ALGFIELD
5.6 ALGFIELD
Description
The ALGFIELD algorithm is designed as a standard OVATION algorithm to read the value of
register from the LC record connected by the ALGLC input pin or LC record SID. It converts the
value to LA, LD, LP or SID type and is presented as an algorithm output.
The ALGFIELD algorithm is implemented as an embedded standard Ovation algorithm. You can
integrate the ALGFIELD algorithm with Operator graphics and other Ovation system applications.
Note: Emerson recommends not to use the ALGFIELD algorithm in the Control Sheet.
The ALGFIELD algorithm has four outputs: LA, LD, LP, and PD. The additional ERR output is
designed to inform about the algorithm status error.
Functional symbol
The following table describes the input and output pins of the ALGFIELD algorithm.
64 OW360_R1100
5.6 ALGFIELD
The following table describes the ALGFIELD algorithm input and output parameters.
OW360_R1100 65
5.6 ALGFIELD
The ALGFIELD algorithm takes access to the LC record of the connected algorithm by the
ALGLC input pin or LC record SID by ISID input pin. The ALGFIELD algorithm reads the value
from the LC record register (field), depending on the register name you set.
There are three groups of records: BYTE, INT and REAL. You can select only one register from
one group. For example, if you select field B0 from INT, the fields from the other group are
configured as NOT_USED.
The following table describes the selected B0 field from INT group.
PARAME TE R VALUE
BYTE NOT_USED
INT B0
REAL NOT_USED
Note: If you select more than one register, then the algorithm takes the register from the last
group.
PARAME TE R VALUE
BYTE X1
INT B0
REAL S2
Note: The ALGFILED algorithm reads the S2 register because the REAL field group is the last
one.
66 OW360_R1100
5.6 ALGFIELD
The following are the conditions when ERR output is set to TRUE.
ALGLC or ISID pins are not connected,
When the SID given by the ISID is incorrect, that is, the SID does not exist or it is not part of
the LC record SID, then the ALGFIELD algorithm cannot get access to the connected LC
record.
Algorithm definitions
LC ALG. MIN.
RECORD REQUIRED/ DEFAULT DESCRIPTION POINT
NAME FIELD TYPE OPTIONAL VALUE REC.
OW360_R1100 67
5.6 ALGFIELD
LC ALG. MIN.
RECORD REQUIRED/ DEFAULT DESCRIPTION POINT
NAME FIELD TYPE OPTIONAL VALUE REC.
The example describes how you can read information about the PID (see page 420) parameter
and how to read and propagate the value of the INTG parameter.
68 OW360_R1100
5.6 ALGFIELD
Perform the following steps to read and propagate the value of the INTG parameter.
1. Open the Control sheet and design the following logic, where the PID algorithm is connected
to the ALGFIELD algorithm through the ALGLC (Algorithm Control Record) pin.
Figure 2: Control sheet with connection between PID and ALGFIELD algorithms
2. In the ALGFIELD algorithm Properties Summary dialog box, select the Tuned Value as R9 for
the REAL parameter form the drop-down list.
OW360_R1100 69
5.6 ALGFIELD
3. Load the logic and execute the operation. On the Signal Diagram, the ALGFIELD algorithm
displays the INTG value on its output pin OLA.
70 OW360_R1100
5.6 ALGFIELD
The example describes how you can read the ID number of the currently executed ScStep
algorithm.
OW360_R1100 71
5.6 ALGFIELD
Perform the following steps to read and propagate the value of the INTG parameter.
1. Open the Control sheet and design the following logic, where there is a connection between
three serially connected ScStep algorithm to the single ScTask algorithm and ALGFIELD
algorithm.
Notes:
Each of the ScStep algorithms must have different values of the STEP parameter.
Additional settings of ScAction, ScStep and ScTask are not described in this example. The
initial setting for this structure ensures ScStep algorithm execution.
Figure 6: Control sheet with connection between three serially connected ScStep
algorithm to the single ScTask algorithm, and ALGFIELD algorithm
72 OW360_R1100
5.6 ALGFIELD
2. In the ALGFIELD algorithm Properties Summary dialog box, select the Tuned Value as S1 for
the REAL parameter form the drop-down list.
3. Load the logic and execute the operation. On the Signal Diagram, the ALGFIELD algorithm
displays the STEP value on its output pin OLP.
OW360_R1100 73
5.6 ALGFIELD
5.6.7 Example - Reading the STABLE97 AUX LC Record Field from the ALGFIELD
algorithm
The example describes how you can read information from the ALGFIELD algorithm auxiliary
record. This example is based on the STABLE 97 algorithm.
Notes:
Two ALGFIELD algorithms are used. The first is responsible for reading the SID of the first
AUX record. The second ALGFIELD algorithm reads the field(s): BYTE, INT, or REAL from
the AUX SID record.
The SID of the first AUX LC record for the STABLE97 algorithm is stored in the ALGFIELD
algorithm's LC record in the field G0.
Perform the following steps to read information about the STABLE 97 AUX LC Record Field from
the ALGFIELD algorithm. In this procedure, you will read the R6 record field from the first AUX LC
record, which is used in STABLE97 algorithm for storing the internal temperature in Standard
International (SI) unit.
1. Open the Control Sheet and design the following logic, where the two ALGFIELD algorithms
are connected to the STABLE97 algorithm.
Figure 9: Control sheet with connection between two ALGFIELD and STABLE97 algorithms
74 OW360_R1100
5.6 ALGFIELD
2. In the first ALGFIELD algorithm Properties Summary dialog box, select the Tuned Value as
G0 for the REAL parameter form the drop-down list and select the Tuned Value as R6 for the
REAL parameter form the drop-down list.
Figure 10: Properties Summary dialog box for the first ALGFIELD algorithm- G0 field
Figure 11: Properties Summary dialog box for the second ALGFIELD algorithm- R6 field
OW360_R1100 75
5.6 ALGFIELD
3. Load the logic and execute the operation. On the Signal Diagram, the first ALGFIELD
algorithm feeds the SID (G0 field value) of the STABLE97 AUX LC Record field to the second
ALGFIELD algorithm through the ISID pin and the second ALGFIELD algorithm displays the
R6 value on its output pin OLA.
76 OW360_R1100
5.7 ANALOG DEVICE (ADEVICE)
The Analog Output Device algorithm is used to interface to Motor Control Centers (MCCs). Under
normal operation, the analog device algorithm attempts to control the device.
When the Analog Device algorithm is in AUTO, the error is calculated by taking the feedback
minus the demand times a sensitivity factor. The default sensitivity factor is one. If the error is less
than the inner deadband, the analog output is set to zero. If the error is greater than the outer
deadband, the analog output is set equal to this error. If the error is between the two deadbands,
the error is scaled between zero and one. The closer the error is to the outer deadband, the
closer the scale factor to one. The closer the error is to the inner deadband, the closer the scale
factor is to zero. The output is simply the error multiplied by the scale factor. The output is
clamped to the clamping limits (MAX). The quality of OUT is set to the worst quality of the two
inputs when not in tracking mode.
The shed relay is a copy of the tracking flag (IN3). If the tracking flag (IN3) is reset or the tracking
input indicates that there is tracking, the tracking output is equal to the tracking input. When
tracking, quality is set to the quality of the track input variable.
Tracking Signals
Tracking is performed through signals passed in the upper 16 bits of the third status word of the
analog tracking point. This algorithm takes the following action in response to the information
found in the digital input signal TRIN:
OW360_R1100 77
5.7 ANALOG DEVICE (ADEVICE)
Functional symbol
Algorithm definitions
78 OW360_R1100
5.7 ANALOG DEVICE (ADEVICE)
OW360_R1100 79
5.8 ANALOGDRUM
5.8 AN ALOGDRUM
Description
The ANALOGDRUM algorithm is a software drum controller with one analog output value and up
to 30 steps OR a software drum controller with two analog output values and up to 15 steps. The
output selected is based on the current step number and a list of up to 30 /15 initialized real
values. The current step number may be tracked to a selected step (TRIN) when in tracking mode
(TMOD = TRUE), increased (INC), or decreased (DEC). The current step number is only
increased or decreased on a FALSE to TRUE transition of INC and DEC. The maximum number
of steps must be initialized. When the step number becomes greater than the maximum number
of steps, the current step number is reset to one.
The track input value (TRIN) and output value (OUT) are checked for invalid real numbers. If a
tracking request is received and TRIN is an invalid number, then the tracking request is ignored.
However, the current step can be increased (using INC) or decreased (using DEC) even when
TRIN is an invalid number. If the algorithm calculates an invalid real number output, the value is
invalid and the quality is set to BAD.
Functional symbol
Algorithm definitions
80 OW360_R1100
5.8 ANALOGDRUM
OW360_R1100 81
5.8 ANALOGDRUM
82 OW360_R1100
5.8 ANALOGDRUM
OW360_R1100 83
5.9 AND
5.9 AND
Description
The AND algorithm is a logical AND gate that can implement up to eight inputs. For the AND
algorithm, the output equals the logical AND of two to eight inputs (that is, all inputs must be
TRUE for the output to be TRUE). AND requires at least two inputs and up to eight digital inputs.
Functional symbol
Algorithm definitions
Function
OUT = IN1 AND IN2 AND IN3 AND IN4 AND IN5 AND IN6 AND IN7 AND IN8
84 OW360_R1100
5.10 ANNUNCIATOR
The ANNUNCIATOR algorithm calculates one alarm window state of a lamp box, based on the
result of annunciator logic (IN1), the previous window state (OUT), and the inputs from the
operator push-button interface (ACK, RSET, TEST). The algorithm also determines the state of
the horn (HORN) and the chime (CHIM) based on IN1, OUT, and the inputs PRHN and PCHM.
IN1 can be an analog, digital, or packed point. If IN1 is a packed point, the algorithm will count
each bit. If all 16 bits are set, then the algorithm assigns a value of 16 to IN1. If 15 bits are set,
regardless of which bits, then the algorithm assigns a value of 15 to IN1, and so on. Once the
value is determined, the algorithm will compare the value with the value of the last alarm state
(OUT).
If IN1<=OUT and the OUT 1W unacknowledged bit is set and the user sets the ACK input true,
the algorithm will attempt to reset the OUT 1W unacknowledged bit.
Once the IN1 value is processed, the algorithm will set OUT equal to IN1
1. If IN1 = 0 and the OUT 1W unacknowledged bit is set and the ACK input is true.
2. If IN1 = 0 and the OUT 1W unacknowledged bit is not set and the OUT 1W reset bit is set and
the RSET input is false.
1. If 0 < IN1 <= OUT and the OUT 1W unacknowledged bit is set and the ACK input is false and
the OUT 1W better alarm bit is set.
OW360_R1100 85
5.10 ANNUNCIATOR
Note: All lights will be turned off if IN1 = 0 and the OUT 1W unacknowledged bit and reset bits
are not set.
If the value of IN1 is invalid or if the calculated value of OUT (written to the point record) is invalid,
the quality and reason of OUT is set to BAD.
Functional Symbol
86 OW360_R1100
5.10 ANNUNCIATOR
Algorithm definitions
OW360_R1100 87
5.11 ANTILOG
5.11 ANTILOG
Description
The ANTILOG algorithm scales an input value and outputs the antilog of the scaled value.
If the scaled input is outside the range for which the antilog can be stored as a real number, an
optional “out-of-range” digital is set, and the output value is set to the corresponding limiting
value.
Two algorithm tuning parameters are used: one for the scaling factor, and one to select the base
to be used for the calculation (base 10 or the natural base e, where the natural base e is the
default).
The value of IN1 is checked for invalid real numbers. If IN1 is invalid, the value of OUT equals the
invalid value of IN1, and OUT's quality is set to BAD and conditional calculated reason is set. The
quality of flag FOUT also is set to BAD. If IN1 is valid, the quality and reasons of IN1 are
propagated to OUT.
Functional symbol
88 OW360_R1100
5.11 ANTILOG
Algorithm definitions
Function
OR
Note: For range-checking purposes, the upper and lower limits of x such that e x can be
represented as a real number are:
OW360_R1100 89
5.12 ARCCOSINE
5.12 ARCCOSINE
Description
The ARCCOSINE algorithm performs the mathematical arc cosine function. ARCCOSINE has
one input and one output analog point. Each time the algorithm is executed, if the output is on
scan, it is set to the ARCCOSINE of the input. The output of this algorithm is in radians. If an
output in degrees is desired, multiply it by 57.29579 to convert to degrees. If the input to this
algorithm is outside the range of -1.0 to +1.0, the output is an invalid number and the drop is
placed into alarm.
Analog input values are checked for invalid real numbers. If the input value is invalid, the value of
the output is invalid and its quality is set to BAD. If the input is valid, the quality of the input is
propagated to the output.
Functional symbol
Algorithm definitions
Function
90 OW360_R1100
5.13 ARCSINE
5.13 ARCSINE
Description
The ARCSINE algorithm performs the mathematical arc sine function. ARCSINE has one input
and one output analog point. Each time the algorithm is executed, if the output is on scan, it is set
to the ARCSINE of the input. The output of this algorithm is in radians. If an output in degrees is
desired, multiply it by 57.29579 to convert to degrees. If the input to this algorithm is outside the
range of -1.0 to +1.0, the output is an invalid number and the drop is placed into alarm.
Analog input values are checked for invalid real numbers. If the input value is invalid, the value of
the output is invalid and its quality is set to BAD. If the input is valid, the quality of the input is
propagated to the output.
Functional symbol
Algorithm definitions
Function
OW360_R1100 91
5.14 ARCTANGENT
5.14 ARCTANGENT
Description
The ARCTANGENT algorithm performs the mathematical arc tangent function. ARCTANGENT
has one input and one output analog point. Each time the algorithm is executed, if the output is on
scan, it is set to the ARCTANGENT of the input. The output of this algorithm is in radians. If an
output in degrees is desired, multiply it by 57.29579 to convert to degrees.
Analog input values are checked for invalid real numbers. If the input value is invalid, the value of
the output is invalid and its quality is set to BAD. If the input is valid, the quality of the input is
propagated to the output.
Functional symbol
Algorithm definitions
Function
OUT = ARCTANGENT(IN1)
92 OW360_R1100
5.15 ASSIGN
5.15 ASSIGN
Description
The ASSIGN algorithm transfers point value and the quality of one point to another point of the
same record type. The algorithm allows value and quality to be passed from one analog to
another analog point, or from a digital to another digital point or from one packed to another
packed point. For deluxe point types, the ASSIGN algorithm transfer the U8 and U9 timestamps
from the input point to the output point. In this way, it is possible to determine the time at which
the control logic had the value from the I/O available for computation inside the control task. You
must specify an output point name - default points may not be used.
If the input point is an analog point, the value is checked for an invalid real number. If the input
value is invalid, the value of the output is invalid and its quality is set to BAD.
Functional symbol
Algorithm definitions
OW360_R1100 93
5.16 ATREND
5.16 ATREND
Description
The ATREND algorithm outputs a user-specified point to a strip chart recorder for trending. By
tuning the algorithm, the operator may change the point being trended to any point in the system
that is on the Ovation network. Any point with a system identification (that is, LA/LD record size or
larger) can be trended, regardless of the Controller in which the point is located or used. The
output to the recorder is set to zero percent for five seconds and then to 100 percent for 10
seconds to indicate that the point being trended or its scaling has been changed. A Tuning
diagram allows the point name to be entered to change the point being trended.
To enter a point to trend, open the Signal Diagram that contains the ATREND algorithm.
Right-click on the ATREND algorithm, and select the Advanced Tuning option. Enter the point
name to be trended on the advanced tuning window. For more information on Signal Diagrams,
refer to Ovation Control Builder User Guide.
Top of scale and bottom of scale values may also be specified online and are used to convert an
analog point's current value to a percentage of full scale. A digital point's current value is output
as either 25 percent (FALSE) or 75 percent (TRUE). This converted value is then normalized to
be output to a specified analog output point card. To time tag each hour during a trend, the output
to the recorder may be set to zero percent for five seconds at the start of each hour when this is
initialized in the X3 field of algorithm record. If you are not trending a point, a value of zero is
output to the I/O card. The output (TRND) is set TRUE when a point is being trended. If no point
is being trended, TRND is set FALSE.
Note: ATREND can only trend points on a local network, not on a remote network.
Functional symbol
94 OW360_R1100
5.16 ATREND
Algorithm definitions
Note: The following fields in the algorithm record are used to trend a particular point. The Tuning
diagram associated with the tuning of this algorithm enables you to initialize and tune these fields.
OW360_R1100 95
5.17 AVALGEN
5.17 AV ALGEN
Description
The AVALGEN algorithm initializes an analog point. For the AVALGEN algorithm, the output is
the analog value stored in the tuning constant (VALUE). This value is a set point or bias to other
algorithms. If VALUE is entered incorrectly or if the data is corrupted, then the algorithm
generates an invalid number, the value of OUT is invalid, and its quality is set to BAD.
Functional symbol
Algorithm definitions
Function
OUT = VALU
96 OW360_R1100
5.18 BALANCER
5.18 BALANCER
Description
The BALANCER algorithm monitors the modes of up to 16 downstream algorithms and performs
a user-defined type of tracking when all of the downstream algorithms are requesting the
upstream algorithm to track. A special configuration of the BALANCER algorithm enables it to be
used to balance the outputs of several downstream Manual/Auto (M/A) station algorithms.
The actual number of downstream algorithms is initialized by the user. You connect the output of
this algorithm to the IN1 input of any downstream algorithm or to the IN2 input of a downstream
selector type algorithm. When configuring the BALANCER algorithm, you specify which
algorithms (in other sheets and/or drops) use the output signal of the BALANCER algorithm. The
BALANCER algorithm checks the feedback signals to see how many of the downstream
algorithms are requesting the upstream algorithm to track (how many are in Manual mode). It then
uses this information, along with the type of control initialized, to calculate the analog output value
which is being sent to the inputs of these downstream algorithms.
Also, when connecting tracking points, you must connect them sequentially. For example, the
BALANCER algorithm assumes that if the number of tracking points is three, then they must be
TRK1, TRK2, TRK3. They cannot be TRK1, TRK2, TRK4.
Functional symbol
Note: If the TRK inputs are all raise inhibit or lower inhibit or a combination of raise inhibit and
manual or lower inhibit and manual, the BALANCER output value will stay at the value prior to
the inhibit.
In a raise inhibit condition, the value cannot be raised; however it can be lowered. Conversely,
in a lower inhibit condition, the value cannot be lowered; however it can be raised.
OW360_R1100 97
5.18 BALANCER
Control Modes
There are two types of control: NORMAL and MA BALANCER. You must select a type of tracking
(highest, lowest or average) to be used for both types of control.
NORMAL
If all of the downstream algorithms are requesting the upstream algorithm to track, then the output
of the BALANCER algorithm is either the highest, the lowest or the average of the analog track
signals passed back from the downstream algorithms. The quality of the output is then the worst
quality of the analog track signals passed back.
The gains and biases of the downstream algorithms that are between the BALANCER and the
MASTATION algorithms must be equal to 1.0 and 0.0, respectively, for this type of control to be
implemented properly.
If any of the downstream algorithms are not requesting the upstream algorithm to track, then the
output of the BALANCER algorithm is the gained and biased analog input value. The quality of
the output is the quality of the input value.
The downstream algorithms may be any of the standard algorithms. Internal tracking within the
BALANCER algorithm is implemented when switching from the highest, lowest, or average of the
analog track signals to the gained and biased analog input value.
MA BALANCER
Note: When the algorithm is tracking in "Balancer" mode, the TOUT value is the average of all
the TRK inputs.
If all of the downstream MA algorithms are requesting the upstream algorithm to track, then the
output of the BALANCER algorithm is either the highest, the lowest or the average of the analog
track signals passed back from the downstream algorithms.
If any of the downstream algorithms are not requesting the upstream algorithm to track, then the
output of the BALANCER algorithm is a value which causes the average of all the downstream
algorithm outputs to be equal to the gained and biased input value.
The quality of the output is the worst quality of the analog track signals passed back.
The downstream algorithms must be MASTATION and the gains and biases of these algorithms
must all be equal to 1.0 and 0.0, respectively, for this type of control to be implemented properly.
Internal tracking within the BALANCER algorithm is implemented when switching from the
highest, lowest, or average of the analog track signals to the value which balances the
downstream algorithm outputs.
If the algorithm generates an invalid output value, the last valid value is used for the output, and
the quality of OUTPUT point is set to BAD. In addition, if the algorithm receives an invalid value
as an input, or calculates an invalid value as the output, the drop is placed into alarm.
98 OW360_R1100
5.18 BALANCER
CAUTION! The feedback tracking signals from the downstream algorithms must be initialized
before downloading the BALANCER algorithm. If the feedback tracking signal information is
missing, errors result.
The Control Builder allows you to type in or connect signal lines for TOUT point from the
downstream algorithms. The tracking point is fed back as an analog track input to the BALANCER
algorithm to be used to calculate the correct analog output value.
Tracking Signals
This algorithm takes the following action in response to the information found in the analog track
signals (in the third status field), which are passed back from the downstream algorithms:
* Only when all of the track signals from the downstream algorithms are requesting the upstream
algorithm to track.
** Only when none of the track signals from the downstream algorithm are requesting the
upstream algorithm to track and when all of the downstream signals are requesting this signal.
*** Only when none of the track signals from the downstream algorithms are requesting the
upstream algorithm to track and when all of the downstream signals are requesting this signal.
The signals are set according to the definitions given in setting tracking signals (see page 17).
OW360_R1100 99
5.18 BALANCER
The output is limited by high and low limits specified by the user. The high and low limit flags and
the tracking signal from the algorithm are output in the third status field of the TOUT, to be used
for display and by an upstream algorithm.
Note: If the algorithm generates an invalid track output value, the IN1 input is used as the track
output value, unless it is invalid. The track output value is not updated if both the calculated
track output and IN1 input values are invalid. See guidelines in MASTATION algorithm
description for setting MASTATION CNFG parameter.
Algorithm definitions
100 OW360_R1100
5.18 BALANCER
OW360_R1100 101
5.18 BALANCER
102 OW360_R1100
5.19 BCDNIN
5.19 BCDNIN
Description
The BCDNIN algorithm reads a packed point (IN) in Binary Coded Decimal (BCD), converts it to a
real number, and stores it in the AV field of the output record (OUT). You must indicate the type of
action to be taken on the input value. Direct action causes the input value to be read directly.
Inverse action causes the input value to be read and inverted (one's complement) before it is
used. You must specify the number of BCD digits to read and the bit position where the reading is
to begin.
Functional Symbol
Algorithm definitions
OW360_R1100 103
5.19 BCDNIN
Example 1
BITP = 0
NDIG = 4
Example 2
BITP = 4
NDIG = 2
104 OW360_R1100
5.20 BCDNOUT
5.20 BCDNOUT
Description
The BCDNOUT algorithm reads a real value from input IN, converts it to binary-coded-decimal
(BCD), and outputs a number of digits to a packed output point. You must indicate the type of
action to take on the output value. Direct action causes the output value to be written directly.
Inverse action causes the value to be inverted (one's complement) before it is written to the output
point. You must specify the number of BCD digits to write, and the bit position where the writing is
to begin.
Invalid Numbers
The analog input (IN) is checked for invalid real numbers. If an invalid real number is entered as
IN, it is not written to the output point.
Functional symbol
Algorithm definitions
OW360_R1100 105
5.20 BCDNOUT
Example 1
To write four BCD digits, starting at Bit Position 0, where the current value of IN is 6281.0:
BITP = 0
NDIG = 4.
Example 2
To write two BCD digits, starting at Bit Position 4, where the current value of IN is 28.0:
BITP = 4
NDIG = 2
106 OW360_R1100
5.21 BILLFLOW
5.21 BILLFLOW
Description
The BILLFLOW algorithm generates an AGA3 gas flow calculation for orifices. It is applicable for
downstream and upstream static pressure measurements. It can be used for both tap and flange
orifices.
The super compressibility factor can be calculated one of two ways. The value can be passed in
the compressibility (SC) point, or the algorithm can calculate the compressibility factor with
additional information from the N2 and C02 tuning fields.
Functional symbol
Algorithm definitions
OW360_R1100 107
5.21 BILLFLOW
108 OW360_R1100
5.22 Boolean Algorithms with Quality Propagation
The following algorithms are part of the Boolean Quality Propagation algorithm package:
QAND (see page 109)
QOR (see page 111)
QNOT (see page 113)
QXOR (see page 114)
5.22.1 QAND
Description
This QAND algorithm implements a logical AND of up to eight inputs. Quality propagation is
always enabled on this algorithm, and all inputs, as well as the output, must be defined as points.
Note: The QAND algorithm has the same functionality as the AND algorithm; however, it
should only be used in place of AND when quality propagation is needed.
An optional Quality Propagation Action parameter (QTYP) is available that decides the type of
quality propagation. This parameter is NORMAL by default and has an option - WORST
QUALITY.
If the parameter QTYP is set to NORMAL, the output quality is as follows:
If the output is TRUE, the output quality is the worst input quality.
If the output is FALSE, the output quality is the best false input quality.
If the parameter QTYP is set to WORST QUALITY, the output quality is the worst input
quality.
There are two functional symbols: one with three inputs and one with eight inputs.
Functional symbols
With 3 inputs
OW360_R1100 109
5.22 Boolean Algorithms with Quality Propagation
With 8 inputs
Algorithm definitions
110 OW360_R1100
5.22 Boolean Algorithms with Quality Propagation
5.22.2 QOR
Description
The QOR algorithm implements a logical OR of up to eight inputs. Quality propagation is always
enabled on this algorithm, and all inputs, as well as the output, must be defined as points.
Note: The QOR algorithm has the same functionality as the OR algorithm; however, it should
only be used in place of OR when quality propagation is needed.
A Quality Propagation Action parameter (QTYP) is available that decides the type of quality
propagation. This parameter is NORMAL by default and has an option - WORST QUALITY.
If the parameter QTYP is set to NORMAL, the quality propagation is as follows:
If the output is TRUE, the output quality is the best true input quality.
If the output is FALSE, output quality is the worst false input quality.
If the parameter QTYP is set to WORST QUALITY, the output quality is the worst input
quality.
There are two functional symbols: one with three inputs and one with eight inputs.
Functional symbols
With 3 inputs
OW360_R1100 111
5.22 Boolean Algorithms with Quality Propagation
With 8 inputs
Algorithm definitions
112 OW360_R1100
5.22 Boolean Algorithms with Quality Propagation
5.22.3 QNOT
Description
The QNOT algorithm implements a logical NOT of one input. Quality propagation is always
enabled on this algorithm, and the input and output, must be defined as points.
Note: The QNOT algorithm has the same functionality as the NOT algorithm; however, it
should only be used in place of NOT when quality propagation is needed.
The output quality of the QNOT is the same as the input quality.
There are four functional symbols with different orientations.
Functional symbols
Orientation 1
Orientation 2
Orientation 3
Orientation 4
OW360_R1100 113
5.22 Boolean Algorithms with Quality Propagation
Algorithm definitions
5.22.4 QXOR
Description
The QXOR algorithm implements an exclusive OR. Quality propagation is always enabled on this
algorithm, and all inputs as well as the output ,must be defined as points.
Note: The QXOR algorithm has the same functionality as the XOR algorithm; however, it
should only be used in place of XOR when quality propagation is needed.
An optional Quality Propagation Action parameter (QTYP) is available that decides the type of
quality propagation. This parameter is NORMAL by default and has an option - WORST
QUALITY.
If the parameter QTYP is set to NORMAL, the quality propagation is as follows:
If the output is TRUE, the output quality is the quality of the true input.
If the output is FALSE, the output quality is the worst false input quality.
If the parameter QTYP is set to WORST QUALITY, the output quality is the worst input
quality.
There is one functional symbol.
Functional symbol
114 OW360_R1100
5.22 Boolean Algorithms with Quality Propagation
Algorithm definitions
OW360_R1100 115
5.23 BUFFER
5.23 BUFFER
Description
The BUFFER algorithm gathers the value and status of a point and associates a timestamp with
this information. The data is stored in a queue and is accessible via the High Speed Data
Acquisition (HSDA) Application Programming Interface (API). An API is an interface implemented
by a software program to enable interaction with other software, much in the same way that a
user interface facilitates interaction between humans and computers.
Functional symbol
Requirements
A limited number of BUFFER algorithms may be used in any given Controller and control task
depending on the Controller processor and memory usage. It is up to the user to test the
algorithm/API performance to ensure data is being adequately collected.
Note: The API allows for up to 1,000 BUFFER algorithms per Controller; however, depending
on Controller processing time and memory usage, the Controller may not be able to support
1,000 BUFFER algorithms. Emerson recommends that all BUFFER algorithms be tested in a
worst case scenario on actual Controllers in order to prevent data loss.
Enable (ENBL)
The enable input (ENBL) parameter allows you to enable or disable the BUFFER algorithm. When
disabled, the BUFFER algorithm will not store any data and will not send any data to the queue
for retrieval. It will also zero out its internal buffer.
When enabled, the algorithm will immediately send data to the queue and will store up to 10 data
values in its own internal buffer. If no point is connected to the enable pin, the algorithm will
always be enabled.
On initial startup or if the algorithm is disabled, the STAT queue overflow bit, ACNT, TCNT, CEW,
and CER fields will be reset to zero.
The buffer input point (IN) allows you to connect any analog (LA), digital (LD), or packed (LP)
point to the algorithm. When the algorithm is enabled, the algorithm will collect the value,
timestamp, and 1W field - First Status Word for LA and LD points, and the A3 field - Invalidity bits
for LP points. Collection occurs by exception or is based on deadband.
116 OW360_R1100
5.23 BUFFER
Timestamp
The timestamp is accurate to 1 millisecond resolution. The Controller provides the time based on
UTC (Coordinated Universal Time) time in the Controller. This information is stored in two
variables called timestampSeconds and timestampNanoseconds. The timestampSeconds
variable contains the amount of seconds since 12:00 AM January 1, 1970. The
timestampNanoseconds variable contains the amount of nanoseconds since the last full second.
Note: The time stored in timestampSeconds is provided in UTC. The user's application converts
this time to local time and adjusts a nanoseconds part from timestampNanoseconds.
After initial startup, the Controller uses the NTP server to set its calendar time. During this time,
the algorithm timestamp values may be invalid.
The BUFFER algorithm allows you to configure how the algorithm retrieves the timestamp. If an
individual algorithm is selected, each BUFFER algorithm will retrieve a timestamp based on when
the algorithm was executed. If a control task is selected, then the control task will retrieve the
timestamp based on when it was executed and all BUFFER algorithms within the same control
task will use the same timestamp for that control cycle.
Deadbands
If the connected point is an analog point, an analog deadband may be associated. The algorithm
uses the deadband to determine whether or not to collect the point's information and send it to the
queue. It uses the deadband as follows: the algorithm compares the previously collected value
with the currently scanned value for changes beyond the specified deadband value. For instance,
if the deadband is set to 5, and the point's current value is 9, but during the next control cycle, the
value is 12, the point will not be collected. However, if the point's value increases from 9 to 15 in
the next control cycle, the point information will then be collected and sent to the queue.
If the connected point is a digital or packed point, a digital deadband may be associated. The
algorithm determines whether to collect the point information depending on which option is
selected:
0 to 1 Transition -- Information is collected when the point value or any bit in the point
transitions from a 0 to a 1.
1 to 0 Transition -- Information will be collected when the point value or any bit in the point
transitions from a 1 to a 0.
State Change -- Information will be collected when the point value or any bit in the point
changes.
Note: If a zero analog deadband is assigned, the algorithm will collect the point value by
exception. Also, if the 1W field - status word or the A3 field - invalidity bits change for the IN
point, then the point will be collected and placed into the queue regardless of deadbands.
OW360_R1100 117
5.23 BUFFER
When the BUFFER algorithm is enabled, the value, status, and timestamp of the input (IN) will be
written to element 1 of the fields defined in the template. For each subsequent loop time, if the
BUFFER algorithm determines the value/status is to be collected, it will continue to write to each
element, increasing the element by 1 each time. For instance, the algorithm writes to element 1,
then element 2, then element 3, and so forth. After the algorithm writes to the 10th element, it
starts with element 1 again. If the algorithm is disabled, it resets all elements and starts from
element 1 when enabled again.
HSDA task
The information stored in each element is read by the High Speed Data Acquisition task (HSDA)
and sent to the appropriate MMI that is requesting the information. If the HSDA task is unable to
read the values from the element fields prior to the algorithm rewriting to that element, the
algorithm will set the queue overflow bit in the status output (STAT). The algorithm continues
writing over each subsequent element. When the HSDA task is able to read the current element,
the queue overflow bit resets.
Note: The HSDA task runs at a higher priority than the control tasks in order to avoid
pre-emption by the control task.
Busy
The algorithm sets the busy bit to true when it is executing. The busy bit prevents the high-speed
data acquisition task from reading values in the middle of a data write. When the algorithm
finishes executing during a control task cycle, it resets the busy bit.
Queue Overflows
In order to determine a queue overflow, the algorithm and the HSDA task store a count of how
many times it has accessed the first element. For instance, the first time that the algorithm
completes writing to the first 10 elements, it stores a zero to the ACNT field; the next time the
algorithm writes to the first 10 elements, it stores a 1 to the ACNT field, and so on. After the
HSDA task reads the first 10 elements, it stores a zero to the TCNT field; the next time the HSDA
task reads the first 10 elements, it stores a 1 to the TCNT field, and so on.
In addition, the algorithm stores the current element written to the current element written (CEW)
field, and the HSDA task stores the current element read to the current element read (CER) field.
The BUFFER algorithm uses the information to determine if it has overwritten a field that has not
been read from yet. When this occurs, the queue overflow bit in the STAT output is set, and the
buffer continues to write values to each element. Any data not read by the HSDA task during this
time is lost. When the HSDA task is able to read the current element, the queue overflow bit
resets.
Note: To avoid overruns, the algorithm subtracts 10,000 from ACNT and TCNT once TCNT
reaches 10,000.
118 OW360_R1100
5.23 BUFFER
Algorithm definitions
Inputs:
OW360_R1100 119
5.23 BUFFER
120 OW360_R1100
5.23 BUFFER
The HSDA User API for Windows applications consists of the following files on each MMI:
hsda.dll
hsda.lib
hsda_defines.h
hsda.h
You must use these files to create your own application to communicate with selected Controllers
in order to collect data from each BUFFER algorithm.
Supplied Functions:
HsdaStatusType HsdaStartup()
OW360_R1100 121
5.23 BUFFER
HsdaStatusType HsdaResetStatisticalAttribute(HsdaSessionIdType
ID, HsdaStatisticalAttributeIdType attributeId);
HsdaStatusType HsdaShutdown()
Definitions:
122 OW360_R1100
5.23 BUFFER
HSDA
function call was too short
UINT16 buffer_too_short:1;
// Operating system error
UINT16 os_error:1;
// Buffer overflow on workstation side
UINT16 overflow:1;
// Problem with input sid for at least one algorithm
UINT16 input_sid_problem:1;
} bits;
} HsdaStatusType;
typedef union {
REAL32 analog;
INT32 digital;
UINT32 packed;
} HsdaValueType;
typedef struct {
HsdaValueType pointValue;
INT32 timestampSeconds;
INT32 timestampNanoseconds;
INT32 firstStatus;
} HsdaBufferDataType;
typedef union {
HsdaBufferDataType bufferData;
} HsdaDataType;
typedef struct {
Sid_type sid;
HsdaDataType data;
} HsdaEventType;
typedef enum {
HSDA_SID_OK,
HSDA_SID_USED,
HSDA_SID_NOT_FOUND,
HSDA_SID_DROP_UNREACHABLE
} HsdaSidStatusType;
typedef struct {
Sid_type sid;
HsdaSidStatusType sidStatus;
} HsdaSidDiagType;
OW360_R1100 123
5.23 BUFFER
typedef enum {
HSDA_CONN_CONNECTED,
HSDA_CONN_DROP_UNAVAILABLE,
HSDA_CONN_MAX_CLIENTS_EXCEEDED,
HSDA_CONN_BACKUP_NOT_READY,
HSDA_CONN_CONNECTING,
HSDA_CONN_UNSUPPORTED_PROTO_VERSION,
HSDA_CONN_UNKNOWN
} HsdaConnStatusType;
typedef enum
{
HSDA_ANALOG_TYPE,
HSDA_DIGITAL_TYPE,
HSDA_PACKED_TYPE,
HSDA_UNKNOWN_TYPE
} HsdaPointDataType;
124 OW360_R1100
5.23 BUFFER
API Usage
Note: In the following procedure, steps that contain the word "must" are required by the user
application. Steps that contain the word "may" are optional.
OW360_R1100 125
5.23 BUFFER
10. When the application is finished, you must call HsdaShutdown () to terminate all HSDA
activity
Note: The Hsda API does not handle applications that share one session across multiple
threads. The behavior of such applications may be unpredictable.
126 OW360_R1100
5.23 BUFFER
Additionally, the drop diagnostic information includes the number of processed data frames, lost
network frames, a flag indicating whether the drop is active or in standby, and a flag indicating
whether an overflow occurred in the local Windows-side event buffers.
OW360_R1100 127
5.23 BUFFER
API Responsibilities
The HSDA Windows API is responsible for maintaining a connection to the HSDA servers,
automatic retrieval of HSDA event data from the network, detecting communication
failures/delays, and re-establishing the connection. For the purpose of keeping track of the
connection state, the API periodically checks for incoming messages (data, diagnostic, or
heartbeat) from each server. If no data is received over an extended period of time, a Start
Logging request is resent to the server. Once the server has successfully processed the Start
Logging request, it starts to periodically send HSDA event data over the network. No explicit 'Get
Data' request is sent from the client to the server, which reduces network traffic. The events
obtained from the network are stored in internal data buffers on the workstation side, for later
retrieval by the client using the HsdaData call.
Connections to drops are not shared between HSDA sessions. Each HSDA session has its own
connection to each drop from which it receives data.
All communication between the Ovation Station and the Ovation Controller is performed using the
UDP protocol. If the Windows firewall is turned on, you must create an exception for the end
application. On the Ovation Controller, the HSDA task listens on port 4599 for connections from
the Ovation Station. The active (in control) Controller initiates a connection to the backup
Controller. The backup Controller listens on port 4678 for HSDA connections from the active
Controller. The active Controller tries to establish the connection to its partner once a second. The
active Controller also checks if the number of connections is less than the maximum number of
connections when a new connection attempt is made.
128 OW360_R1100
5.24 CALCBLOCK
5.24 CALCBLOCK
Description
The CALCBLOCK algorithm is designed to allow you to solve complex mathematical equations
within a control sheet. The CALCBLOCK algorithm supports any operation from the following list.
For more complex equations, CALCBLOCK algorithms can be cascaded together. Logical
operations are supported by the CALCBLOCKD algorithm (see page 138).
Each CALCBLOCK algorithm can support up to 18 inputs and 10 floating point constants.
Each CALCBLOCK algorithm can support up to 15 operations (in any combination). Each
operator has two arguments.
The intermediate result of each operation is stored in the Real Fields (1-15) of the algorithm
record. These intermediate results display in the tuning window of the monitor graphic and can be
used by the user to debug a calculation.
The result of the defined calculation is stored in the OUT point. If an invalid number (for example,
divide by zero, 1n (negative number), infinity, and so forth), occurs, the VALID output is set to
logical FALSE. If the calculation does not result in an invalid number, the VALID output is set to
logical TRUE.
The real constant fields are the only tunable fields in the algorithm. All editing must be performed
via the Control Builder.
The optional ENBL input allows the algorithm to be conditionally executed. If the input is
connected, the calculation is carried out only if the ENBL input is TRUE. If the ENBL input is
FALSE, the calculation is not performed, and the output is set to the previous value.
If the ENBL input is not connected, then there is no conditional execution, and the calculation is
performed each execution loop.
Note: The round function rounds to the nearest integer value. If the number falls midway, it is
rounded to the nearest value above (for positive numbers) or below (for negative numbers). For
example, round (1.5) = 2 and round (-1.5) = -2.
CALCBLOCK operations
OW360_R1100 129
5.24 CALCBLOCK
*Exp (exp(a))
Functional symbol
130 OW360_R1100
5.24 CALCBLOCK
Algorithm definitions
OW360_R1100 131
5.24 CALCBLOCK
132 OW360_R1100
5.24 CALCBLOCK
OW360_R1100 133
5.24 CALCBLOCK
Example 1
Algorithm parameter
134 OW360_R1100
5.24 CALCBLOCK
OUT Y Y = RES2
Example 2
This calculation is divided into two parts using two CALCBLOCK algorithms as follows:
OW360_R1100 135
5.24 CALCBLOCK
Algorithm parameter
136 OW360_R1100
5.24 CALCBLOCK
Algorithm parameter
OW360_R1100 137
5.25 CALCBLOCKD
5.25 CALCBLOCKD
Description
The CALCBLOCKD algorithm is the digital version of the CALCBLOCK algorithm (see page 129).
CALCBLOCKD can only perform logical functions. The list of functions is outlined in the
following table. For more complex calculations, CALCBLOCKD algorithms can be cascaded
together.
Logic
LOGICAL
And (a && b)
Nand (a ^& b)
Or (a || b)
Nor (a ^| b)
Xor (a xor b)
Not (not a)
Each CALCBLOCKD algorithm can support up to 18 inputs and 10 floating point constants. Each
CALCBLOCKD algorithm can support up to 15 of the above operations (in any combination).
Each operator has two arguments.
The intermediate result of each operation is stored in the Real Fields (1-15) of the algorithm
record. These intermediate results display in the tuning window of the monitor graphic and can be
used by the user to debug a calculation. The result of the defined calculation is stored in the OUT
point. If an invalid calculation occurs, the VALID output is set to logical FALSE. If the calculation
does not result in an invalid number, the VALID output is set to logical TRUE.
The real constant fields are the only tunable fields in the algorithm. All editing must be performed
via the Control Builder.
The optional ENBL input allows the algorithm to be conditionally executed. If the input is
connected, the calculation is carried out only if the ENBL input is TRUE. If the ENBL input is
FALSE, the calculation is not performed, and the output is set to the previous value. If the ENBL
input is not connected, then there is no conditional execution, and the calculation is performed
each execution loop.
138 OW360_R1100
5.25 CALCBLOCKD
Functional symbol
Algorithm definitions
OW360_R1100 139
5.25 CALCBLOCKD
140 OW360_R1100
5.25 CALCBLOCKD
OW360_R1100 141
5.25 CALCBLOCKD
142 OW360_R1100
5.25 CALCBLOCKD
Example
Algorithm parameter
OUT A A = RES3
OW360_R1100 143
5.26 COMPARATOR
Description
The COMPARATOR algorithm compares the value of IN1 with the value of IN2, and the
appropriate output is set to TRUE. The COMPARATOR algorithm has an option for enabling or
disabling quality propagation with the following requirements:
The added parameter is an enumerated Data Init. type named PROQ, and it has the options 0
– OFF and 1 – ON. This input is in the OFF state by default.
The output quality is the lowest of the two input qualities when the quality propagation is
enabled. The False outputs are set to GOOD quality when the quality propagation is enabled.
All output qualities are set to GOOD if the quality propagation is disabled.
The output quality is set to BAD if either of the inputs are invalid real numbers.
If the PROQ parameter transitions from ON to OFF, all the output qualities are set to GOOD.
The COMPARATOR algorithm has the same functionality as the COMPARE algorithm.
Analog input values are checked for invalid real numbers. If the input value is invalid, the output
points are set to FALSE.
Functional symbol
144 OW360_R1100
5.26 COMPARATOR
Algorithm definitions
OW360_R1100 145
5.27 COMPARE
The COMPARE algorithm compares the value of IN1 with the value of IN2, and the appropriate
output is set TRUE.
Analog input values are checked for invalid real numbers. If the input value is invalid, the output
points are set to FALSE.
Functional symbol
Algorithm definitions
146 OW360_R1100
5.28 COSINE
5.28 COSINE
Description
The COSINE algorithm performs the mathematical cosine function. COSINE has one input and
one output analog point. Each time the algorithm is executed, if the output is on scan, it is set to
the COSINE of the input. The input to this algorithm is in radians. If an input is only available in
degrees, multiply it by 0.01745329 to convert to radians.
Analog input values are checked for invalid real numbers. If the input value is invalid, the value of
the output is invalid and its quality is set to BAD. If the input is valid, the quality of the input is
propagated to the output.
If the absolute value of the input is greater than 1018, then the output of the COSINE algorithm is
invalid and its quality is set to BAD.
Functional symbol
Algorithm definitions
Function
OUT=COSINE(IN1)
OW360_R1100 147
5.29 COUNTER
5.29 COUNTER
Description
The COUNTER algorithm counts up or down based on the input DIRECTION for the direction to
count. If DIRECTION (DRCT) is INC (one), the counter increments, otherwise it decrements.
While the ENABLE (ENBL) is TRUE, the count increments or decrements by one for each scan
that the IN1 input is TRUE.
If the COUNTER increments, the ACTUAL (ACT) continues to increment even if it is greater than
the TARGET (TARG). If the value stored in ACT reaches the maximum value (16,777,216), it
remains unchanged. The OUT is set TRUE when ACT is equal to or greater than TARG.
If the COUNTER decrements, it starts decrementing from the TARGET value. If the value stored
in ACT reaches the minimum value (-16,777,216), it disregards the IN1 input and remains at the
minimum value. The OUT is set TRUE when ACT is less than or equal to zero.
If either TARG or ACT is invalid, no operation occurs and OUT is set to FALSE. If ENBL is
FALSE, then ACT is set to zero when the COUNTER algorithm is configured to count up or set to
preset.
Functional symbol
Algorithm definitions
148 OW360_R1100
5.29 COUNTER
Example
Function
OW360_R1100 149
5.30 DBEQUALS
5.30 DBEQUALS
Description
The DBEQUALS high/low comparator algorithm monitors two analog input values. If the absolute
value of the difference between the signals exceeds the deadband value, the digital output is set
TRUE. If the absolute value of the difference between the signals is less than the absolute value
of the difference between DBND and RTRN, then the output is set FALSE.
Both analog input values are checked for invalid real numbers. If one of the input values is invalid,
the value of the output is invalid and its quality is set to BAD. If all the inputs are valid, the worse
quality among the inputs is propagated to the output.
Functional symbol
Algorithm definitions
150 OW360_R1100
5.30 DBEQUALS
Function
TEMP = IN1 - IN2
IF ABS(TEMP) DBND
THEN OUT = TRUE
IF OUT = TRUE
THEN IF ABS(TEMP) <ABS(DBND - RTRN)
THEN OUT = FALSE
where:
OW360_R1100 151
5.31 DEVICE
5.31 DEVICE
Description
With one output and no feedback, the DEVICE algorithm sets the device to a defined state (on,
off, start, stop, open, close) when commanded.
152 OW360_R1100
5.31 DEVICE
With one output and one feedback, the DEVICE algorithm can set the output to a defined state,
set the “In Transition” bit (A2 field of bit 1 of the device record), and then monitor the input. If the
input's state does not match the output state within a user- specified amount of time, the device
indicates a failed operation has occurred. If the feedback indicates the desired state is reached
within the user-specified time, the device sets its current state field to the appropriate value. In
either case, the In Transition bit resets at the end of the operation.
With two digital outputs and two digital feedbacks, the DEVICE algorithm can set the appropriate
output to “1” or ON and wait for the appropriate feedback to be true. When the appropriate
feedback indicates true, the device sets its current state field to the appropriate state. If the
feedback does not indicate the appropriate state is reached within the user-specified time, the
device status display indicates a failed operation.
OW360_R1100 153
5.31 DEVICE
With two digital outputs and one feedback, the DEVICE algorithm can set the appropriate output
to “1” or ON and wait for the feedback to go to the desired state. When the feedback indicates the
new state, the device sets its current state field to the appropriate state. If the feedback does not
indicate the appropriate state was reached within the user-specified time, the device indicates a
failed operation.
With three outputs and two feedbacks, the algorithm can set the appropriate output to “1”
according to the OPEN/CLOSE, START/STOP, or STOP TRAVEL command requested. If the
request is an Open or Close command, the feedbacks are monitored to see if the new state is
reached. When the feedbacks indicate the new state, the device's current state bit is updated to
the appropriate state. If the feedbacks do not indicate the appropriate state within the
user-specified time, the device indicates a failed operation. If the command is a Stop Operation
request, the algorithm writes a “1” to the Stop Travel output and indicates that the device is
stopped.
154 OW360_R1100
5.31 DEVICE
Control Operation
If the state of the I/O is indeterminate (that is, when both input status bits are equal to 1, or both
are equal to zero and the device is not being commanded to another state), the Sensor Failure bit
(bits 2 and 3 of the 1W field in the DVCE point) is set. Note, that once a device is commanded to
another state, the “In Transition” status is set true as soon as the algorithm starts driving the
device to the commanded state. The “In Transition” status is reset when the device feedback
indicates the new state, and the operation is successful. If the operation fails, and the device
indicates it is neither open nor closed (both bits of the feedbacks are zero or one), the “In
Transition” status remains set and the Input Sensor Failure bit is not set. However, the Operation
Failed bit (bit 2 of the A2 field of the DVCE point) is set.
The device with two feedbacks may also be configured to display a “Failure to Respond” status. If
you configure the device to have a response time, the failure occurs if both feedbacks are not at a
zero (clear) state within the defined response time. If a “Failure to Respond” occurs, there is no
“Operation Failure” since the algorithm waits for a new command to process following the
response failure.
In the event of “Failure to Respond”, OUTPUT1, OUTPUT2, and OUTPUT3 all equal zero. In this
case, OUTPUT1 represents OPEN/START/ON bit, OUTPUT2 represents CLOSE/STOP/OFF bit,
and OUTPUT3 represents STOP (TRAVEL) bit.
In the event of “Failure to Operate,” OUTPUT1, OUTPUT2, and OUTPUT3 equal zero, as if
“Failure to Respond.” After any “Failure to Operate” or “Failure to Respond,” the OUTPUTs are
always zero.
The digital inputs and outputs used by the DEVICE algorithm can either be signals read from or
written to I/O cards, other digital process points contained in the system, or a combination of the
two.
Whenever a device experiences a failed operation (or response failure), it may ignore additional
requests for state changes or it may continue servicing such requests, depending on how the
device is configured (bit 4 of MODE parameter). You may want a DEVICE algorithm to ignore
further requests after a piece of equipment has failed in order to prevent further damage to the
equipment. Regardless of how a device is configured, it services at least one request subsequent
to each change of operating mode (for example, Auto Mode to Manual Mode). If the device is
configured to ignore requests after a failure, it displays the status “LOCKOUT” when a failed
operation (or response failure) occurs.
Control Modes
A device is put into one of three modes by the operator by pressing the appropriate control key
(located on the Control Panel or Ovation Keyboard) or specified function key (located on a
standard keyboard). Note that the device must be configured to operate in that mode. Therefore,
the DEVICE has three modes of operation that can be adjusted during monitoring. These modes
are as follows:
AUTO
MANUAL
LOCAL
OW360_R1100 155
5.31 DEVICE
Auto Mode
Auto Mode allows the Controller application program to control the device through
user-programmed logic. The device cannot go into Auto mode unless one or both of the following
conditions are true:
The “Auto Permissive” bit is true.
The device is configured so that its default mode (bit 7 in MODE parameter) is Auto.
Once either of the above conditions is satisfied, and the device is not in Local mode, the device
can enter Auto mode if:
The operator presses the Auto mode request key.
An Emergency Override occurs and the device's default mode is Auto.
The Local Mode input goes false after being true, and the device's default mode is Auto.
The default mode is Auto, and the DEVICE algorithm is in its first pass.
The device exits Auto mode whenever one of the following happens:
The operator presses the Manual Mode Request key.
The operator Tags Out the device.
The “Auto Permissive” bit (bit 5 of the C5 field of the command word) goes False and the
default mode is not Auto mode (the device goes to Manual mode).
Local Mode is commanded through the optional LRE input.
Emergency Override occurs and the device's default mode is Manual (occurrence of an
override forces the mode to Manual).
The device may be configured (Bit 6 of MODE parameter) to go to Manual mode when a change
of state command is entered. If this is the case, pressing the following control keys causes the
device to go to Manual mode:
Start/Open/Trip.
Stop/Close/Reset.
Stop Travel (discontinue operation in progress).
When in Auto Mode, the DEVICE algorithm accepts commands from the digital process points
that are linked to the device through the DEVICE algorithm. Possible commands are:
Stop/Close/Reset.
Start/Open/Trip.
Stop Travel (discontinue operation in progress).
Emergency OPEN/START Override.
Emergency CLOSE/STOP Override.
156 OW360_R1100
5.31 DEVICE
Manual Mode
Manual Mode of operation allows the operator to control the device with the control keys. The
device goes into this mode when one of the following occurs:
The operator requests Manual mode by pressing the Manual Mode request key.
In Auto mode, the “Auto Permissive” bit (bit 5 of the C5 field of the command word) goes false
and the device default mode is not Auto.
Upon startup of the Controller, if the default mode of the device is Manual.
Occurrence of an Emergency Override and the default mode of the device is Manual, or in
Local mode, the hardware field input goes false and the default mode of the device is Manual.
The device may be configured to go to Manual mode when an Engineer Station or Operator
Station change of state command is entered. If this is the case, pressing the following control
keys causes the device to go to Manual mode:
Start/Open/Trip.
Stop/Close/Reset.
Stop Travel (discontinue operation in progress).
The device exits Manual mode whenever one of the following happens:
Local Mode is commanded through the optional LRE (reject to local) input.
The operator requests Auto Mode (and the “Auto Permissive” bit is set or Auto is the device's
default mode), or the operator requests the device to be Tagged-Out with the appropriate
control key.
When in Manual Mode, the DEVICE algorithm executes the Emergency Override to the device
only if the device is configured (see bit 0 in MODE parameter) so that the overrides have
precedence over the operator's commands.
Local Mode
Local Mode is the lowest level mode of operation for the device. A device can enter this mode
only if the following two conditions are met:
The device is configured to monitor the LRE input that indicates a local mode is active.
The LRE point is in the set (true) state.
When this point goes true, the device immediately goes into Local Mode and stays in this mode
until the following occurs:
The LRE point is reset (goes false).
As long as the LRE point is true, the device does not accept any commands from the Auto and
Manual modes. It does however, report the current state of the device. Device Trips, Sensor
Failures, and Failed Operations cannot be determined when in Local Mode; therefore, these
conditions are not checked for or reported when in Local Mode.
When the device goes into Local Mode, inputs are read and outputs are not energized; they are
left as they were when device went into Local Mode. When the device leaves the Local Mode, the
device goes to its default mode AUTO or MANUAL as defined by bit 7 in MODE parameter. If
input sensors cannot be determined (both = 0, or both = 1) and the device has not been
commanded to change state, all three outputs equal zero.
OW360_R1100 157
5.31 DEVICE
There are several commands that are requested with keys and are executed if the device is in
Auto or Manual mode. These commands are:
Set “Override Failure” flag (Disable Lockouts).
Clear “Override Failure” flag (Enable Lockouts).
Tag Out the Device.
Acknowledge Trip.
Auto mode request.
Manual mode request.
These commands are not accepted, however, if the device is in Local mode or is tagged-out.
Maintenance Modes
Tag Out
When in Tag Out Mode, the device ignores all commands except “Remove Tag Out.” The device
goes to its default mode when the Tag Out is removed.
Lock Out
A subset of the Tag Out Mode is the device “LOCK OUT” mode. Lock out occurs if the device is
configured (see bit 4 MODE parameter) to ignore subsequent commands to change state after an
operation fails. In other words, the device has only one opportunity to change state in a particular
mode. If the operation fails, the DEVICE algorithm does not accept another Open/Start or
Close/Stop command while locked out.
A device may be removed from Lock Out by any of the following actions:
Pressing the Auto or Manual mode request keys.
Setting the failure override flag (disabling lockouts) via the appropriate key.
Tagging out the device.
Control being transferred to Local mode (the LRE point goes true).
When returning from Lock Out, variables OUT1, OUT2, and OUT3 equal zero.
Change of State
In general, a change of state command in progress is continued until the device reaches the new
state or until a time out occurs. The following conditions cause an operation in progress to be
discontinued:
The device is Tagged Out, resulting in inputs being read and outputs not energized, left as
they were at the time of Lock Out.
The device goes to Local mode, resulting in inputs being read and outputs not being
energized, left as they were when device went to Local Mode.
A Stop (discontinue operation) command is requested by the current control mode and an
Emergency Override is not in progress. If the device is in Manual mode, however, and it is
configured so the Emergency Overrides do not have priority over Manual commands, a
Manual Stop request overrides the Emergency command.
158 OW360_R1100
5.31 DEVICE
In order for a change of state command to be executed, its proper permissive must be true. For
example, a Manual Close/Stop command only executes if the Close/Stop permissive of the device
is true. The Emergency Override and Stop (discontinue operation) commands do not require any
permissive to be true in order to be executed.
The permissives of a device are set true on start-up and remain true unless the DEVICE algorithm
is used to update them.
You can set the amount of time that a device allows for the equipment to change state following a
command. You must specify the units of time (0.1 seconds, seconds, or minutes) to measure
transition time, and the maximum number of time units to get to the set and reset states. You can
also specify a time period (in loops) for the equipment to respond to a command.
For devices with feedback, you can also configure the amount of time that the DEVICE algorithm
sets the appropriate output “ON”. The following modes are supported:
Set output “ON” for a user-configured time period (less than the transition time), or until the
new state is reached, whichever occurs first. (Setting bit 1 of MODE parameter indicates this
mode.)
Set output “ON” for a user-configured time period (equal to the transition time) or until the new
state is reached, whichever occurs first. (Indicate this mode by setting bit 2 of the MODE
parameter.)
Maintain output “ON” continuously, until a new command is given. This mode also has a
time-out associated with it, but the pulsing continues after the time-out occurs. If the operation
fails (device does not reach the commanded state) the operation is flagged as a failure, and
the pulsing is discontinued until a new command is given. (This mode is indicated by bit 3 of
the MODE parameter.)
For the case where the device has only one output (no feedbacks), the output is set to “ON” (or
“OFF”) continuously depending on whichever command is requested. There are no time-outs for
this case.
A device always writes to its output(s) when a new change of state command occurs regardless
of the state of its input(s). If the device command is from other application logic, care should be
taken to ensure that the command is maintained or pulsed as needed.
The device continuously checks for change of state commands when it is not in the process of
executing one. The device executes a change of state command when it is first set “ON.” If the
command stays “ON,” the device treats it as a new command when it finishes executing the last
command. Since the device writes to its output(s) when a new command occurs, its output(s)
cycle continuously “ON” and “OFF” if the following are true:
A change of state command is “ON” and it matches the state of the device's input(s).
The device is configured to set its output(s) “ON” for a certain amount of time, then “OFF.”
Emergency Overrides
In addition to the change of state commands, in each of the operating modes there are two other
commands: Emergency Start/Open/Trip and Emergency Stop/Close/Reset.
These two commands are generated by external logic in the Controller and can act as emergency
overrides over all other commands, including Stop Travel.
OW360_R1100 159
5.31 DEVICE
Whenever either the Emergency Open, or Emergency Close input becomes true, the DEVICE
algorithm forces the device to its default state and attempts to get the device to the commanded
state. (If the DEVICE algorithm is not configured to ignore failures, the emergency command
executes only once.) If both emergency overrides are set at the same time, the device remains on
its present course of action. Any occurrence of an override forces the device to its default mode.
As long as either Emergency input is set, the DEVICE algorithm ignores all Auto commands to
drive the device. The device may also be configured to have the Emergency inputs override the
Manual commands or the Manual commands override the Emergency inputs. Upon removal of
the emergency override, the device returns to servicing commands of its default mode.
Note: Emergency overrides, like all other commands, are ignored when the device is tagged out
or in Local Mode.
Alarming
The DEVICE algorithm supports seven types of alarms. All of these alarms, except Trips, require
operator acknowledgment. The device conditions which can produce alarms are:
Failed Operations.
Failures to Respond.
Trips.
Alarm State.
Sensor Failures.
Emergency Overrides.
Attention (Trouble).
Failed Operations
If the Failed Operations alarm is configured, the DEVICE algorithm puts the device in alarm
whenever the equipment does not complete a change-of-state command (for example, if a valve
is commanded to open and it does not do so within the user-specified time). A Failed Operation
Alarm clears upon the next Open, Close, or Stop command to the device.
Failure to Respond
If the Failure to Respond alarm is configured, the DEVICE algorithm puts the device into alarm if
the feedbacks do not reflect an “In Transition” state within a user-specified number of loops. The
“In Transition” state must be that both feedbacks have a value of 0.
Trips
If Trip alarms are configured, the DEVICE algorithm puts the device into alarm whenever the
equipment unexpectedly changes state (for example, when a breaker trips open). A Trip Alarm
clears when you acknowledge the Trip by commanding the device to the Tripped state. Trip Alarm
returns do not require acknowledgment by the user.
Alarm State
The device can be configured to go into alarm based on a user-defined state. The alarm clears
only when the device returns to the non-alarmed state. These alarms must be acknowledged by
the user.
160 OW360_R1100
5.31 DEVICE
Sensor Failures
Emergency Override
The Emergency Override alarm is generated any time an override occurs and the device is not at
the override state. For example, the occurrence of an Emergency Open would generate an alarm
if the device is Closed. If both override inputs happen to become true at the same time, an alarm
is generated regardless of the state of the device.
Attention
The Attention (Trouble) alarm is caused by different conditions depending on how the device is
configured. Currently, the standard DEVICE algorithm does not generate an ATTENTION alarm.
If the device is configured to alarm a combination of conditions, the points are put into alarm when
either one or more of the alarm conditions exist.
Clearing Alarms
Upon Tagging Out, Scan Removing, or putting a device into Local mode, the following alarms are
cleared:
Failed Operation.
Failure to Respond.
Sensor Failures.
Trips.
Attention.
A State Alarm, however, is not cleared by any of the conditions mentioned above. It must be
cleared by commanding the device.
Tagging out or going to Local mode clears any Emergency Override present.
OW360_R1100 161
5.31 DEVICE
The device record maintains information corresponding to the current status of a device.
Depending on the state of a device, its displayed status includes a combination of the following
conditions:
Current State.
In Transition.
Operation Failed.
Failure to Respond.
Tripped.
Stopped.
Emergency Close.
Emergency Open.
Current Mode.
Override Failure.
Scan Removed.
Alarm Checking Off.
Tagged Out.
Locked Out.
Quality.
The status information mentioned above comes from various flags (bits) in certain fields in the
packed point and algorithm record.
The A2 field of the Packed point (DVCE) has the following information:
BIT DESCRIPTION
Bit 0 Current State. This bit indicates the current state of the feedback signals. In case
feedback signals give conflicting data, the last known state is reported. When scan
removed, the last command state is reported.
Bit 1 In Transition. This bit indicates the device algorithm is currently in the process of
trying to change the state of its equipment. The bit is set true when the device
starts to execute a command. It is reset when the feedback signals indicate the
operation is complete or the operation has failed.
Bit 2 Operation Failed. This bit is set following any unsuccessful attempt to change the
state of the equipment. It remains set until the next attempt is made to change the
state of the equipment. Failed operation is not indicated if the device is scanned
off.
Bit 3 Tripped. This bit is set any time the equipment changes state on its own, not by
the algorithm. It remains set until the Trip Acknowledge command is received. If it
is not acknowledged, no other change of state operations, in any mode, is
processed. The tripped bit is not set when the device is Tagged Out or Scanned
Removed.
Bit 4 Stopped. This bit is set whenever the device is commanded to stop. The bit
remains set until the next attempt is made by the device to change the state of the
equipment.
162 OW360_R1100
5.31 DEVICE
BIT DESCRIPTION
Bit 5 Emergency Close. This bit reflects the status of the override inputs to the device.
Bit 6 Emergency Open. This bit reflects the status of the override inputs to the device.
Bit 7 Last Commanded State. This bit reflects the last known state of the device.
Bit 8 Local Mode. This bit indicates that the device is in local mode.
Bit 9 Manual Mode. This bit indicates that the device is in manual mode.
Bit 10 Auto Mode. This bit indicates that the device is in auto mode.
Bit 11 Reserved.
Bit 12 Attention. This bit indicates certain error conditions are present.
Bit 13 Failed to Respond. This bit indicates that the device did not respond to a
command.
Bit 14 Locked Out. This bit indicates that the state of the device is locked out.
Bit 15 Tagged Out. This bit indicates that the state of the device is tagged out.
The C5 field in the device algorithm holds the command word. This command word is the
interface between a Controller and a device. The bits in the C5 field are defined in the following
table:
BIT DESCRIPTION
Bit 4 Stop.
OW360_R1100 163
5.31 DEVICE
BIT DESCRIPTION
Alarming
The following fields in the Packed point (DVCE) must be set for alarming:
Alarming Parameters
Operate, Sensor, Trips, Overrides and Attention, Set E0 to 0x386d and E1 to 0x386c.
State Set(0)
The C4 field in the algorithm record defines the mode configuration. The bits in the C4 field are
defined in the following table:
Bit 0 Off The emergency Open/Start and Close/Stop commands override Auto
commands.
Bit 1 * On Set output 'ON' for a configured time period (less than the time-out). If this
bit is set, the algorithm maintains the appropriate output for the number of
loops in the Pulse Time or until the operation is successful, whichever
occurs first.
Bit 2 * On Set output 'ON' until a user-configured time-out (or the operation is
successful). The transition times for setting and resetting the device are
entered in the Set Time-out and Reset Time-out fields.
Bit 3 * On Set output 'On' continuously until a new command is entered.
Bit 4 On Disable lock-outs. If this bit is set, the device does not go into Lock Out
mode when a failed operation occurs.
164 OW360_R1100
5.31 DEVICE
Bit 6 Off Manual Open/Close/Stop commands force the device to Manual mode.
* Bits 1, 2, and 3 are not meant to be used together. Only one of these bits should be used at a
time. Also, these options apply to START/OPEN and STOP/CLOSE commands only. The STOP
TRAVEL command uses Bit 3 regardless of what is selected.
The C7 field in the algorithm record defines the emergency Open/Close configuration. The bits in
the C7 field are defined in the following table:
Bit 5 Off The Trip Acknowledge action causes a command to the output(s)
based on the current feedback state.
Bit 6 Off The OPRM (Open Permissive) does NOT apply to the EMOP
(Emergency Open) input.
OW360_R1100 165
5.31 DEVICE
Bit 7 Off The CPRM (Close Permissive) does NOT apply to the EMCL
(Emergency Close) input.
Functional symbol
Algorithm definitions
166 OW360_R1100
5.31 DEVICE
OW360_R1100 167
5.31 DEVICE
168 OW360_R1100
5.31 DEVICE
OW360_R1100 169
5.32 DEVICESEQ
5.32 DEVICESEQ
Description
The DEVICESEQ algorithm provides an interface between a control logic function and a
MASTERSEQ algorithm. In the most common application configuration, the logic control is utilized
to control a particular device. In this configuration, the MASERSEQ algorithm typically provides a
supervisory control function of multiple devices. Refer to the MASTERSEQ reference pages
(see page 376) for details on the operation of the MASTERSEQ algorithm.
The DEVICESEQ algorithm communicates with the associated MASTERSEQ algorithm via a
packed group point status point. The DEVICESEQ algorithm interfaces to the control logic via
individual inputs and outputs. Refer to the template definition table for details on the algorithm
inputs, outputs, and configuration parameters.
Functional symbol
Details of Operation
The DEVICESEQ algorithm provides the MASTERSEQ with the status information of the
associated device. This status information is outlined in the following status information section.
The DEVICESEQ algorithm also transfers the value of the GO bit in the status point to the STRT
output. As long as the GO bit in the status point is TRUE, the associated device is considered to
be running.
The algorithm can also be configured to utilize an internal failure timer. This timer monitors the
amount of time that elapses while the device is running. The timer stops accumulating time when
either the PASS or FAIL input becomes TRUE. The elapsed time is compared to the value of the
TARG parameter each execution cycle of the algorithm. The internal timer expires when the
accumulated time becomes greater than or equal to the value of TARG parameter and is greater
than zero. Setting the value of the TARG parameter greater than zero enables the failure timer. If
the failure timer is enabled, the accumulated time is always stored in the R3 field of the algorithm.
In addition, the accumulated time is also stored in the optional ACT output point.
The algorithm also incorporates an additional internal timer that stores the time that has elapsed
while the device was running. This timer value is stored in both the optional TIME output and the
R4 field of the algorithm record. This value is independent of the internal failure timer and is
always updated whether the internal failure timer is utilized or not. The accumulated time in both
timers is calculated based on loop time.
During the first pass mode of the controller and when the RESET bit in the status point (MSTR) is
TRUE, the DEVICESEQ algorithm sets the elapsed time for both the step timer and the internal
failure timer to zero.
170 OW360_R1100
5.32 DEVICESEQ
Status Information
The DEVICESEQ algorithm provides the attached MASTERSEQ algorithm with the following
status information:
It provides an indication that the associated device is ready for a remote start. The device is
ready for remote start when the RDY input is TRUE. The value of the RDY input is then
transferred to the READY bit of the status point during each execution cycle of the algorithm.
It provides an indication that the associated device has failed. The device is failed when the
FAIL input is TRUE. The value of the FAIL input is transferred to the FAILED bit in the status
point during each execution cycle of the algorithm.
It provides an indication that the associated device has completed operation when the PASS
input is TRUE. The value of the PASS input is transferred to the SUCCESS bit during each
execution cycle of the algorithm.
Freeze Mode
The purpose of the freeze mode is to preserve the operating state of the algorithm after the
device has completed operation. The algorithm can be configured to freeze the value of the bits in
the status point after the algorithm has been selected by the attached MASTERSEQ. As a result,
this enables you to determine and evaluate the performance of the device at a later point in time.
A DEVICESEQ algorithm is selected when the INSTEP bit in the status point is TRUE. If the FRZ
field in the algorithm is initialized to “FREEZE”, the algorithm does not update the status point
after the INSTEP bit transitions from TRUE to FALSE. Thus, the status bits that originate with the
DEVICESEQ retain their previous values. This state is referred to as freeze mode.
In freeze mode, the algorithm sets the FROZEN bit to logic 1 in the status point. In order to clear
the freeze mode condition, the attached MASTERSEQ algorithm must be reset. This causes the
RESET bit in the status point to become TRUE and the DEVICESEQ resets according to the rules
outlined in the initial state and reset section.
Note: Emerson does not recommend using freeze mode with an associated MASTERSEQ
algorithm which is operating in priority mode. See the MASTERSEQ reference pages (see page
376) for more details on priority mode operation.
Algorithm definitions
OW360_R1100 171
5.32 DEVICESEQ
172 OW360_R1100
5.32 DEVICESEQ
OW360_R1100 173
5.33 DEVICEX
5.33 DEVICEX
Description
The DEVICEX algorithm combines the commands to open and close or start and stop a piece of
equipment with feedback signals indicating the command was accomplished. Devices allow
controlled access of the equipment they own and simplify the operation of the equipment. This
algorithm provides digital outputs that reflect how the I/O outputs of the device are being
maintained and the different status/mode conditions of the device.
Signal Combinations
With one output and no feedback, the DEVICEX algorithm sets the device to a defined state (on,
off, start, stop, open, close) when commanded.
174 OW360_R1100
5.33 DEVICEX
With one output and one feedback, the DEVICEX algorithm can set the output to a defined state,
set the “In Transition” bit (A2 field of bit 1 of the device record), and then monitor the input. If the
input's state does not match the output state within a user- specified amount of time, the device
indicates a failed operation has occurred. If the feedback indicates the desired state is reached
within the user-specified time, the device sets its current state field to the appropriate value. In
either case, the In Transition bit resets at the end of the operation.
With two digital outputs and two digital feedbacks, the DEVICEX algorithm can set the appropriate
output to “1” or ON and wait for the appropriate feedback to be true. When the appropriate
feedback indicates true, the device sets its current state field to the appropriate state. If the
feedback does not indicate the appropriate state is reached within the user-specified time, the
device status display indicates a failed operation.
OW360_R1100 175
5.33 DEVICEX
With two digital outputs and one feedback, the DEVICEX algorithm can set the appropriate output
to “1” or ON and wait for the feedback to go to the desired state. When the feedback indicates the
new state, the device sets its current state field to the appropriate state. If the feedback does not
indicate the appropriate state was reached within the user-specified time, the device indicates a
failed operation.
With three outputs and two feedbacks, the algorithm can set the appropriate output to “1”
according to the OPEN/CLOSE, START/STOP, or STOP TRAVEL command requested. If the
request is an Open or Close command, the feedbacks are monitored to see if the new state is
reached. When the feedbacks indicate the new state, the device's current state bit is updated to
the appropriate state. If the feedbacks do not indicate the appropriate state within the
user-specified time, the device indicates a failed operation. If the command is a Stop Operation
request, the algorithm writes a “1” to the Stop Travel output and indicates that the device is
stopped.
176 OW360_R1100
5.33 DEVICEX
Control Operation
If the state of the I/O is indeterminate (that is, when both input status bits are equal to 1, or both
are equal to zero and the device is not being commanded to another state), the Sensor Failure bit
(bit 2 and 3 of the 1W field of the DVCE point) in the device record is set and the quality is set to
bad. Note, that once a device is commanded to another state, the “In Transition” status is set to
true as soon as the algorithm starts driving the device to the commanded state. The “In
Transition” status is reset when the device feedback indicates the new state, and the operation is
successful. If the operation fails, and the device indicates it is neither open nor closed (both bits of
the feedbacks are zero or one), the “In Transition” status remains set and the Input Sensor Failure
bit is not set. However, the Operation Failed bit (bit 2 of the A2 field of the DVCE point) is set.
The device with two feedbacks may also be configured to display a “Failure to Respond” status. If
you configure the device to have a response time, the failure occurs if both feedbacks are not at a
zero (clear) state within the defined response time. If a “Failure to Respond” occurs, there is no
“Operation Failure” since the algorithm waits for a new command to process following the
response failure. However, if the device is Stopped and the feedbacks indicate a zero condition,
the Sensor Failure bit is not set.
The digital inputs and outputs used by the DEVICEX algorithm can either be signals read from or
written to I/O cards, other digital process points contained in the system, or a combination of the
two.
Whenever a device experiences a failed operation (or response failure), it may ignore additional
requests for state changes or it may continue servicing such requests. This depends on how the
device is configured (bit 4 of the C4 field of the algorithm record). You may want a DEVICEX
algorithm to ignore further requests after a piece of equipment has failed in order to prevent
further damage to the equipment. Regardless of how a device is configured, it services at least
one request subsequent to each change of operating mode (for example, Auto Mode to Manual
Mode). If the device is configured to ignore requests after a failure, it displays the status
“LOCKOUT” when a failed operation (or response failure) occurs.
Control Modes
A device is put into one of three modes by the operator by pressing the appropriate control key
(located on the Control Panel or Ovation Keyboard) or specified function key (located on a
standard keyboard). Note that the device must be configured to operate in that mode. Therefore,
the DEVICEX has three modes of operation that can be adjusted during monitoring. These modes
are as follows:
AUTO
MANUAL
LOCAL
OW360_R1100 177
5.33 DEVICEX
Auto Mode
Auto Mode allows the Controller application program to control the device through user-
programmed logic. The device cannot go into Auto mode unless it is configured to operate in that
mode.
Once it is configured for Auto mode, the device can enter Auto mode if one of the following
occurs:
The operator presses the Auto mode control key.
The status of the device is a return from Tag Out and its default mode is Auto.
The Reject to Auto (ARE) input becomes true and both Manual (MRE) and Local (LRE)
rejects are false.
The default mode of the device is Auto, and the DEVICEX algorithm is in its first pass.
Upon a failed operation if the device is configured.
The device exits Auto mode whenever one of the following happens:
The operator presses the Manual Mode control key.
The operator presses the Local Mode control key.
The operator Tags Out the device.
The Reject to Local (LRE) input goes true.
The Reject to Manual (MRE) input goes true.
A Failed Operation occurs and the device is configured to go to Manual mode when the
operation fails.
The device may be configured (bit 6 of the C4 field) to go to Manual mode when a change of state
command is entered. If this is the case, pressing the following control keys causes the device to
go to Manual mode:
Start/Open
Stop/Close
Stop Travel (discontinue operation in progress)
When in Auto Mode, the DEVICEX algorithm accepts commands from the digital process points
that are linked to the device through the DEVICEX algorithm. Possible commands are:
Stop/Close
Start/Open
Stop Travel (discontinue operation in progress)
Emergency OPEN/START Override
Emergency CLOSE/STOP Override
The device does not process any Manual or Local commands while in Auto mode.
178 OW360_R1100
5.33 DEVICEX
Manual Mode
Manual Mode allows the operator to control the device with the control keys. The device cannot
go into Manual Mode unless it is configured for that mode. Once the device is configured, it can
enter Manual Mode when one of the following occurs:
The operator requests Manual mode by pressing the Manual Mode request key.
The status of the device is a return from Tag Out and its default mode is Manual.
The Reject to Manual (MRE) input goes true.
Upon startup of the Controller, the default mode of the device is Manual.
There is an occurrence of an Emergency Override and the default mode of the device is
Manual.
Upon a failed operation, if the device is configured.
The device may be configured to go to Manual mode when a change of state command is
entered. If this is the case, pressing the following control keys causes the device to go to Manual
mode:
Start/Open
Stop/Close
Stop Travel (discontinue operation in progress)
The device exits Manual Mode whenever one of the following happens:
The operator requests Local mode with a control key.
The operator requests Auto mode with a control key.
The Reject to Local (LRE) or Reject to Auto (ARE) input becomes true and Manual Reject
(MRE) is false.
The operator requests the device to be Tagged-Out with the appropriate control key.
When in Manual Mode, the DEVICEX algorithm accepts commands from the following possible
commands:
Start/Open
Stop/Close
Stop
When in Manual Mode, the DEVICEX algorithm allows the Emergency Override to the device only
if the device is configured (see bit 0 in C4 field) such that the overrides have precedence over the
operator's commands.
In addition, when in Manual Mode, the DEVICEX algorithm does not process any Auto and Local
commands to Close, Open, or Stop the devices.
OW360_R1100 179
5.33 DEVICEX
Local Mode
Local Mode is the lowest level mode of operation for the device. A device can enter this mode
only if the following two conditions are met:
The Reject to Local (LRE) input goes true.
The operator requests Local mode with a control key.
The device exits Local mode whenever one of the following happens:
The operator Tags Out the device.
The Reject to Manual (MRE) input goes true.
A Failed Operation occurs and the device is configured to go to Manual mode when operation
fails.
When in Local Mode, the DEVICEX algorithm accepts commands. Commands are digital process
points that are linked to the device through the DEVICEX algorithm. Possible commands are:
Stop/Close
Start/Open
Stop Travel (discontinue operation in progress)
Emergency OPEN/START Override
Emergency CLOSE/STOP Override
As long as the device is in the Local mode, the DEVICEX algorithm does not execute any
commands from the Auto and Manual modes. However, the Emergency Overrides is honored
when the device is in Local mode.
There are several commands that are requested with keys and are executed if the device is in
Auto, Manual or Local mode. These commands are:
Tag Out the Device
Acknowledge Trip
Auto mode request
Manual mode request
Local mode request
These commands are not accepted, however, if the device is tagged-out.
Tag Out
When in Tag Out Mode, the device ignores all commands except “Remove Tag Out”. The device
goes to its default mode when the Tag Out is removed.
Lock Out
A subset of the Tag Out mode is the device “LOCK OUT” mode. Lock out occurs if the device is
configured (see bit 4 C4 field) to ignore subsequent commands to change state after an operation
fails. In other words, the device has only one opportunity to change state in a particular mode. If
the operation fails, the DEVICEX algorithm does not accept another Open/Start or Close/Stop
command while locked out.
180 OW360_R1100
5.33 DEVICEX
A device may be removed from a Lock Out condition by any of the following actions:
Pressing the Auto, Manual or Local mode control keys.
Tagging out the device.
Emergency Overrides
In addition to the change of state commands, in each of the operating modes there are two other
commands: Emergency Start/Open/Trip and Emergency Stop/Close/Reset.
These two commands are generated by external logic in the Controller and can act as emergency
overrides over all other commands, including Stop Travel.
Whenever either the Emergency Open, or Emergency Close input becomes true, the DEVICEX
algorithm forces the device to its default state and attempts to get the device to the commanded
state. (If the DEVICEX algorithm is not configured to ignore failures, the emergency command
executes only once.) If both emergency overrides are set at the same time, the device remains on
its present course of action.
As long as either Emergency input is set, the DEVICEX algorithm ignores all Auto and Local
commands to drive the device. The device may also be configured to have the Emergency inputs
override the Manual commands or the Manual commands to override the Emergency inputs.
Upon removal of the emergency override, the device returns to its default mode.
Note: Emergency overrides, like all other commands, are ignored when the device is tagged out
or in Local Mode.
Change of State
In general, when a change of state command is in progress, it is continued until the device
reaches the new state or until a time out occurs. The following conditions cause an operation in
progress to be discontinued:
The device is Tagged Out, resulting in inputs being read and outputs not set to true. They are
left as they were at the time of Lock Out.
A Stop (discontinue operation) command is requested by the current control mode and an
Emergency Override is not in progress. However, if the device is in Manual mode, and it is
configured such that the Emergency Overrides do not have priority over Manual commands, a
Manual Stop request overrides the Emergency command.
In order for a change of state command to be executed, its proper permissive bit must be true.
For example a Manual Close/Stop command is only executed if the Close/Stop permissive bit of
the device is true. The Emergency Override and Stop (discontinue operation) commands do not
require any permissives to be true in order to be executed.
The permissives of a device are set to true on start-up and remain true unless the DEVICEX
algorithm is used to update them.
The amount of time that a device allows for the equipment to change state following a command
can be set by the user. You must specify the units of time for transition (tenths of a second,
seconds, or minutes), and the maximum number of time units to get to the set and reset states.
You can also specify a time period (in loops) for the equipment to respond to a command.
OW360_R1100 181
5.33 DEVICEX
For devices with feedback, the amount of time that the DEVICEX algorithm sets the appropriate
output to “ON” can also be configured by the user. The following modes are supported:
Set output “ON” for a user-configured time period (less than the transition time), or until the
new state is reached, whichever occurs first. (Indicate this mode by setting bit 1 of C4 field.)
Set output “ON” for a user-configured time period (equal to the transition time) or until the new
state is reached, whichever occurs first. (Indicate this mode by setting bit 2 of the C4 field.)
Maintain output “ON” continuously, until a new command is given. This mode also has a
time-out associated with it, but the pulsing continues after the time-out occurs. If the operation
should fail (device does not reach the commanded state) the operation is flagged as a failure,
and the pulsing discontinues until a new command is given. (Indicate this mode by setting bit
3 of the C4 field.)
For the case where the device has only one output (no feedbacks), the output is set to “ON” (or
“OFF”) continuously depending on whichever command is requested. There are no time-outs for
this case.
A device always writes to its output(s) when a new change of state command occurs regardless
of the state of its input(s). If the device command is from other application logic, care should be
taken to ensure that the command is maintained or pulsed as needed.
The device continuously checks for change of state commands when it is not in the process of
executing one. The device executes a change of state command when it is first set to “ON.” If the
command stays “ON,” the device treats it as a new command when it finishes executing the last
command. Since the device writes to its output(s) when a new command occurs, its output(s)
cycles continuously “ON” and “OFF” if the following are true:
A change of state command is “ON” and it matches the state of the device's input(s).
The device is configured to set its output(s) “ON” for a certain amount of time, then “OFF”.
Alarming
The DEVICE algorithm supports seven types of alarms. All of these alarms, except Trips, require
operator acknowledgment. The device conditions which can produce alarms are:
Failed Operations
Failures to Respond
Trips
Alarm State
Sensor Failures
Emergency Overrides
Attention (Trouble)
Failed Operations
If the Failed Operations alarm is configured, the DEVICEX algorithm puts the device in alarm
whenever the equipment does not complete a change-of-state command (for example, if a valve
is commanded to open and it does not do so within the user-specified time). A Failed Operation
Alarm clears upon the next Open, Close, or Stop command to the device.
182 OW360_R1100
5.33 DEVICEX
Failure to Respond
If the Failure to Respond alarm is configured, the DEVICEX algorithm puts the device into alarm if
the feedbacks do not reflect an “In Transition” state within a user-specified number of loops. The
“In Transition” state must be that both feedbacks have a value of 0.
Trips
If Trip alarms are configured, the DEVICEX algorithm puts the device into alarm whenever the
equipment unexpectedly changes state (for example, when a breaker trips open). A Trip Alarm
clears when you acknowledge the Trip by commanding the device to the Tripped state. Trips can
be acknowledge through the operator graphic or by control logic through the ACKT pin if the
EACK option is ON. Trip Alarm returns do not require acknowledgment by the user via the Alarm
window since they are cleared by commanding the device.
Alarm State
The device can be configured to go into alarm based on a user-defined state. The alarm clears
only when the device returns to the non-alarmed state. These alarms must be acknowledged by
the user.
Sensor Failures
Either one or both of the following conditions cause a Sensor Failure alarm:
The device feedbacks are indeterminate (that is, both show a 00 or 11 status) and the device
is not in transition. This is an input sensor alarm.
The outputs do not reflect the value written to them (output sensor alarm).
Emergency Override
The Emergency Override alarm is generated any time an override occurs and the device is not at
the override state. For example, the occurrence of an Emergency Open generates an alarm if the
device is Closed. If both override inputs happen to become true at the same time, an alarm is
generated regardless of the state of the device.
Attention (Trouble)
OW360_R1100 183
5.33 DEVICEX
Clearing Alarms
Upon Tagging Out, Scan Removing, or putting a device into Local mode, the following alarms are
cleared:
Failed Operation
Failure to Respond
Sensor Failures
Trips
Attention
A State Alarm, however is not cleared by any of the conditions mentioned above. It must be
cleared by commanding the device.
Tagging out or going to Local mode clears any Emergency Override present.
The device record maintains information corresponding to the current status of a device.
Depending on the state of a device, its displayed status includes a combination of the following
conditions:
Current State
In Transition
Operation Failed
Tripped
Stopped
Emergency Close
Emergency Open
Current Mode
Override Failure
Scan Removed
Alarm Checking Off
Tagged Out
Locked Out
Quality
Permissives
Rejects
The status information mentioned above comes from various flags (bits) in certain fields in the
packed point and algorithm record.
184 OW360_R1100
5.33 DEVICEX
The A2 field of the Packed point (DVCE) has the following information: The bits in the A2 field are
defined in the following table:
BIT DESCRIPTION
Bit 0 Current State. This bit indicates the current state of the feedback signals. In case feedback
signals give conflicting data, the last known state is reported. When scanned removed the
last command state is reported.
Bit 1 In Transition. This bit indicates the device algorithm is currently in the process of trying to
change the state of its equipment. The bit is set true when the device starts to execute a
command. It is reset when the feedback signals indicate the operation is complete or the
operation has failed.
Bit 2 Operation Failed. This bit is set following any unsuccessful attempt to change the state of
the equipment. It remains set until the next attempt is made to change the state of the
equipment. Failed operation are not indicated if the device is scanned off.
Bit 3 Tripped. This bit is set any time the equipment changes stage on its own, not by the
algorithm. It remains set until the Trip Acknowledge command. If it is not acknowledged, no
other change of state operations, in any mode are processed. The tripped bit is not set
when the device is Tagged Out or Scanned Removed.
Bit 4 Stopped. This bit is set whenever the device is commanded to stopped. The bit remains
set until the next attempt is made by the device to change the state of the equipment.
Bit 5 Emergency Close. This bit reflects the status of the override inputs to the device.
Bit 6 Emergency Open. This bit reflects the status of the override inputs to the device.
Bit 7 Last Commanded State. This bit reflects the last known state of the device.
Bit 8 Local Mode. This bit indicates that the device is in local mode.
Bit 9 Manual Mode. This bit indicates that the device is in manual mode.
Bit 10 Auto Mode. This bit indicates that the device is in auto mode.
Bit 11 Reserved.
Bit 12 Attention. This bit indicates certain error conditions are present.
Bit 13 Failed to Respond. This bit indicates that the device did not respond to a command.
Bit 14 Locked Out. This bit indicates that the state of the device is locked out.
Bit 15 Tagged Out. This bit indicates that the state of the device is tagged out.
OW360_R1100 185
5.33 DEVICEX
The C5 field in the DEVICEX algorithm holds the command word. This command word is the
interface between a Controller and the algorithm. The bits in the C5 field are defined in the
following table:
BIT DESCRIPTION
Alarming
The following fields in the Packed point (DVCE) must be set for alarming:
Alarming Parameters
Operate, Sensor, Trips, Overrides and Attention, Set E0 to 0x386d and E1 to 0x386c
State Set(0)
186 OW360_R1100
5.33 DEVICEX
The amount of time a device allows for the equipment to change state following a command is
user-configurable. You must specify the units of the time (tenths of a second, seconds, or
minutes) to measure the transition time in, and the maximum number of time units to get to the
set and reset states. You may also specify a time period (in loops) for the equipment to respond
to a command.
Time Units field (D0 field in the algorithm record) - holds the user-entered time units for
the set and reset time-outs. Valid values are 0 for tenth of seconds, 1 for seconds, and 2 for
minutes.
Set Time-out field (D2 field in the algorithm record) - holds the user-entered value. The
maximum number for tenth of a second and second is 255. The maximum number for
minutes is 100.
Reset Time-out field (YT field in the algorithm record) - holds the user-entered value. The
maximum number for tenth of a second and second is 255. The maximum number for
minutes is 100.
Time to Respond field (YP field in the algorithm record) - applies only to devices with two
feedbacks. If this value is non-zero, the device feedbacks must respond to a command within
the response time or the operation is discontinued and a 'Failure to Respond' alarm is
generated.
The C4 field in the algorithm record defines the mode configuration. The bits in the C4 field are
defined in the following table:
Bit 1 On Set output 'ON' for a configured time period (less than
the time-out). If this bit is set, the algorithm maintains
the appropriate output for the number of loops in the
Pulse Time or until the operation is successful,
whichever occurs first.
OW360_R1100 187
5.33 DEVICEX
Note: If bits 1, 2, and 3 are all zero, then the information in bits 3, 4, and 5 in the Custom
Configuration word is used to maintain/pulse the outputs.
The custom configuration (C7 field in the algorithm record) bits are defined below. You may also
define the mode(s) a device may operate in, the position the device may be tagged out in, and so
forth as defined in the following table:
188 OW360_R1100
5.33 DEVICEX
Functional symbol
OW360_R1100 189
5.33 DEVICEX
Algorithm definitions
190 OW360_R1100
5.33 DEVICEX
OW360_R1100 191
5.34 DFIELD
5.34 DFIELD
Description
The DFIELD algorithm is used only with the hardware digital output variable points. It should be
used instead of “output digital hardware” I/O connectors in applications involving interfaces to
control elements (for example, valves and dampers).
The output digital point (FAIL) is TRUE when the algorithm detects a hardware error on the I/O
card.
Functional symbol
Algorithm definitions
192 OW360_R1100
5.35 DIGCOUNT
5.35 DIGCOUNT
Description
The DIGCOUNT algorithm sets the output digital FLAG TRUE if M inputs or more of the N digital
inputs are TRUE (where N < 12, and M and N are constants). The output analog record is set
equal to the number of TRUE digital inputs.
The DIGCOUNT algorithm has an option for enabling or disabling quality propagation with the
following requirements:
The added parameter is an enumerated Data Init. type named PROQ, and it has the options
0 – OFF and 1 – ON. This input is in the OFF state by default.
If the PROQ parameter transitions from ON to OFF, all the output qualities are set to GOOD.
The following rule applies to propagating quality in the DIGCOUNT algorithm:
The output quality is the worst quality of the best quality inputs, if the output is true. This is
necessary to fulfill the coincidence.
The output quality is the worst false input quality if the output is false.
Functional symbol
OW360_R1100 193
5.35 DIGCOUNT
Algorithm definitions
194 OW360_R1100
5.36 DIGDRUM
5.36 DIGDRUM
Description
The DIGDRUM algorithm is a software drum controller with up to 32 digital output values and up
to 50 steps. The outputs selected to be TRUE are based on the current step number and a list of
up to 50 initialized integer values. These integers contain 32 bits of data, which are then mapped
onto the 32 digital outputs. Thus, for each step, you can initialize any combination of TRUE and
FALSE states for any or all of the 32 outputs by converting a string of up to 32 bits into a
hexadecimal number.
Functional symbol
The following 50 integers should be input as hexadecimal numbers (for example, 0x1234). See
the Binary to Hexadecimal Conversion Table (see page 6) for information on how to create a
hexadecimal number from 16 bits.
G0 B0 C0 D0 YM
G1 B1 C1 YQ YL
G2 B2 C2 D2 E2
G3 YU C3 YP E3
G4 B4 C4 D4 E4
G5 B5 C5 D5 YC
G6 B6 C6 D6 Y9
G7 B7 C7 YN E7
G8 B8 C8 D8 E8
G9 B9 YT D9 Y8
OW360_R1100 195
5.36 DIGDRUM
The current step number may be tracked to a selected step (TRIN) when in tracking mode
(TMOD = TRUE), increased (INC), or decreased (DEC). The current step number is only
increased or decreased on a FALSE to TRUE transition of INC and DEC. The maximum number
of steps must be initialized. When the current step number becomes greater than the number of
steps, the current step number is reset to one. If TRIN is a non-integer value, the algorithm
rounds the value to the nearest integer. Any value for TRIN not in the range of one to NMIN is
converted to a one by the algorithm.
The track input value (TRIN) and output value (OUT) are checked for invalid real numbers. If a
tracking request is received and TRIN is an invalid number, then the tracking request is ignored.
However, the current step can be increased (using INC) or decreased (using DEC) even when
TRIN is an invalid number.
If the algorithm calculates an invalid real number output, the value is invalid and the quality is set
to BAD.
Algorithm definitions
196 OW360_R1100
5.36 DIGDRUM
OW360_R1100 197
5.36 DIGDRUM
198 OW360_R1100
5.36 DIGDRUM
OW360_R1100 199
5.36 DIGDRUM
200 OW360_R1100
5.37 DIGITAL DEVICE
The Digital Device algorithm provides logic to control the following seven types of devices:
SAMPLER (Controlled Sampler) (see page 202).
VALVE NC (Non-Controlled Valve) (see page 203).
MOTOR NC (Non-Controlled Motor) (see page 204).
MOTOR (Simple Controlled Motor) (see page 206).
MOTOR 2-SPD (Two-Speed or Bi-directional Controlled Motor) (see page 209).
MOTOR 4-SPD (Two-Speed and Bi-directional Controlled Motor) (see page 212).
VALVE (Controlled Valve) (see page 217).
The Digital Device algorithm provides a digital alarm bit to be set for applicable devices. The
algorithm provides time delays for each device as needed, which keeps the device from failing
while the device is processing a command. The time delay for each device can be independently
tuned in the Control Builder. A run counter is maintained for the motor and the sampler devices
and can be reset by the Operator Keyboard. The algorithm keeps the count in local memory as
either hours, minutes, or seconds, and then saves it as an analog output.
Where applicable, there are three modes: AUTO, MANUAL, and OFF. When the device is in OFF
mode, the algorithm only tracks the inputs and does not respond to any control logic or operator
commands. When in AUTO mode, the device only responds to control logic, and in MANUAL
mode, the device only responds to the Program Keys on the Operator Keyboard (described in the
following table).
PROGRAM KE Y DESCRIPTION
P1 Close/Stop
P2 Open/Start/Fast Forward Start/Forward Start/Fast Start
P3 Slow Forward Start/Reverse Start/Slow Start
P4 Fast Reverse Start
P5 Slow Reverse Start
P6 Reset Total Run Time
P7 Reset Device Algorithm
In order for a device to respond to a command, the device must be available - not failed - and in
either MANUAL or AUTO mode. Where applicable, the algorithm can be reset either by a remote
reset device point, or by the Operator Keyboard. When the device is reset, the alarm output point
is always reset, along with the packed status alarm bits. When a device is in either the Failed or
the Unavailable condition, the device remains in the OFF mode until the problem is resolved and
the device is reset. The device is always put in the MANUAL mode when the reset is set and the
device is READY. The algorithm responds for both the Remote Reset and the Operator Reset in
any mode.
OW360_R1100 201
5.37 DIGITAL DEVICE
The Controlled Sampler device has the option of having the Operator Keyboard on or off. The
priority is set in the Control Builder and can only be changed in the Control Builder. The list of
inputs and outputs are found in the Algorithm Definitions table.
If the Operator Keyboard is off, the keyboard keys are disabled, and the output (OUT1) of the
device follows the input (IN1). When the Operator Keyboard is on, the output follows the input
until the output is changed manually by the operator with either the STOP or START keys. The
output follows the input again once there is a change in the input.
The runtime counts when the output is set. The total runtime will not update when Sample Reset
Priority (SPRI) is set to "Operator Keyboard OFF." The operator has the ability to reset the
runtime when either priority is set. There are no modes, time delays, or alarms associated with
the Controlled Sampler. The runtime can be tuned by changing the RUNT parameter in the
Control Builder.
Functional symbol
Algorithm definitions
202 OW360_R1100
5.37 DIGITAL DEVICE
Note: The RUN output (total run time) of the algorithm will not update if SPRI (sampler reset
priority) is selected as "Input" (that is, Operator Keyboard is OFF) in the Control Builder, even
though the device is running.
Description
The Non-Controlled Valve does not accept control information from either the control logic or the
operator (see the Algorithm Definitions table for a list of inputs and outputs). The algorithm
activates the digital alarm bit when in the failed state (see the Truth table for states of the valve).
There are no modes, time delay, or run time associated with this device.
Functional symbol
Algorithm definitions
OW360_R1100 203
5.37 DIGITAL DEVICE
Truth table
Description
The Non-Controlled Motor does not accept control information from either the control logic or the
operator (refer to the Algorithm Definitions table for the list of inputs and outputs). The digital
alarm bit is set when the motor is either in the failed state or Unavailable state (refer to the Truth
table for the states of the motor). The Non-Controlled Motor has an analog run time output that
may be reset by the operator. The runtime value can be tuned in the Control Builder. There are no
modes or time delays associated with this device.
Functional symbol
Algorithm definitions
204 OW360_R1100
5.37 DIGITAL DEVICE
Truth table
OW360_R1100 205
5.37 DIGITAL DEVICE
The Simple Controlled Motor runs at one speed and in one direction when in operation. This
motor has the option of accepting start or stop commands from either the control logic or the
operator.
When the device is in AUTO mode, the algorithm accepts control commands from the Remote
Start (IN3) and Remote Stop (IN4) inputs. When the device is in MANUAL mode, the algorithm
accepts the control commands Stop and Start from the Operator Keyboard. Whenever a
command is processed in either AUTO or MANUAL mode, the outputs (OUT1 and OUT2) are set
accordingly for the duration of the time delay previously set in the Control Builder.
The Stop Permissive (IN8) must be set to allow the motor to be stopped. The Stop Permissive is
automatically set when no input is connect to IN8. Refer to the Algorithm Definitions table for the
list of inputs and outputs.
The Simple Controlled Motor also has a status packed point that displays which alarm has been
set, the last command, and which mode it is currently in. Refer to the Output Status Bits table for
the list of the status bits.
Functional symbol
206 OW360_R1100
5.37 DIGITAL DEVICE
Algorithm definitions
OW360_R1100 207
5.37 DIGITAL DEVICE
Truth table
BIT DESCRIPTION
0 Failed to Stop
1 Failed to Start
2 Not Applicable
3 Not Applicable
4 Not Applicable
5 Device Unavailable
6 Device Deviation
7 Device Failed
10 Not Applicable
11 Not Applicable
12 Not Applicable
13 Device Off
14 Device in Manual
15 Device in Auto
208 OW360_R1100
5.37 DIGITAL DEVICE
The Two-Speed or Bi-Directional Controlled Motor has the option of either running fast or slow, or
running forward or backward when in operation. This motor has the option of accepting start or
stop commands from either the control logic or the operator.
When the device is in AUTO mode, the algorithm accepts control commands from the Remote
Fast/Forward Start (IN4), Remote Slow/Reverse Start (IN5), and Remote Stop (IN6) inputs. When
the device is in MANUAL mode, the algorithm accepts the control commands Stop, Fast/Forward
Start, and Slow/Reverse Start from the Operator Keyboard. Whenever a command is processed
in either AUTO or MANUAL mode, the outputs (OUT1, OUT2, and OUT3) are set accordingly for
the duration of the time delay previously set in the Control Builder.
The Stop Permissive (IN10) must be set to allow the motor to be stopped. The Stop Permissive is
automatically set when no input is connected to IN10. This motor may be commanded to change
direction or speed without first being stopped. Refer to the Algorithm Definitions table for the list of
inputs and outputs.
The digital alarm bit is set when one of the following occurs:
The device is in the Failed state.
The device is in the Unavailable state.
The device changes running states without being commanded to do so.
The device fails to start or stop.
When the device fails to start or stop, the alarm triggers, but the device stays in the current mode
and continues looking for the combination of Running and Ready. When this combination has
been detected, the alarm is reset and the device continues operating in a normal condition. All
other alarms put the device in OFF mode. See the Truth table for the states of the motor.
The Two Speed or Bi-Directional Controlled Motor also has a status packed point that displays
which alarm has been set, the last command, and which mode it is currently in. See Output Status
Bits for the list of status bits.
Functional symbol
OW360_R1100 209
5.37 DIGITAL DEVICE
Algorithm definitions
210 OW360_R1100
5.37 DIGITAL DEVICE
Truth table
BIT DESCRIPTION
0 Failed to Stop
3 Not Applicable
4 Not Applicable
5 Device Unavailable
6 Device Deviation
7 Device Failed
11 Not Applicable
OW360_R1100 211
5.37 DIGITAL DEVICE
BIT DESCRIPTION
12 Not Applicable
13 Device Off
14 Device in Manual
15 Device in Auto
Description
The Two-Speed and Bi-Directional Controlled Motor has the option of accepting start or stop
commands from either the control logic or the operator. This motor has the option of running in
any one of the following four states:
Fast and forward
Fast and reverse
Slow and forward
Slow and reverse
When the device is in AUTO mode, the algorithm accepts control commands from the Remote
Fast Forward Start (IN6), Remote Slow Forward Start (IN7), Remote Fast Reverse Start (IN8),
Remote Slow Reverse Start (IN9), and Remote Stop (IN10) inputs.
When the device is in MANUAL mode, the algorithm accepts the control commands Stop, Fast
Forward Start, Slow Forward Start, Fast Reverse Start, and Slow Reverse Start from the Operator
Keyboard. Whenever a command is processed in either AUTO or MANUAL mode, the outputs
(OUT1, OUT2, OUT3, OUT4, and OUT5) are set accordingly for the duration of the time delay
previously set in the Control Builder.
The Stop Permissive (IN14) must be set to allow the motor to be stopped. The Stop Permissive is
automatically set when no input is connected to IN14. This motor may be commanded to change
direction or speed without first being stopped. See the Algorithm Definitions table for the list of
inputs and outputs.
The digital alarm bit is set when one of the following occurs:
The device is in the Failed state.
The device is in the Unavailable state.
The device changes running states without being commanded to do so.
The device fails to start or stop.
When the device fails to start or stop, the alarm triggers, but the device stays in the current mode
and continues looking for the proper combination of Running and Ready. When this combination
is found, the alarm is reset and the device continues operating in a normal condition. All other
alarms put the device in OFF mode. See the Truth table for the states of the motor.
The Two-Speed and Bi-Directional Controlled Motor also has a status packed point that displays
which alarm has been set, the last command, and which mode it is currently in. See the Output
Status Bits table for the list of status bits.
212 OW360_R1100
5.37 DIGITAL DEVICE
Functional symbol
Algorithm definitions
OW360_R1100 213
5.37 DIGITAL DEVICE
214 OW360_R1100
5.37 DIGITAL DEVICE
Truth table
OW360_R1100 215
5.37 DIGITAL DEVICE
BIT DESCRIPTION
0 Failed to Stop
5 Device Unavailable
6 Device Deviation
7 Device Failed
13 Device Off
14 Device in Manual
15 Device in Auto
216 OW360_R1100
5.37 DIGITAL DEVICE
The Controlled Valve has the option of accepting commands from either the control logic or the
operator.
When the device is in AUTO mode, the algorithm accepts control commands from the Remote
Open (IN3) and Remote Close (IN4) inputs. When the device is in MANUAL mode, the algorithm
accepts the control commands Close and Open from the Operator Keyboard. Whenever a
command is processed in either AUTO or MANUAL mode, the outputs (OUT1 and OUT2) are set
accordingly for the duration of the time delay previously set in the Control Builder.
The Open and Close Permissives (IN8 and IN9) must be set to allow the valve to be opened or
closed. The Open and Close Permissives are automatically set when no input is connected to IN8
or IN9. See the Algorithm Definitions table for the list of inputs and outputs.
The digital alarm bit is set when one of the following occurs:
The device is in the Failed state.
The device opens or closes without being commanded to do so.
The device fails to open or close.
When the device fails to open or close, the alarm triggers, but the device stays in the current
mode and continues looking for the proper Open and Close input combination. When this
combination is found, the alarm is reset, and the device continues operating in a normal condition.
All other alarms put the device in OFF mode. See the Truth table for the states of the valve.
The Controlled Valve also has a status packed point that displays which alarm has been set, the
last command, and which mode it is currently in. See the Output Status Bits table for the list of the
status bits.
Functional symbol
OW360_R1100 217
5.37 DIGITAL DEVICE
Algorithm definitions
218 OW360_R1100
5.37 DIGITAL DEVICE
Truth table
BIT DESCRIPTION
0 Failed to Close
1 Failed to Open
2 Not Applicable
3 Not Applicable
4 Not Applicable
5 Not Applicable
6 Device Deviation
7 Device Failed
10 Not Applicable
11 Not Applicable
12 Not Applicable
13 Device Off
14 Device in Manual
15 Device in Auto
OW360_R1100 219
5.38 DISTRIBUTOR
5.38 DISTRIBUTOR
Description
The DISTRIBUTOR algorithm distributes an input signal (IN) into two or more (up to eight) analog
outputs (OUTx). The final value of the outputs will be the balance of the IN value, the number of
devices needed to satisfy the demands of the system, and other configuration options.
The DISTRIBUTOR algorithm is available in the Ovation 3.5 release and later.
Functional symbol
220 OW360_R1100
5.38 DISTRIBUTOR
5.38.1 Input, FNUM parameter, and Output pins (IN, FNUM, and OUT[1 -8])
All algorithms connected to the IN and OUTx pins are required to be on a scale of 0 to 100. If an
IN pin is out of this range, the algorithm will substitute the closest boundary as the input value. If
the calculated OUTx value is out of range, the algorithm defaults to the nearest limit.
The FNUM parameter is defined as the number of devices required to cover a full load. It has a
range from 1 to the maximum number of algorithms connected to the OUTx pins. FNUM's default
value is 0, which the algorithm interprets and sets the FNUM parameter to the number of OUTx
pins currently connected to downstream algorithms. For example, if FNUM is set to zero and
three OUTx pins are connected, then the algorithm will use 3 as FNUM's value. In the default
configuration, each of the OUTx pins will be equal to the IN value, because FNUM would be equal
to the number of OUTx pins connected. See the following default Advanced Distributor equation.
In the default Distributor equation shown above, IN = the input value, FNUM = the number of
devices needed to satisfy the system demand, and Nc = the number of connected OUT pins.
In most cases, the sum of all the OUTx values will equal the product of the IN value and FNUM.
Note: For simplicity, equations are presented with default parameters when Base Gains (BG)
are equal to 100% and Corrections Gains are equal to 1.0.
All OUTx pins that are connected to another algorithm must be connected consecutively with no
skipped OUTx pins.
You can specify a lower number FNUM than the number of points connected to the OUTx pins.
For example, a Distributor algorithm is controlling three valves equally (such as an MASTATION
opening/closing physical valves), but the demand for this application is, at most. only what two
valves can provide. If all three valves were open 100%, the system would be overloaded. When
you lower FNUM from the number of OUTx pins to a lesser number (in this case, two), it is
equivalent to lowering the total output of three devices to a maximum output of what two devices
can provide.
You can set FNUM to exceed the number of OUTx pins connected, but this will have no effect on
the algorithm. The Distributor algorithm will reset FNUM internally back to the default (that is, to
the maximum OUTx pins connected).
Some configurations or tracking signals may change the Default Equation for the OUTx pins, but
the algorithm will achieve the Steady State, if possible.
OW360_R1100 221
5.38 DISTRIBUTOR
The Exclusion (EXCL) feature allows you to ignore OUTx pins already connected to the algorithm
(this includes the tracking TRINx signals) by selecting the unwanted pins (see Internal and
External Control (see page 228) for how OUTx can be selected). The Distributor algorithm
subtracts these pins from the number of connected pins in the default equation. In addition, the
excluded OUTx pins are excluded from the Steady State equation.
When the OUTx pin is excluded, the values of the outputs will not change. This is achieved by
setting the Track Out (TOUT) TRACKing bit for one loop cycle. The value of Track Out is
calculated as follows:
Note: For simplicity, equations are presented with default parameters when Base Gains are
equal to 100% and Corrections Gains are equal to 1.0.
Example
If the default settings are used, IN's value is set 50 and there are three OUTx pins connected,
each will equal 50. If one pin is excluded, TOUT will change from 50 to 33.3 and the TOUT
TRACKing bit will be set. Depending on what is driving the Distributor input, the IN value may
drop from 50 to 33.3. The remaining OUTx points would remain at 50 through the transition. Once
the excluded OUTx pins are included again, the algorithm recalculates the OUTx values and will
move to the new values incrementally using the TRAT. When the newly included pin is
re-considered in the equation, TOUT's value may change drastically.
Based on the information above, the two OUTx pins that are not excluded are set to 75 and the
OUTx pin that was just included is 50. TOUT in this instance will jump to the average of the three
OUTx pins. TOUT will also pulse its TRACKing bit. In an MAStation, this will change the OUT pin
(and the Distributor's input) to equal the value of TOUT. All of the OUTx pins that were excluded
are then re-apportioned incrementally based on the moving values of the recently included pin.
The included OUTx pin is moving to the new OUTx value using the TRAT parameter (multiplied
by BGx).
222 OW360_R1100
5.38 DISTRIBUTOR
Tracking is applied to the input pin and all eight output pins (TRINx). When a downstream
algorithm sends one of the following tracking signals, the OUTx value will be controlled by the
downstream algorithm connected to it:
High/low limit.
TRACK bit (for example, an MAStation in manual mode).
Lower/raise inhibit
When the TRACK bit is set in TRINx, the Distributor relinquishes control of the OUTx value and
assigns the TRINx value directly to OUTx. The other OUTx values controlled by the Distributor
are redistributed depending on the TRINx values, as well as other changes in the algorithm.
Where:
Note: For simplicity, the figure above does not consider Base Gain (BG) and Correction Gains.
If high limit or raise inhibit tracking bits are set and the IN value is going up, the Distributor
algorithm will freeze the OUTx value on the last OUTx value, all other OUTx values will shift to
achieve SteadyState. This also applies when the low limit or lower inhibit bit is set and the IN
value is going down. When both a high and a low signal are set on the same TRINx, the OUTx pin
will equal TRINx until one (or both) of the downstream signals are released.
When the OUTx pin(s) are released from their downstream tracking signals, the Distributor will
rebalance the OUTx pins. The TRAT is applied to the released pins until all the OUTx values are
balanced.
OW360_R1100 223
5.38 DISTRIBUTOR
The Correction Gain (CGAIN) parameter is used to make minor corrections to each of the OUTx
equations dynamically through input pins or through a user diagram (see Internal and External
Control (see page 228)). The default value is 1.0. By default, each of the eight CGAIN (GAINx
pins and IGx parameters) must be between the values of 0.5 and 1.5. You can also define an
even smaller range by changing the CMIN and CMAX in the Control Builder (refer to Ovation
Control Builder User Guide for more information). The valid range for the CMIN parameter is 0.5
through 1.0 and the valid range for CMAX is 1.0 through 1.5. Inputs that exceed the range are
forced to the closest limit.
For the algorithm to reach Steady State, the sum of all the CGAIN inputs must equal the number
of all the attached OUTx pins. Since the correction gain can change, the current values may not
equal the number of OUTx pins all the time. To ensure equalization, each CGAIN is divided by the
"CGAIN Average." The new CGAIN values are then multiplied by the OUTx fields.
The CGAIN values will be applied in proportion to one another but will not unbalance the
algorithm's Steady State. For example, if all of the CGAIN values were equal to the maximum
value (1.5 or CMAX) and applied directly to the OUTx values, the Steady State equation would
not work. However, if CGAIN_Avg divides into each CGAINx value, it will work within the Steady
State equation.
Using CGAIN_Avg changes the value of the CGAINx, but the OUTx values will still be the same
proportional difference from each other. If the CGAINx values are 1.5, 1.5, and 0.7 for the first
three OUTx pins, OUT1 and OUT2 should be equal to one another, and OUT3 should be
proportionally less than the other OUTx values.
224 OW360_R1100
5.38 DISTRIBUTOR
The GAINx inputs have tracking signals attached to them (TRKGx). The TRKGx value is equal to
the internal input value IGx (Internal and External Control (see page 228)). This is provided for
external applications that change the OUTx values. If external inputs are switched to user control,
the external applications will have the information needed to make a smooth transition before
handing over control to a user diagram.
The Priority Deadband (PDB) function is defined as the priority of outputs that will be used to
compensate for small changes in the IN value. This mechanism is designed to protect devices
against excessive wear. For example, when a change in the IN value is small, only one or a few
selected outputs should be used; the rest of the signals should not change in value.
The Priority Deadband mechanism requires you to define which outputs are set in priority mode
and what is the value of the deadband parameter. The Deadband parameter defines the maximal
difference between the priority output and other non-priority outputs. If the difference in the
current step would exceed the deadband value. then all output signals (priority and non-priority)
are used in the calculations for this step. The following formula defines how the output value in
Priority mode is calculated.
Where:
OW360_R1100 225
5.38 DISTRIBUTOR
0 50 200 50 50 50 50
1 49 196 48 48 50 50
2 48 192 46 46 50 50
3 47 188 47 47 47 47
4 46 184 45 45 47 47
5 45 180 43 43 47 47
6 44 176 44 44 44 44
Time 3, 6 At this time, the values are distributed normally because the differences between
priority and non-priority points would be bigger than the priority deadband
(PDB=5).
The Base Gain (BGx) parameter gives the ability to re-apportion the final OUTx signals. The
range of BGx is from 100 (the default) to five (5) and anything outside that range will be
considered equal to 100.
BGx is applied to the OUTx equation only after everything else has been calculated.
When none of the OUTx pins have reached a high limit (for example: OUTx >= 100), BGx will
simply be the equation shown above. However, if the BGx causes an OUTx value to exceed its
high limits, then the Distributor algorithm will set those OUTx parameters to their limits (for
example: OUTx = 100) and the downstream algorithms will set the High Limit flags in the returned
TRINx fields. These pins are considered at a High Limit and need to be treated as if the High Limit
Flag was already set. To solve the other OUTx values and keep the Steady State, the algorithm
must solve all the other OUTx values with the Tracking Equation.
226 OW360_R1100
5.38 DISTRIBUTOR
The Distributor algorithm takes the following action in response to the information found in the
analog track signals (in the third status field), which are passed back from the downstream
algorithm:
Signals
1. The tracking bit is Pulsed ON if the selected EXCL outputs have changed from the previous
Task Cycle.
2. The tracking bit is set ON continually if all OUTx pins are excluded and/or all TRINx TRACK
bits are set.
OW360_R1100 227
5.38 DISTRIBUTOR
The Lower Inhibits bit is set if all outputs are limited from down (TRACK, low limit, lower inhibit)
and Steady State equation is not met.
The Raise Inhibits bit is set if all outputs are limited from top (TRACK, high limit, raise inhibit) and
the Steady State equation is not met.
The Low Limit bit is set if all outputs (excluded pins are not counted) are on low limit (0.0). In this
case, the Lower Inhibit bit is set as well.
The High Limit bit is set if all outputs (excluded pins are not counted) are on high limit (100.0). In
this case, the Raise Inhibit bit is set as well.
The other bits are “passed though” from the TRINx pins to the TOUT pin only if all the TRINx pins
have the same signal(s) set. This does not count pins that are excluded.
The Distributor has several parameters that can accept inputs from pin(s), as well as fields from
inside the algorithm record, but never both at the same time. These are called "selectable inputs,"
and they apply to the optional features EXCL mode, PDB Mode, and GAINx inputs.
External:
1. Two packed 16-bit input pins control the EXCL and PDB features. The packed points are
used to select the OUTx pins that are connected. Bit 0 is equal to OUT1 and Bit 7 is equal to
OUT8. (Bits 8 through 15 are not used.) To select the OUTx pin(s), set and hold a "1" in the
correct bit. To deselect an OUTx pin(s), set the required bit to "0."
2. The Correction Gain uses eight analog input pins (GAINx). Each pin corresponds to an
attached OUTx pin.
Note: The use of the selectable pins are optional. If the pins are not used, the operator must
use the internal fields in order to utilize this feature.
228 OW360_R1100
5.38 DISTRIBUTOR
You can switch between internal algorithm fields or external algorithm pins for EXCL mode, PDB
mode, and CGAIN. This can be done as follows:
1. The command signal pin (CMD) - a 16-bit packed point input pin:
a) To turn the input pin(s) ON for a specific function (and accept input from an external
application), the appropriate bit (1, 3, 5) must be set to "1."
b) To turn the input pin(s) OFF for a specific function (and accept input from the internal
algorithm field), the appropriate bit (0, 2, 4) must be set to "1."
c) If both appropriate bits (0, 1) or (2, 3) or (4, 5) are set to "1," the input pin(s) will be turned
OFF.
d) If both the appropriate bits (0, 1) or (2, 3) or (4, 5) are set to "0," the state will depend on
internal algorithm fields (see #2 below).
Note: The signals can be pulsed or held. If these signals are held at 1, you will not be able to
change its state from the internal algorithm fields.
Y2 and Y3 Turn the Exclusion Control Pin ON/OFF (EXCL packed point)
Y4 and Y5 Turn the Priority Control Pin ON/OFF (PSEL packed point)
OW360_R1100 229
5.38 DISTRIBUTOR
Results
230 OW360_R1100
5.38 DISTRIBUTOR
There is a data init parameter for each of the selectable inputs to determine whether the input
pins are ON or OFF after first pass startup. If the pins XSEL and/or PSEL are OFF for the first
pass, an engineer can set the internal value of the EXCL and PBD selection bitmaps with the
FPEX and FPPR parameters. For example, an engineer can set FPEA to OFF , which will turn off
the XSEL pin for the first time the algorithm runs. Then they can exclude OUT1 and OUT3 for the
first pass by setting FPEX to 0x05.
FEATURES FIRST PASS STATE FIELDS INIT VALUES (ONLY IF THE PIN
IS OFF)
STAT1 Pins
BITS DESCRIPTION
0-7 A bitmap of OUTx pins that the Distributor has control over.
8 GAIN input pins that are active.
9 PDB input pins that are active.
10 EXCL input pins that are active.
11 Track if Lower and Track if Higher conditions are active.
STAT2 Pins
BITS DESCRIPTION
Quality is propagated from the IN pin to all OUTx pins that are excluded. If a point is excluded, the
value and quality is taken from the TRIN point.
In order to assist with graphics programming, all output point SIDs are stored in fields in the
algorithm. This allows the graphic to access multiple SIDs by accessing a single SID (the
algorithm LC record).
OW360_R1100 231
5.38 DISTRIBUTOR
The DISTRIBUTOR algorithm provides all of the functionality of the BALANCER, and offers
additional features as well. Some of the new features are Exclusion, Priority, Correction Gain, and
Bias Gain.
The DISTRIBUTOR algorithm has advanced design and algorithm behavior that tracks the current
value when the device first switched from a manual mode to AUTO mode. This algorithm is
unified with OVATION tracking philosophy; therefore, it can be placed between any other
algorithms on a control sheet. These changes impact the algorithm's behavior only when the
downstream algorithm is limited by TPSC or BTSC as shown in the following figure (in this case,
the downstream algorithm is a MASTATION):
232 OW360_R1100
5.38 DISTRIBUTOR
The BALANCER algorithm balances signals that treat the HIGH LIMIT REACHED signals like a
TRACK signal. However, the DISTRIBUTOR algorithm only tracks TRACK signals. By adding an
external logic, the DISTRIBUTOR algorithm is no longer limited. For example, in the following
figure the TPSC value is 40 that is smaller than DISTRIBUTOR algorithm output, which is 44. The
TRANSFER algorithm selects TPSC value and sends TRACK bits to the DISTRIBUTOR
algorithm. The DISTRIBUTOR algorithm considers TRACK bits and balances the other output
values.
Algorithm definitions
OW360_R1100 233
5.38 DISTRIBUTOR
234 OW360_R1100
5.38 DISTRIBUTOR
OW360_R1100 235
5.38 DISTRIBUTOR
236 OW360_R1100
5.38 DISTRIBUTOR
OW360_R1100 237
5.38 DISTRIBUTOR
238 OW360_R1100
5.38 DISTRIBUTOR
OW360_R1100 239
5.38 DISTRIBUTOR
240 OW360_R1100
5.38 DISTRIBUTOR
OW360_R1100 241
5.38 DISTRIBUTOR
242 OW360_R1100
5.39 DIVIDE
5.39 DIVIDE
Description
The DIVIDE algorithm divides two gained and biased inputs. The output of the DIVIDE algorithm
is the result of the gained and biased IN1 divided by the gained and biased IN2. If the gained and
biased IN2 is zero, or an invalid real number, then the output is either the high or low limit
according to the sign of the IN1.
Note: If the algorithm receives an invalid value as the input, or if it calculates an invalid value as
the output, the drop is placed into alarm.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the third status field of an analog point to
the algorithm. This algorithm takes the following action in response to the information found in the
input signal TRIN:
Bits description
OW360_R1100 243
5.39 DIVIDE
** Only when the Track signal is not present; the signals are set according to the
definitions given in Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is ignored.
Otherwise, the value of the conditional track bit is transferred to all output track points.
If the Conditional Track bit is set in the track input point, the analog value of all output
track points is calculated based on the analog value of the track input point.
The high and low limit flags and the tracking signals from the algorithms are outputs to TOUT, to
be used for display and by an upstream algorithm. If the output value is invalid, the quality of OUT
is set BAD otherwise, the quality of OUT is set to the worst quality of the two inputs when not in
tracking mode. When tracking, the quality is set to the quality of the track input variable.
Note: If the algorithm generates an inverted track output, the IN1 value is used as the track
output, unless it is invalid, The track output value is not updated if both the calculated track
output and INI input values are inverted.
In addition, you may turn off the tracking output calculations. This may be done to support control
logic designs that require fast execution times (such as 20 msec). The TBLK parameter can be
set to OFF, which will disable the tracking calculations and local memory operations. The default
value for TBLK is ON, which means the algorithm performs the tracking calculations.
Algorithm definitions
244 OW360_R1100
5.39 DIVIDE
OW360_R1100 245
5.39 DIVIDE
Function
246 OW360_R1100
5.40 DRPI1A
5.40 DRPI1 A
Description
The DRPI1A algorithm converts the gray codes (IN1) to actual rod positions. On the first pass, the
rod position is always a zero value with BAD quality. For control rods, the calculation for
converting gray codes into steps is converting the gray code to a decimal number and adding the
two gray codes together and multiplying the sum by STEP. If there is an error reading either gray
code, or if the gray code is above the maximum range, only the good code is used in the
calculation and the resultant quality is set to FAIR. If gray code A is BAD, then the rod position is
equal to: ((converted gray code B times 2 times STEP) + (1/2 times STEP)). If the gray code B is
BAD, then the rod position is equal to: ((converted gray code A times 2 times STEP) - (1/2 times
STEP)). If both gray codes are BAD or above the limits, then the rod position is set to zero with
BAD quality.
If the rod is a shutdown rod and the converted gray codes added together equal BOTS, then the
rod position is equal to GAP and POOR quality. If the converted gray codes added together is
greater than BOTS, then the rod position is equal to TOPG plus the calculated position.
If bit 12 of IN1 is set, then the algorithm sets a two-second timer. When the timer expires, the
algorithm saves the current rod being scanned. During the first scan of any rod after the two
second timer has expired, a rod value of zero is allowed. At all other times a zero is not valid. If a
zero is not allowed, then any zero reading is ignored by setting the rod number (RODZ) to zero.
Functional symbol
Algorithm definitions
OW360_R1100 247
5.40 DRPI1A
248 OW360_R1100
5.41 DVALGEN
5.41 DV ALGEN
Description
The DVALGEN algorithm initializes a digital point. For the DVALGEN algorithm, the output is the
digital value stored in the tuning constant (VALU). This value can be used to force any digital
input to any algorithm to either a TRUE or FALSE statement that remains fixed unless changed
by a tuning function.
Functional symbol
Algorithm definitions
Function
OUT = VALUE
OW360_R1100 249
5.42 DXCSTATUS
5.42 DXCSTATUS
Description
The Digital eXcitation Controller algorithm (DXCSTATUS) interfaces with the Digital Excitation
Controller (DEC) module for the purpose of reconciling the module’s tuning parameters with the
Ovation Database Server.
Note: For more information on the DEC module, refer to the Digital eXcitation Controller User
Guide and the Ovation Bus and Specialty I/O Reference Manual.
Functional symbol
NAM E DESCRIPTION
250 OW360_R1100
5.42 DXCSTATUS
NAME DESCRIPTION
ASTA1 Algorithm status word output to control logic for primary module.
ASTA2 Algorithm status word output to control logic for partner module.
STATE Algorithm internal state (see state diagram).
Algorithm Parameters
Note: Custom graphics are typically used to modify the site ratings parameters.
Most of the algorithm parameters consist of DEC module tuning parameters and site rating
parameters. A complete list of algorithm parameters appears in the Algorithm parameters table.
Initial values for module tuning parameters are specified as the default values for the parameters
in the DXCSTATUS algorithm.
Algorithm parameters
OW360_R1100 251
5.42 DXCSTATUS
252 OW360_R1100
5.42 DXCSTATUS
OW360_R1100 253
5.42 DXCSTATUS
254 OW360_R1100
5.42 DXCSTATUS
OW360_R1100 255
5.42 DXCSTATUS
256 OW360_R1100
5.42 DXCSTATUS
OW360_R1100 257
5.42 DXCSTATUS
258 OW360_R1100
5.42 DXCSTATUS
OW360_R1100 259
5.42 DXCSTATUS
260 OW360_R1100
5.42 DXCSTATUS
OW360_R1100 261
5.42 DXCSTATUS
262 OW360_R1100
5.42 DXCSTATUS
The following table describes the DXCSTATUS algorithm’s dual input parameters.
OW360_R1100 263
5.42 DXCSTATUS
Inputs
ACMD
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
The module bits indicate which module (primary or backup) should receive the decoded
command. Since it is possible to send a message to both modules with the same command, the
encoding of bits 14 and 15 are as follows
FRC DESCRIPTION
264 OW360_R1100
5.42 DXCSTATUS
If the command encoded in the CMD field is to force a particular module into control, bit pattern
11 for the module bits becomes an invalid pattern. If a command is being sent to module 2 and
the redundant flag for the algorithm is not set, the command is ignored.
RESERVED bits are reserved for future use. RESERVED bits must be set to zero or undefined
behavior may result.
Bits 4-6 identify which devices are being calibrated when a calibrate command is issued.
CMD DESCRIPTION
Bit 4 CTs
Bit 5 PT1
Bit 6 PT2
CMD provides commands which may affect the module or both modules in a redundant pair.
CMD DESCRIPTION
Outputs
Output pins
OW360_R1100 265
5.42 DXCSTATUS
ASTA1, ASTA2
The following values are defined for the ASTA1 and ASTA2 outputs. ASTA1 refers to the primary
module, and ASTA2 refers to the partner module.
266 OW360_R1100
5.42 DXCSTATUS
Tuning parameters are module-shared memory variables that contain the gains, time constants,
and other tuning values, which configure the control loops on the module. Tuning parameters
consist of the following items:
Control loop PID gains.
Limiter PI gains.
PSS time constants and gains.
Site ratings are module-shared memory variables that contain rated values, ratios, and functional
enable parameters that govern operation of the system and scaling of process parameters. Site
ratings consist of the following items:
PT and CT ratios.
Rated field current.
Rated terminal voltage.
Individual limiter and protective enable parameters.
The Ovation system maintains the module tuning parameters and site ratings in the LC records of
the DXCSTATUS algorithm. The Operator Station contains custom graphics that interact with the
DXCSTATUS algorithm to allow the tuning parameters to be transferred back and forth between
the LC record and the module. The tuning parameters are transferred on operator command from
the graphic; they do not update automatically when the values change on the graphic or module.
Note: Refer to Ovation Record Types Reference Manual for more information on LC record
fields.
OW360_R1100 267
5.42 DXCSTATUS
Site ratings are typically entered using custom graphics during system configuration and may be
modified during testing. The site ratings must be downloaded to the module using the
DXCSTATUS algorithm after entry or modification. The site ratings should be reconciled with the
Ovation Database once they have been specified or modified.
Tuning parameters are typically modified by Emerson personnel during service or unit startup.
After the module has been properly tuned, the tuning parameters are uploaded from the module.
The updated tuning parameters are then reconciled with the Ovation Database.
The module tuning parameters and site ratings are stored locally in the module in the
installation.conf configuration file. This file is written upon downloading parameters to the
module from the DXCSTATUS algorithm. After uploading new tuning parameters, they must then
be downloaded back to the module(s) to force them to be written to the configuration file.
Note: Reconciling the algorithm parameters is an Ovation function and not truly a function of the
DXCSTATUS algorithm or the module.
I/O calibration.
Swap control between modules in a redundant pair.
Upload/Download function
The Upload/Download function retrieves tuning and site rating parameters from the module to the
algorithm (upload) and sends tuning and site rating parameters from the algorithm to the module
(download).
The Upload from Module function is invoked by setting the CMD field in the algorithm’s ACMD
input. The algorithm sends a request to the module communications driver, instructing the driver
to read the controlling module’s parameters. When the module responds, the driver updates the
algorithm LC record with the parameters and then sets the completion status parameter in the LC
record indicating that the upload is complete.
The Download to Module function is invoked by setting the CMD field in the algorithm’s ACMD
input. The algorithm sends a request to the module communications driver, instructing the driver
to send the parameters contained in the algorithm’s LC record to the module. The driver locates
the algorithm LC record using the SID that was passed in with the request. When the transfer
completes, the driver updates the status parameter in the LC record indicating that the download
is complete.
Note: Refer to Ovation Record Types Reference Manual for more information on LC record
fields.
268 OW360_R1100
5.42 DXCSTATUS
All module I/O is calibrated during factory testing, but because CT and PT panels are not
assigned to a module until that module is used in a system, field calibration may be necessary.
The DXCSTATUS algorithm coordinates field calibration of the module PT and CT inputs. Other
I/O cannot be calibrated in the field.
All CTs are calibrated as a group. Each set of PTs is calibrated independently; the PTs within a
set are calibrated as a group. The devices being calibrated are identified by bits 4 - 6 in the
algorithm command word. If a bit is non-zero, then that set of devices (CTs, PT1, PT2) is
affected by the calibration command.
The Transfer Control function transfers control from the controlling module to the non-controlling
module. This supports the ability to force a particular module to control in order to perform
maintenance on the other module.
Note: The Transfer Control function is designed for maintenance purposes only and should
never be used during normal operation of the system.
OW360_R1100 269
5.42 DXCSTATUS
The following figure shows the DXCSTATUS algorithm state diagram. The state diagram
indicates the control flow between states and the values for each state.
270 OW360_R1100
5.42 DXCSTATUS
0 RESET
1 READY
2 STARTING COMMAND (UPLOAD)
3 WAITING FOR COMMAND (UPLOAD)
4 FINISHING COMMAND (UPLOAD)
5 STARTING COMMAND (DOWNLOAD)
6 WAITING FOR COMMAND (DOWNLOAD)
7 FINISHING COMMAND (DOWNLOAD)
8 STARTING COMMAND (OSCILLOGRAPHY)
9 WAITING FOR COMMAND (OSCILLOGRAPHY)
10 FINISHING COMMAND (OSCILLOGRAPHY)
11 STARTING COMMAND (READ LOW CAL)
12 WAITING FOR COMMAND (READ LOW CAL)
13 FINISHING COMMAND (READ LOW CAL)
14 STARTING COMMAND (READ HIGH CAL)
15 WAITING FOR COMMAND (READ HIGH CAL)
16 FINISHING COMMAND (READ HIGH CAL)
17 STARTING COMMAND (CALC CAL)
18 WAITING FOR COMMAND (CALC CAL)
19 FINISHING COMMAND (CALC CAL)
20 STARTING COMMAND (CANCEL CAL)
21 WAITING FOR COMMAND (CANCEL CAL)
22 FINISHING COMMAND (CANCEL CAL)
23 STARTING COMMAND (TRANSFER CONTROL)
24 WAITING FOR COMMAND (TRANSFER CONTROL)
25 FINISHING COMMAND (TRANSFER CONTROL)
26 STARTING COMMAND (COMMIT CAL)
27 WAITING FOR COMMAND (COMMIT CAL)
28 FINISHING COMMAND (COMMIT CAL)
29 START ERROR
30 DELAY ERROR
31 DONE ERROR
OW360_R1100 271
5.43 DROPSTATUS
5.43 DROPSTATUS
Description
The DROPSTATUS algorithm accesses and outputs the contents of any record field in the Drop
Status Record (DU) for a particular Controller. To access the contents of a record field, the field
number must be specified. If an invalid field number is entered, zero is written to the AOUT and
POUT output points.
The data in the DU record field is output as a packed point. If specified, the contents of the record
field can also be output as an analog value. (Refer to the Ovation Record Types Reference
Manual.)
Note: For Ovation 3.2 systems and later, the DROPSTATUS algorithm will allow any DU record
to be used as an input into the drop status.
Functional symbol
1 FA
2 FB
3 FC
4 FK
5 FS
6 FO
7 HC
8 TA
9 CT
10 RT
11 LN
12 E5
13 E6
14 GD
15 GL
16 GI
272 OW360_R1100
5.43 DROPSTATUS
17 GG
18 GH
19 NC
20 FF
21 JU
22 U4
23 U5
24 U6
25 U7
26 KM
27 VE
28 K0
29 K1
30 TR
31 NE
32 IS
33 IE
34 OP
35 OE
36 FG
37 FH
38 FI
39 ES
40 ET
41 NG
42 CK
OW360_R1100 273
5.43 DROPSTATUS
Algorithm definitions
274 OW360_R1100
5.44 ELCCONTROL
5.44 ELCCONTROL
Description
The ELCCONTROL algorithm allows control logic to select which ELC module, of a redundant
pair, is in control. The algorithm will have the setting of the module address in the LC record, and
this address will not be tunable.
Note: It is the engineer's responsibility to make sure that the initial state of the ELC module is
the same as what is on the control sheets (logic).
Functional symbol
The Select parameter is a digital input that can be used to switch which ELC is in control.
Note: The 0 or 1 Select parameter value does not indicate which ELC is in control. The
ELCCONTROL algorithm performs only when the value changes.
Value
VALUE DESCRIPTION
If the quality of the Select input is BAD, no change is made to the ELC module.
OW360_R1100 275
5.44 ELCCONTROL
The address identifies the ELC that is being controlled. It consists of four parts kept in the LC
record.
Algorithm definitions
276 OW360_R1100
5.44 ELCCONTROL
Bits
BIT DEFINITION
The Status parameter is a digital type parameter and gives the algorithm execution feedback.
Status
STATUS DESCRIPTION
0 GOOD One of the address records is incorrect or the output scan is OFF.
OW360_R1100 277
5.45 FACEPLATE
5.45 FACEPLATE
Description
The FACEPLATE algorithm is a generic algorithm used to collect all inputs necessary for a
graphic faceplate. Its purpose is to reduce the amount of data needed by the graphic designer
when adding faceplates to a process diagram or window.
You need to pass only the name of the FACEPLATE algorithm to a graphic macro. The graphic
macro then retrieves all relevant input signals from the FACEPLATE algorithm and displays the
data accordingly.
The FACEPLATE algorithm sequences through all arguments and checks for a connection. It
then stores the system IDs for those connected points in the appropriate record fields of the
FACEPLATE algorithm.
The algorithm can have a maximum of two control algorithm points and up to 30 input points,
which can be analog, digital, or packed.
In addition to the generic template, two other templates exist for this algorithm.
DIGITAL DEVICE template (see page 282).
MASTATION template (see page 285).
Functional symbol
Algorithm definitions
278 OW360_R1100
5.45 FACEPLATE
OW360_R1100 279
5.45 FACEPLATE
280 OW360_R1100
5.45 FACEPLATE
OW360_R1100 281
5.45 FACEPLATE
This template should be used with the DIGITAL DEVICE algorithm. The following symbols show
an example of how this template could be used.
Note: Default symbols are not available for this template. Users are responsible for generating
their own symbols since the interface is defined within the individual graphics macros.
Algorithm definitions
282 OW360_R1100
5.45 FACEPLATE
For the digital faceplate values to be displayed in a graphic using the FACEPLATE algorithm, use
the following example to place code in the main screen diagram.
In the DIAGRAM section (OCB010F001 will be replaced by the name of your faceplate):
OW360_R1100 283
5.45 FACEPLATE
In the FOREGROUND section (to display specific values of the record field of the Faceplate
algorithm):
284 OW360_R1100
5.45 FACEPLATE
To call the faceplate Macro (49100 in this case) using the one $D1 point - the LC faceplate
algorithm name.
28 28 2 3 0 0
Refer to Ovation Graphics Language Reference Manual for more information on graphic
commands.
Description
This template should be used with the MASTATION algorithm. The following symbols show an
example of how this template could be used.
Note: Default symbols are not available for this template. Users are responsible for generating
their own symbols since the interface is defined within the individual graphics macros.
OW360_R1100 285
5.45 FACEPLATE
Algorithm definitions
286 OW360_R1100
5.46 FIELD
5.46 FIELD
Description
The FIELD algorithm is used only with the hardware analog output variable points. This algorithm
checks the value against the IO card limits and sets the appropriate bits in the track output point.
It should be used instead of “output analog hardware” I/O connectors in applications involving
interfaces to control elements (for example, valves and dampers).
The output digital point (FAIL) is TRUE when the algorithm detects a hardware error on the I/O
card. This algorithm is designed to read the value from the point record and output value TOUT
on the first pass.
Functional symbol
Algorithm definitions
OW360_R1100 287
5.46 FIELD
Tracking Signals
The high and low limits flags and tracking signals from the algorithm are output to TOUT, to be
used for display and by an upstream algorithm.
Bits description
288 OW360_R1100
5.47 FIFO
5.47 FIFO
Description
The FIFO algorithm provides a basic First In - First Out operation. The order in which any of the
16 digital inputs transition from FALSE to TRUE is preserved. The order is stored using the input
number of the associated input (that is, 1 for IN1, 2 for IN2, 3 for IN3, and so forth).
Initially, the value of the output is zero. If the FIFO is empty, the output is also zero. For each
successive FALSE to TRUE Transition of the rotate (RTAT) input, the oldest input number stored
in the FIFO is removed from internal storage and that numerical value is written to the output
(OUT). Note that the output is considered separate from the actual FIFO.
The point retains the value until either the rotate (RTAT) or the clear (CLR) input transitions from
FALSE to TRUE. A FALSE to TRUE transition on the (RTAT) input causes the oldest entry in the
FIFO to be removed from the FIFO and placed in the output (OUT). At this point, the value in the
(OUT) variable is no longer included in the queue.
If multiple inputs transition from FALSE to TRUE on the same execution cycle of the Controller,
then they are ordered according to their numerical number. For example, IN1 is placed in the
FIFO first and thus is rotated out first.
A FALSE to TRUE transition on the clear (CLR) input causes the output and all the internal FIFO
entries to be set to zero. As long as the clear (CLR) input remains TRUE, the algorithm ignores all
the inputs and thus does not operate.
The FIFO is considered full when all 16 inputs have made a transition from FALSE to TRUE
without any subsequent FALSE to TRUE transition on the rotate (RTAT) input. When this full
condition exists, any further FALSE to TRUE transitions of any of the inputs are ignored until at
least one of the stored values is rotated out of the FIFO.
The FLAG output is set TRUE when the FIFO is NOT empty.
Note: The FIFO values are stored in the algorithm record fields G0-G9, B0-B5.
Functional symbol
OW360_R1100 289
5.47 FIFO
Algorithm definitions
290 OW360_R1100
5.48 FIRSTOUT
5.48 FIRSTOUT
Description
The FIRSTOUT algorithm monitors up to 16 digital inputs and provides an indication of the first
digital input to transition from zero to one. The algorithm output is a packed group point whose 16
bits correspond to each of the 16 digital inputs. If more than 16 inputs need to be monitored,
multiple algorithms can be cascaded together. The resolution of the algorithm is equal to the
period of the control task in which it executes.
Note: The quality values of the digital inputs are not propagated to the digital outputs.
Functional symbol
Algorithm States
The FIRSTOUT algorithm operates in three states: armed, tripped and disabled.
In the disabled state, the algorithm does not operate. In the armed state, the algorithm monitors
the digital value of all connected inputs (IN1-IN16). If any of the inputs transition from a zero to a
one, the algorithm enters the tripped state.
When RST input is set to zero, the algorithm is in the disabled state. A zero to one transition on
the RST input sets the algorithm to the armed state. When this transition occurs, any inputs
(IN1-IN16) that are a one are ignored. Thus, it is not necessary to ensure that all inputs are a zero
when the algorithm is armed.
OW360_R1100 291
5.48 FIRSTOUT
The current state of the algorithm is indicated in two ways: the X1 field of the algorithm LC record
and the STATE output. The following table shows the states and the indications.
States
STATE X1 FIELD S T AT E O U T P U T
Armed or Disabled 0 0
Tripped 1 1
Once the algorithm enters the tripped state it remains in that state. The RST input must be set to
zero to enter the disabled state, and then set to a one in order to enter the armed state again.
The FIRSTOUT algorithm can be selectively executed by using the reset (RST) input. The RST
input must be set to a one for the algorithm to operate. If the RST input is set to a zero, the
algorithm is disabled and the algorithm is not executed in each loop that the RST is set to zero.
Trip Reporting
Each of the 16 bits in the monitor (MNTR) output corresponds to the IN1 - IN16 inputs. Bit zero
corresponds to IN1, bit one corresponds to IN2, and so forth. When the algorithm is operating in
the armed state, all bits in the MNTR points are set to zero. If any of the inputs (IN1 - IN16)
transition to a one, the corresponding bit in the MNTR packed point output is set to one.
If multiple inputs transition to one on the same execution cycle, the algorithm can be configured to
report which input(s) caused the change. This can be done in one of two ways. First, the default is
for all inputs that transitioned to be reported in the MNTR output. Optionally, only the input with
the lowest input number can be reported in the MNTR output. Note that the MULT output point is
set to one when either of these conditions occur. The desired configuration is specified using the
MCFG (X2) field in the algorithm LC record.
The number of inputs that transitioned from zero to one is reported in the optional analog output
NTRP. During operation in armed mode, the NTRP output is set to zero.
Dependencies among RST, IN1-IN16 inputs, and TRPD output are shown on the following timing
diagram.
1
RST 0
IN1 1
0
IN2 1
0
TRPD 1
0
292 OW360_R1100
5.48 FIRSTOUT
If it is necessary to monitor more than 16 digital inputs, multiple FIRSTOUT algorithms can be
cascaded together. The TRPD output of each algorithm is connected to one of the inputs (IN1 -
IN6) of the subsequent algorithm.
Algorithm definitions
OW360_R1100 293
5.48 FIRSTOUT
294 OW360_R1100
5.48 FIRSTOUT
OW360_R1100 295
5.49 FLIPFLOP
5.49 FLIPFLOP
Description
The FLIPFLOP algorithm is a memory device. Its output states are defined in the Function for
Reset Override and Function for Set Override Truth tables.
Functional symbol
Algorithm definitions
Functions
0 0 S
0 1 0
1 0 1
1 1 0
where:
296 OW360_R1100
5.49 FLIPFLOP
On power up/reset of the Controller, OUT is set according to the truth table, unless SET and
RSET are both FALSE.
Functions
0 0 S
0 1 0
1 0 1
1 1 1
where:
On power up/reset of the Controller, OUT is set according to the truth table, unless SET is set
FALSE.
OW360_R1100 297
5.50 FUNCTION
5.50 FUNCTION
Description
If the input value is invalid or less than the smallest element in the X-array, the output assumes
the value of the corresponding Y-array element. Also, if the input value is greater than the largest
X-array element, the output assumes the value of the corresponding Y-array element. If there is
more than one output value (Y-array) for a particular input value (X-array), the output is the first
element of the Y-array encountered.
The TPSC and BTSC algorithm definitions must match the highest and lowest Y-array values of
the function defined in order for tracking to be properly implemented. If the limits are different, the
algorithm tracks to the value. But upon releasing, it bumps back to the calculated output value.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog point. This algorithm takes the following action in response to the information found
in the input signal TRIN:
298 OW360_R1100
5.50 FUNCTION
** Only when the Track signal is not present; the signals are set
according to the
definitions given in Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is
ignored.
Otherwise, the value of the conditional track bit is transferred to all output
track points.
If the Conditional Track bit is set in the track input point, the analog value
of all output
track points is calculated based on the analog value of the track input
point.
The high and low limit flags and the tracking signals from the algorithm are output to TOUT, to be
used for display and by an upstream algorithm. If the output value is invalid, the quality of OUT is
set to BAD. Otherwise, the quality of OUT is set to the quality of the input when not in tracking
mode. When tracking, the quality is set to the quality of the track input variable.
When the FUNCTION algorithm is tracking, it forces the upstream algorithm to track to the
X-array value associated with the Y-array value to which the FUNCTION is told to track. However,
if there is more than one X-array value associated with the specified Y-array value, the
FUNCTION algorithm forces the upstream algorithm to track to the first X-array value
encountered.
Note: If the algorithm generates an invalid track output value, the input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and input values are invalid.
OW360_R1100 299
5.50 FUNCTION
Algorithm definitions
300 OW360_R1100
5.50 FUNCTION
OW360_R1100 301
5.51 GAINBIAS
5.51 G AINBI AS
Description
The GAINBIAS algorithm multiplies the analog input with an internal gain, adds a bias and then
limits the output value.
To scale the output proportionally to the input, calculate the required Gain and Bias as follows:
Note: If the algorithm receives an invalid value as an input, or calculates an invalid value as the
output, the drop is placed into alarm.
Functional symbol
302 OW360_R1100
5.51 GAINBIAS
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status of
the analog point. This algorithm takes the following action in response to the information found in
the input signal TRIN:
** Only when the Track signal is not present; the signals are set according to the
definitions given in Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is ignored.
Otherwise, the value of the conditional track bit is transferred to all output track
points. If the Conditional Track bit is set in the track input point, the analog value of
all output track points is calculated based on the analog value of the track input
point.
OW360_R1100 303
5.51 GAINBIAS
The high and low limit flags and the tracking signals from the algorithm are output to TOUT, to be
used for display and by an upstream algorithm. If the OUT value is invalid, the quality of OUT is
set to BAD. Otherwise, if the quality propagation (PROQ) option is ON, the quality of OUT is set to
the quality of the input when not in tracking mode. When tracking, the quality is set to the quality
of the track input variable. If the PROQ option is OFF, the quality of OUT is set to GOOD.
Note: If the algorithm generates an invalid track output value, the input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and input values are invalid.
In addition, you may turn off the tracking output calculations. This may be done to support control
logic designs that require fast execution times (such as 20 msec). The TBLK parameter can be
set to OFF, which will disab le the tracking calculations and local memory operations. The default
value for TBLK is ON, which means the algorithm performs the tracking calculations.
Algorithm definitions
304 OW360_R1100
5.51 GAINBIAS
Function
OW360_R1100 305
5.52 GASFLOW
5.52 G ASFLOW
Description
The TPSC and BTSC parameters are used to limit the output value of the algorithm.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the analog tracking
point's third status word. This algorithm takes the following action in response to the information
found in the input signal TRIN:
306 OW360_R1100
5.52 GASFLOW
The high and low limit flags are output to TOUT to be used for display.
The output has the worst quality of the analog inputs specified assigned to the quality of the
output.
Algorithm definitions
OW360_R1100 307
5.52 GASFLOW
308 OW360_R1100
5.52 GASFLOW
OW360_R1100 309
5.52 GASFLOW
310 OW360_R1100
5.52 GASFLOW
OW360_R1100 311
5.52 GASFLOW
Function
IF ((PNEG = NOCHECK) AND (PRES REF < 0)) OR
((PNEG = CHECK) AND (PACT = UNDEFINED))
THEN
P1 = P2 = 1
ELSE
P1 = PACT + ABSPRES
P2 = PRES REF + ABSPRES
IF MASSFLOW THEN
IF (P2 = 0) OR (T1 = 0) THEN
OUTVAL = 0
ELSE
IF DELTAP
OUTVAL = IN1 * (P1/P2) * (T1/T2)
ELSE
OUTVAL = (P1/P2) * (T1/T2)
ELSE
IF (P1 = 0) OR (T2 = 0) THEN
OUTVAL = 0
ELSE
IF DELTAP
OUTVAL = IN1 * (P2/P1) * (T2/T1)
ELSE
OUTVAL = (P2/P1) x (T2/T1)
where:
P1,P2,T1,T2,OUTVAL = local, temporary, real variables
ABSPRES, ABSTEMP = constants from the pressure and temperature conversion tables
built into the algorithm
312 OW360_R1100
5.53 HEARTBEAT
5.53 HE ARTBE AT
Description
The HEARTBEAT algorithm is designed to generate heartbeat signals that can be received by
other drops for use in safety critical applications. The algorithm can also be utilized to monitor up
to five heartbeat signals generated from heartbeat algorithms in other Controllers. If the algorithm
detects that a heartbeat signal being monitored has ceased, it sets the corresponding output to
one. It has a value of zero when it is communicating.
A heartbeat signal is a continuously changing signal that is generated and broadcast from an
Ovation Controller. A heartbeat signal that is continuously changing is an explicit indication that
the Controller generating the heartbeat signal is functioning properly.
Typically, the heartbeat signal allows a control strategy to monitor other heartbeat signals (ones
that are broadcast from other Controller drops) and take appropriate actions if the heartbeat
signals cease. It is common in power generation applications to have the loss of a heartbeat
signal from one or more Controllers generate a Master Fuel Trip (MFT) in the Controller that is
monitoring the heartbeat signals.
Functional symbol
Overview
The value of a heartbeat signal output (HTBT) is a continuously changing analog value. The
HTBT output is updated each loop time to a new number. The actual value of the heartbeat signal
is not important - it is important that the heartbeat signal updates each loop time by the originating
Controller and that the receiving Controller records a different value each loop time.
If any input heartbeat signals are connected to the HEARTBEAT algorithm, they are monitored to
ensure that the value changes on each successive loop. During each execution loop, the value of
each connected input is read and compared to that point's value that was read on the previous
loop. Under normal conditions, these two successive values should be different - that is, the
changing signal is being received from the originating drop(s) successfully. If the value of any of
the input points is unchanging for the user-entered timeout period (TIME1 - 5), the corresponding
trip output OUT1 - 5 is set to true.
OW360_R1100 313
5.53 HEARTBEAT
Note that if the user-entered timeout period is not an exact multiple of the control task period in
which the algorithm is executing, then the algorithm rounds the user-entered value to the next
higher integer multiple of the task period. When this occurs, the resulting actual timeout is the
user-entered timeout plus the control task period. This action ensures that the tuning fields of the
algorithm always reflect the exact timeout period.
Emerson recommends that when the algorithm is used to generate a heartbeat signal, it should
be executed in a 0.1 second control task. When the algorithm is used to monitor other heartbeat
signals, Emerson recommends that it should be executed in a 0.1 second control task.
Also, note that the algorithm ensures that the user-entered timeout cannot be set to a value less
than the time that it takes the Ovation Network to detect a loss of communication on a primary
Controller and to initiate a failover. This time is typically five seconds.
Algorithm definitions
314 OW360_R1100
5.53 HEARTBEAT
Note: Emerson
recommends that
the Heartbeat
output (HTBT)
points be built
with a broadcast
frequency of
100msec instead
of 1 second.
Note: The algorithm sets the parameter to a minimum value required for the Ovation network
subsystem to detect a timeout. You only have the option to extend the timeout value. Also, if the
user-entered timeout is not an integer multiple of the control task period, the algorithm rounds up to
the user-entered value to the next highest integer multiple of the control task period.
OW360_R1100 315
5.54 HIGHLOWMON
5.54 HIGHLOWMON
Description
The HIGHLOWMON algorithm is a high and low signal monitor with reset deadband and
fixed/variable limits. For the HIGHLOWMON algorithm, if the input value (IN1) is greater than the
high set point or less than the low set point, the digital output flag is set TRUE. To reset the flag,
the input must be less than the high set point minus the deadband on the high set point, and
greater than the low set point plus the deadband on the low set point.
Functional symbol
Algorithm definitions
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
Function
316 OW360_R1100
5.55 HIGHMON
5.55 HIGHMON
Description
The HIGHMON algorithm is a high signal monitor with reset deadband and a fixed/variable limit.
With the HIGHMON algorithm, if the input value (IN1) exceeds the fixed set point value, the digital
flag is set TRUE. To clear the flag, IN1 must be less than the set point value minus the deadband.
The value of IN1 is checked for invalid real numbers. If IN1 is invalid, OUT retains its last valid
value, and the quality of OUT is set to BAD. The quality of IN1 is not propagated.
Functional Symbol
Algorithm definitions
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder
may default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
OW360_R1100 317
5.55 HIGHMON
Function
In the Function above, if neither condition is satisfied, the value of the output is maintained from
the previous value. See below:
For the first loop, if IN1 = 51, HISP = 50, HIDB = 5, then the function would look like this:
IF 51 > 50
THEN OUT = TRUE
ELSE
IF 51 < (50 - 5)
THEN OUT = FALSE
For the first loop, OUT = TRUE
For the second loop, if IN1 = 48, HISP = 50, HIDB = 5, then the function would look like this:
IF 48 > 50
THEN OUT = TRUE
ELSE
IF 48 < (50 - 5)
THEN OUT = FALSE
For the second loop, neither condition is met. Therefore, the value of the output is maintained
from the previous value so OUT = TRUE.
For the third loop, if IN1 = 42, HISP = 50, HIDB = 5, then the function would look like this:
IF 42 > 50
THEN OUT = TRUE
ELSE
IF 42 < (50 - 5)
THEN OUT = FALSE
For the third loop, OUT = FALSE
318 OW360_R1100
5.56 HISELECT
5.56 HISELECT
Description
The HISELECT algorithm performs a gain and bias on four inputs. The output is equal to the
greater of the four values, according to the quality (QUAL) parameter.
The quality (QUAL) parameter contains three options that enable you to select the value and type
of quality that the output point receives.
The WORSE option selects the greater value for an output point, independent of the qualities of
the input points. The output point is assigned the worst quality of the input points.
The SELECTED option also selects the greater value, independent of the qualities of the input
points. The output point is assigned the value and quality of the selected input point. However, if
any of the gained and biased values are equal, the better quality is assigned to the output point.
The NOTBAD option selects the greater gained and biased input value, providing the qualities of
both inputs are not BAD. The quality of the output is set equal to the quality of the input selected
or to the better quality of the two inputs if the gained and biased input values are equal. If one
input has BAD quality, the gained and bias input value and the quality of the input with the not
BAD quality are assigned to the output. The output is equal to the greater gained and biased input
value and contains BAD quality if both input qualities are BAD.
Note: If the algorithm calculates an invalid output value by using one of the gained and biased
inputs, the value of the other three points is used for the output. In addition, for the NOTBAD
option, if the quality of four input points is BAD, and only one of the inputs is a valid value, the
algorithm selects the valid gained and biased input for the output, and sets the quality of the
output point to BAD.
If the calculated track output is invalid, then the IN2 output is equal to the IN1 input, and the
cascade track output is equal to the IN1 input, if the inputs are valid. If the calculated track
output and the input values are invalid, then the IN1 and IN1 track outputs are not updated.
Functional symbol
OW360_R1100 319
5.56 HISELECT
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog tracking point. This algorithm takes the following action in response to the
information found in the analog input signal TRIN:
** Only when the Track signal is not present; the signals are set according to the definitions given
in Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is ignored. Otherwise, the
value of the conditional track bit is transferred to all output track points. If the Conditional Track bit
is set in the track input point, the analog value of all output track points is calculated based on the
analog value of the track input point.
320 OW360_R1100
5.56 HISELECT
The high and low limit flags, and the tracking signals from the algorithm are output to TRK3 and
TRK4, to be used for display and by upstream algorithms. If the output value is invalid, the quality
of OUT is set to BAD. Otherwise, the quality of OUT is set according to the quality (QUAL)
parameter. When tracking, the quality is set to the quality of the track input variable.
Algorithm definitions
OW360_R1100 321
5.56 HISELECT
322 OW360_R1100
5.56 HISELECT
Function
OW360_R1100 323
5.57 HSCLTP
5.57 HSCLTP
Description
HSCLTP calculates Enthalpy (H) and Entropy (S) of Compressed Liquid given its Temperature
and Pressure. It is one of the functions of the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
324 OW360_R1100
5.58 HSLT
5.58 HSLT
Description
HSLT calculates Enthalpy (H) of Saturated Liquid given its Temperature. It is one of the functions
of the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
OW360_R1100 325
5.59 HSTVSVP
5.59 HSTVSVP
Description
HSTVSVP calculates Enthalpy (H), Entropy (S), Temperature, and Specific Volume of Saturated
Vapor given its Pressure. It is one of the functions of the STEAMTABLE algorithm (see page
594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
326 OW360_R1100
5.60 HSVSSTP
5.60 HSVSSTP
Description
HSVSSTP calculates Enthalpy (H), Entropy (S), and Specific Volume of Superheated Steam
given its Temperature and Pressure. It is one of the functions of the STEAMTABLE algorithm (see
page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
OW360_R1100 327
5.61 INTERP
5.61 INTERP
Description
The INTERP algorithm provides a linear table-lookup and interpolation function. The algorithm
provides a lookup table for the value of a dependent variable (Y) based on the value of an
independent variable (X). The actual value X (XIN) is input to the algorithm along with up to ten
reference Y values (Y1...Y10) and their corresponding X values (X1...X10).
If the value of the XIN is not identically equal to any of the X1...X10 inputs, then resulting value of
YOUT is calculated by linear interpolation between the closest two values that the input XIN falls
between (that is, Xn + Xn+1). The formula to calculate YOUT is given as follows:
The value of YOUT is limited by the user-defined high and low limit values. Refer to the
accompanying figure that illustrates the interpolation procedure.
Functional symbol
Quality
The algorithm propagates the worst quality between the XIN input and the associated Y inputs
used to determine the value of YOUT. If the output is an exact Y input, then the YOUT quality is
the worst quality of the XIN input and that particular Y input.
User Configuration
The values of X1...X10 MUST be monotonically increasing (that is, Xn+1 > Xn). If the value of the
XIN is found to fall between X1...X10, then the VALID output is set to logic one. If the
monotonicity of the X1 - X10 is not monotonically increasing, then the algorithm may yield
unpredictable results. If the algorithm can determine that the table is not monotonically increasing,
then YOUT is set equal to Y10 and the VALID output is set to logic 0.
If the value of XIN > X10, then YOUT is set equal to Y10. If XIN < X1, then YOUT is set equal to
Y1. In both of these cases, the VALID output is set to logic zero. If the algorithm calculates an
invalid number, then YOUT is set to the last GOOD value and the quality is set to BAD.
If the YOUT is calculated by interpolating between Yn and Yn+1, then the quality of YOUT is the
worst quality of the XIN, Yn and Yn+1 inputs.
328 OW360_R1100
5.61 INTERP
Interpolation Illustration
Algorithm definitions
OW360_R1100 329
5.61 INTERP
330 OW360_R1100
5.61 INTERP
OW360_R1100 331
5.62 KEYBOARD
The KEYBOARD (Key Interface) algorithm interfaces the following control keys (P1 - P8,
Start/Open, Stop/Close, AUTO, MAN, SPUP, SPDN, INC, and DEC) to the Controller in the most
basic form. The output of each key is available for use once the algorithm is activated via a
control select command.
The KEYBOARD algorithm interfaces the Operator Station programmable keys (P1 through P10)
to the Controller in the most basic form. The output of each programmable key is available for use
once the algorithm is activated via a control select key. When using this algorithm, none of the ten
Control keys may be used for the activated control select number.
For the INC, DEC, SPDN, and SPUP keys, the output maintains a TRUE signal for as long as the
key is pressed. For all other keys, the output of this algorithm is a pulse (TRUE signal) of variable
length. The pulse length is determined by the LENGTH (LENG) parameter, which specifies the
pulse length in loops. If LENGTH is equal to 0 or 1, the pulse is 1 loop long. The LENGTH
parameter may specify a pulse length up to 255 loops.
Note: P9 and P10 keys are the same as Open and Close keys.
Functional symbol
332 OW360_R1100
5.62 KEYBOARD
Algorithm definitions
OW360_R1100 333
5.62 KEYBOARD
334 OW360_R1100
5.63 LATCHQUAL
5.63 LATCHQUAL
Description
The LATCHQUAL algorithm latches and unlatches the quality of an input analog or digital point.
The algorithm sets or clears the “Latched Quality” bit of the IN1 point, depending on SET and
RSET points. Bit 14 of the 2W (second status word) of the analog point or bit 11 of the 2W
(second status word) of the digital point is the “Latched Quality” bit for the point.
Functional symbol
If RSET is TRUE and the latched quality bit of IN1 is set, the Latched Quality bit is cleared.
If RSET is FALSE and SET is TRUE, then depending on the value of QUAL, the IN1 point sets its
Latched Quality bit and quality as follows:
If QUAL = 0 and Latched Quality of IN1 is not set, then Latched quality bit is set at its current
state.
If QUAL = 1 and Latched Quality of IN1 is not set or the Quality of IN1 is not GOOD, then the
Quality is set (latched) to GOOD.
If QUAL = 2 and Latched Quality of IN1 is not set or the Quality of IN1 is not FAIR, then the
Quality is set (latched) to FAIR.
If QUAL = 3 and Latched Quality of IN1 is not set or the Quality of IN1 is not POOR, then the
Quality is set (latched) to POOR.
If QUAL is greater than or equal to 4 and Latched Quality of IN1 is not set or the Quality of
IN1 is not BAD, then the Quality is set (latched) to BAD.
RSET overrides SET. If both are TRUE, then the Latched Quality bit of IN1 is cleared.
Note: IN1 can be a digital or analog point, with the minimum point record being LD or LA. If a
smaller point record is used, then no action is taken.
OW360_R1100 335
5.63 LATCHQUAL
Algorithm definitions
336 OW360_R1100
5.64 LEADLAG
5.64 LE ADLAG
Description
LEADLAG is a nonlinear lead/lag function. The output value is a function of the old output, old
input, new input, gain, lead and lag time constants. In steady state, OUT = IN1 x GAIN (except
when limited). The output achieves 98 percent of the expected steady-state output value in five
time constants.
The algorithm can be configured to be a pure lead function. The output value is a function of the
old output, old input, new input, gain and lead time constants. The output achieves 98% of the
expected steady-state output value in five time constants.
Note: If the algorithm receives an invalid value as an input, or calculates an invalid value as the
output, the drop is placed into alarm.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog track point. This algorithm takes the following action in response to the information
found in the analog input signal TRIN:
Tracking signals
OW360_R1100 337
5.64 LEADLAG
The high and low limit flags and the tracking signals from the algorithm are output to TOUT, to be
used for display and by an upstream algorithm. If the output value is invalid, the quality of OUT is
set to BAD. Otherwise, the quality of OUT is set to the quality of the input when it is not in tracking
mode. When tracking, the quality is set to the quality of the track input variable.
Note: If the algorithm generates an invalid track output value, the IN1 input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and IN1 input values are invalid.
Algorithm definitions
338 OW360_R1100
5.64 LEADLAG
Note: This is
approximately 1/5
of the total time to
settle. For
example, for a 1
minute total, set
LAG to 12
seconds.
OW360_R1100 339
5.64 LEADLAG
Function
LEADLAG:
where:
LEAD-ONLY
where:
340 OW360_R1100
5.65 LEVELCOMP
5.65 LEVELCOMP
Description
The LEVELCOMP algorithm calculates the density compensated water level in a pressurized
steam drum. This compensation assumes a differential pressure transmitter is inputting the raw
level signal. One leg of the transmitter is connected to a condensate reservoir which establishes
the transmitter's maximum water level. The other side of the transmitter is connected to the point
which defines the minimum transmitter water level. The distance between these taps is the
transmitter range “D”. See the following figure for details of the assumed piping configuration.
OW360_R1100 341
5.65 LEVELCOMP
The steam and water inside the drum are at saturation conditions. The water in the condensated
reservoir is pressurized water. The LEVELCOMP algorithm uses the specific volume of the steam
in the drum (µs), the specific volume of the water in the drum (µw) and the specific volume of the
water in the reference leg(µr), and the specific volume of the water at calibration conditions (µcal)
to compute the compensated level. The LEVELCOMP algorithm does the steamtable calculations
to obtain values for µs, µw, and µr based on input points pressure and temperature. The
derivation of µr requires an estimation of the average temperature in the condensate reference
column. The temperature can be a variable point or entered as a tuning constant. The calibration
fluid specific volume (µcal) is an estimated value entered as a tuning constant.
The raw drum level input normally varies from a negative value for minimum level to a positive
value at a maximum to +20 inwc at a maximum with 0 inwc being normal water level. The
minimum (MIN) and maximum (MAX) values are not used in the compensation calculation. The
algorithm output has the same range as the input.
342 OW360_R1100
5.65 LEVELCOMP
If the output value is invalid, the quality of the OUT is set to BAD. If the pressure (PRES) or
temperature (TEMP) value is out of range for the compressed liquid, saturated liquid or saturated
vapor regions, the quality of OUT is set to BAD. Otherwise, the quality of OUT is set to the worst
quality of the inputs.
Functional symbol
Algorithm definitions
OW360_R1100 343
5.65 LEVELCOMP
Function
344 OW360_R1100
5.66 LOG
5.66 LOG
Description
The LOG algorithm performs the mathematical logarithmic function. For the LOG algorithm, the
output equals the base 10 logarithm of the input value plus a bias. If the input value is less than or
equal to zero, the output is set to a large negative number (-3.4 x 1038). The value of IN1 is
checked for invalid real numbers. If IN1 is valid, the quality of IN1 is propagated to the quality of
OUT and the real number value of OUT is written to the point record. If the value of IN1 is invalid
or if the calculated value of OUT written to the point record is invalid, the quality of OUT is set to
BAD.
Functional symbol
Algorithm definitions
Function
OW360_R1100 345
5.67 LONGACC
Description
The LONGACC algorithm integrates the input data in internal double precision floating point
format from the IN pin and sends the current value to the ACC output pin. The internal integration
is performed in double precision accumulator, but the results are shown through the standard (LA)
analog point (float number), so that the required horizon float number does not reach the
maximum allowed value (in OVATION that limit is set to +/- 1e+37). This value cannot be
changed. You can enable or disable the accumulation of the integrated input data in respective
directions by using EUPC and EDNC inputs, respectively.
The ACC output is set to the Set Value (SV) when the Set Command (SC) is TRUE.
The ACC output is set to the Increment Value (IV) when the Increment Command (IC) is
TRUE.
The error status of the LONGACC algorithm is calculated online. Pins IN and ACC are required
for generating the online error status, the rest of the pins are optional.
Functional symbol
REQUIRED /
INPUT / OUTPUT NAME POINT TYPE DESCRIPTION
OPTIONAL
Input
SV LA Optional Set value
(Selectable)
346 OW360_R1100
5.67 LONGACC
REQUIRED /
INPUT / OUTPUT NAME POINT TYPE DESCRIPTION
OPTIONAL
Input
SC LD Optional Set command
(Selectable)
Input
IV LA Optional Increment value
(Selectable)
Input
IC LD Optional Increment command
(Selectable)
Output ACC LA Required Accumulated value
Output STAT LP Optional Algorithm status value
The following table describes the LONGACC input and output parameters.
ACCt ACCt 1 IN R1
When the TCORR is ON, then the LONGACC algorithm measures the
control task area time and the calculated outputs due to the following OFF
TCORR equation:
ON
MeasuredCntrlAreaTIME[in _ ms]
ACCt ACCt 1 IN R1
1000[in _ ms]
This mode allows you to sum the physical values, for example, liquid
flow (in that case, represents the flow in lb/s). If you set IN and
R1 to 1, then the LONGACC algorithm sums time in seconds.
Enables the accumulation up option. The LONGACC algorithm checks
this option when IN*R1>0 and EUPC are not connected. It is applied only OFF
EUP
to the IN input. This option does not impact, on set and increment ON
operation.
Enables the accumulation down option. The LONGACC algorithm
checks this option when IN*R1<0 and ENDC are not connected. It is OFF
EDN
applied only to the IN input. This option does not impact, on set and ON
increment operation.
Reconcile option allows you to reconcile the current value of ACC to
control sheet and database. This functionality is used before shutting OFF
RECOP
down both controllers. After the controllers' restart, the last reconciled ON
value is used as the initial value.
OW360_R1100 347
5.67 LONGACC
tempValue = output;
output = output + incrementValue;
ASUM 1E-06
diff = output – tempValue;
IF (abs(diff) >= incrementValue) THEN error
If the LONGACC algorithm detects ERROR, then the output quality is set
to BAD quality. The quality (see page 352) stays in BAD state until reset.
Accuracy of summation is used for increment or decrement operation.
Note: All parameters except RECOP, QRECOP, and INITP are tunable. You can set their value in the
Control Builder and Signal Diagram after loading the controller.
The LONGACC algorithm is designed for redundant operations, therefore it maintains the
previous ACC value during failover of controllers.
However, when the last control is cleared or fails and the backup controller is not operational,
then the LONGACC algorithm cannot calculate the previous ACC value. For such cases, the
LONGACC algorithm automatically resets the ACC to 0 and assigns Poor Quality to the ACC
output. After that the LONGACC algorithm starts accumulation from 0. The quality stays in POOR
state until reset (see page 352).
The LONGACC algorithm implements the mechanism that allows to initialize the accumulator
value from the flash memory RECOP or from the database INITP (after power failure).
Note: This mechanism is implemented as an option, similar to the RUNTIME (see page 516)
algorithm.
348 OW360_R1100
5.67 LONGACC
Mechanisms:
When the LONGACC algorithm accumulator value is initialized through the flash memory,
then the quality of the ACC pin is set to the quality of the point saved in the memory (INITP).
When the LONGACC algorithm accumulator value is initialized through the database then,
the quality of the ACC pin is set to the quality defined by the QRECOP parameter.
Functionalities of INITP and RECOP parameters:
For the INITP parameter you need to create an analog point (Frequency A) with an option to
have a periodic save and use this point as the LONGACC output.
For the RECOP parameter you need to reconcile before rebooting both the controllers.
When both the parameters are ON, the LONGACC algorithm executes firstly the RECOP
parameter and then the INITP parameter. Therefore, if you want to to use the RECOP
parameter, then you need to turn off the INITP parameter.
5.67.1 Operations
Setup operation
Sets (initiates) the ACC to the user value. To execute this option, perform one of the following two
methods:
Process (by input pins)
The SV (analog value) and the SC (digital value) setup commands are used. Both the setup
commands are optional.
Notes:
When SV is at BAD quality and is required to avoid the process initiated setup, the BAD
quality logic must be designed to deactivate the SC pin signal.
The output ACC quality is set to BAD when, the SV value is NaN or INF or when the value is
close to the top and bottom limits.
Value 1 is written to the G2 register, to initiate the output (ACC) to the value stored in R2.
The value in G2 is automatically set to 0, by the LONGACC algorithm during initialization.
The value in R2 remains unchanged after operation is completed. The default value for
R2 is 0.
Note: The output ACC quality is set to BAD when, the SV value is NaN or INF or when the
value is close to the top and bottom limits.
OW360_R1100 349
5.67 LONGACC
Increment operation
Increments the ACC by the user value. To execute this option use one of the following two
methods:
Increment by pins
The IV (analog value) and IC (digital value) increment commands are used. Both the increment
commands are optional.
Notes:
To avoid using the process initiated setup when IV is at BAD quality, design the BAD quality
logic to deactivate the IC pin signal.
The output ACC increment quality is set to BAD when, the IV value is NaN or INF.
When decrementing the algorithm provides negative value on the IV input.
Increment by LC registers
The operator initiated increment operation uses the value stored in R3 as the analog value.
The value in R3 remains unchanged after operation is completed. The default value for R3 is 0.
Notes:
The output ACC increment quality is set to BAD when, the IV value is NaN or INF.
When decrementing the algorithm provides negative value on the IV input or store the
negative value in R3.
The LONGACC algorithm compares the ACC output to the internal algorithm limits that are set to
1e+37 and -1e+37, respectively.
When the ACC output reaches the 1e+37 or -1e+37 limit, then the LONGACC algorithm maintains
the ACC output on the limit and sets the ACC output quality to BAD. The quality stays in a BAD
state until reset (see page 352). Field B2 is used to inform the user about the internal status of the
LONGACC algorithm's STAT pin.
350 OW360_R1100
5.67 LONGACC
The STAT output pin reports the internal information (errors) about the LONGACC algorithm.
When any of the bits are active then the quality of the output is set to BAD.
The following table describes the status bits utilized in the algorithm:
Notes:
The STAT pin keeps the information until you reset the quality (see page 352).
The STAT pin loses information when both the controllers are rebooted at the same time.
OW360_R1100 351
5.67 LONGACC
Note: The LONGACC algorithm does not evaluate the quality of IN, SV, and the IV inputs and
continues the calculations even if the inputs are BAD. There is only one exception, the input
value is ignored when the IN*GAIN value equals NaN or INF.
The LONGACC algorithm input value is not calculated, when the input value equals NaN or
INF.
When the SV value equals NaN or INF and SC is active, then the output value is set to the
last value having the BAD quality.
When the IN*Gain value equals NaN or INF, then the output value is set to the last value
having the BAD quality.
When the IV value equals NaN or INF and IC is active, then the increment operation (see
page 349) is executed and the LONGACC algorithm continues the IN value summation (only
when, IN is valid).
When the input returns to the correct value, then the LONGACC algorithm starts summation, but
the output quality stays in BAD state, until reset.
The LONGACC algorithm sets the output to BAD quality during the following scenarios:
Output was BAD and quality was not reset.
SV value is NaN or INF and SC is active.
IN value is NaN or INF.
Gain value is NaN or INF.
IV value is NaN or INF and IC is active.
Output is limited to +/- 1e37 in any operation modes (see page 349).
The LONGACC algorithm detects the error due to ASUM parameter for normal summing (IN
value),
The LONGACC algorithm detects the error due to ASUM parameter for increment operation
(IV value),
Output is invalid.
The BAD quality stays unit you reset the LONGACC algorithm. You can reset the quality in one of
the following three ways:
Initiate ACC to the initial value (either through process or operator initialization).
Increment the ACC as per the last recorded value (for example, the last good recorded value
in the Historian). This is done by the operator through the graphic. IV and IC input pins do not
record values.
Manually reset the ACC quality pin by writing 1 to G0. The value in G0 is automatically set to
0 by the LONGACC algorithm, when the output quality updates to GOOD.
Note: The ACC output value does not change after being manually reset.
The LONGACC algorithm output quality is set to GOOD, when one of the above three methods
are followed.
352 OW360_R1100
5.67 LONGACC
The value of ACC is stored in R4, the SID of the STAT value is stored in C8, the SID of the ACC
value is stored in C7.
The SIDs of IN, EUP, EDN, SV, SC, IV, and IC inputs are stored in C0, C1, C2, C3, C4, C5, and
C6, respectively.
These SIDs are read as the LONGACC algorithm record to the graphic variables of the
SYSID type.
These SIDs are used as points in the graphical interface, instead of specifying the explicit
point names.
Algorithm definitions
LC MIN.
ALGORITHM REQUIRED/ DEFAULT PT.
NAME RECORD TYPE OPTIONAL VALUE DESCRIPTION REC.
FIELD
OW360_R1100 353
5.67 LONGACC
LC MIN.
ALGORITHM REQUIRED/ DEFAULT PT.
NAME RECORD TYPE OPTIONAL VALUE DESCRIPTION REC.
FIELD
354 OW360_R1100
5.67 LONGACC
LC MIN.
ALGORITHM REQUIRED/ DEFAULT PT.
NAME RECORD TYPE OPTIONAL VALUE DESCRIPTION REC.
FIELD
Note: Internal algorithm registers do not exist in the template and are not reconciled.
OW360_R1100 355
5.67 LONGACC
LC MIN.
ALGORITHM REQUIRED/ DEFAULT PT.
NAME RECORD TYPE OPTIONAL VALUE DESCRIPTION REC.
FIELD
356 OW360_R1100
5.68 LOSELECT
5.68 LOSELECT
Description
The LOSELECT algorithm performs a gain and bias on the four inputs. The output is equal to the
smallest of the four values, according to the quality (QUAL) parameter.
The quality (QUAL) parameter contains three options that enable you to select the value and type
of quality that the output point receives.
The WORSE option selects the lower value for an output point, independent of the qualities of
the input points. The output point is assigned the worst quality of the input points.
The SELECTED option also selects the lowest value, independent of the qualities of the input
points. The output point is assigned the value and quality of the selected input point. However, if
any of the gained and biased values are equal, the best quality is assigned to the output point.
The NOTBAD option selects the lowest gained and biased input value, providing the qualities of
both inputs are not BAD. The quality of the output is set equal to the quality of the input selected
or to the better quality of the two inputs if the gained and biased input values are equal. If one
input has BAD quality, the gained and bias input value and the quality of the input with the not
BAD quality are assigned to the output. The output is equal to the lowest gained and biased input
value and contains BAD quality if both input qualities are BAD.
Note: If the algorithm calculates an invalid output value by using one of the gained and biased
inputs, the value of the other point is used for the output.
If the calculated track output is invalid, then the IN2 track output is equal to the IN2 input, and
the IN1 track output is equal to the IN1 input, if the inputs are valid. If the calculated track
outputs and the input values are invalid, then the IN2 and IN1 track outputs are not updated.
Functional symbol
OW360_R1100 357
5.68 LOSELECT
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status of
the analog tracking point. This algorithm takes the following action in response to the information
found in the analog input signal TRIN:
18 Track if higher Passed through or set TRUE Passed through or set TRUE
when IN1 input is not selected when IN2 input is not selected
and IN1 gain is >0*. and IN2 gain is >0*.
** Only when the Track signal is not present; the signals are set according to the definitions
given in Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is ignored. Otherwise,
the value of the conditional track bit is transferred to all output track points. If the Conditional Track bit
is set in the track input point, the analog value of all output track points is calculated based on the
analog value of the track input point.
358 OW360_R1100
5.68 LOSELECT
The high and low limit flags, and the tracking signals from the algorithm are output to TRK2,
TRK3, and TRK4, to be used for display and by upstream algorithms. If the output value is invalid,
the quality of OUT is set to BAD. Otherwise, the quality of OUT is set according to the QUALITY
(QUAL) parameter. When tracking, the quality is set to the quality of the track input variable.
Algorithm definitions
OW360_R1100 359
5.68 LOSELECT
360 OW360_R1100
5.68 LOSELECT
Function
IN1GB = (IN1 x IN1 GAIN) + IN1BIAS
IN2GB = (IN2 x IN2 GAIN) + IN2 BIAS
IN3GB = (IN3 x IN3 GAIN) + IN3BAS
IN4GB = (IN4 x IN4 GAIN) + IN4BAS
IF IN2GB <= IN1GB THEN
OUT = IN2GB
ELSE
OUT = IN1GB
If IN3G <= OUTPUT
OUT = IN3G
If IN4G <= OUTPUT
OUT = IN4G
IF OUT >= TPSC THEN
OUT = TPSC
ELSE
IF OUT <= BTSC THEN
OUT = BTSC
OW360_R1100 361
5.69 LOWMON
5.69 LOWMON
Description
The LOWMON algorithm is a low signal monitor with reset deadband and a fixed variable limit.
For the LOWMON (Low signal monitor, reset deadband) algorithm, if the input value (IN1) goes
below the fixed set point value (LOSP), the digital output is set TRUE. To clear the output, IN1
must be greater than the set point value plus the deadband. The value of IN1 is checked for
invalid real numbers. If IN1 is invalid, OUT retains its last valid value, and the quality of OUT is set
to BAD. The quality of IN1 is not propagated.
Functional symbol
Algorithm definitions
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder
may default the parameter to a value and mark it as "Optional." However, for the control function to
be executed properly, you must enter a value for the parameter.
Function
362 OW360_R1100
5.70 MAMODE
5.70 MAMODE
Description
MAMODE is used in conjunction with a MASTATION algorithm. This algorithm is used to send the
priorities (raise/lower), inhibits (raise/lower), reject (manual/auto), track bit and Slew Bias
commands to the MASTATION. If Bias is TRUE, then MASTATION can raise/lower the Bias
value. If Bias is FALSE, the Bias value is slewed to zero and the Bias value is not allowed to be
raised or lowered.
The output TRK, AUTO, MAN and LOC points are set TRUE based on the MASTATION's track
point connected to the algorithm.
Functional symbol
Bits In Mode:
Bits description
BIT DESCRIPTION
OW360_R1100 363
5.70 MAMODE
BIT DESCRIPTION
Note: If a mode word is provided, its contents are decoded and shown in the Control Builder in
the bottom status bar along with the track words. Refer Ovation Control Builder User Guide for
more information.
Algorithm definitions
364 OW360_R1100
5.70 MAMODE
OW360_R1100 365
5.71 MASTATION
5.71 MASTATION
Description
MASTATION algorithm interfaces a CRT-based soft manual/auto station and an optional Ovation
Loop Interface module card with the functional processor.
You select one of the following interfaces with the TYPE Algorithm Field:
SOFT - Soft manual/auto station only
RLI - Ovation Loop Interface module
RVP - Ovation Valve Position module
Functional symbol
If an Ovation Loop Interface Module is set in TYPE and the Controller is reset, powered-up or
fails, the output is read from the Ovation Loop Interface module card and used initially in the OUT
field of the algorithm. This reports the status of the field device before any action is taken by either
the algorithm or the operator.
Note: The TPSC and BTSC parameters are used to limit the output value of the algorithm.
These values must always be 100% and 0%, respectively when a SLIM interfaces to an
Ovation Loop Interface module card.
Auto Mode
The output equals the gained and biased input plus the bias bar value
(OUT = (IN1 x IN1 GAIN) + IN1 BIAS + BIAS BAR) except:
When the algorithm is told to track, the output equals the track input when the tracking signal
is present. The output ramps from the track input back to the gained and biased input when
the tracking signal is removed.
When a raise inhibit or lower inhibit signal is present, it may prevent the output from following
the input.
366 OW360_R1100
5.71 MASTATION
The bias bar value is output as an analog value and may be raised or lowered by the
Increase/Decrease set point keys (arrow up/arrow down) on the Operator's Keyboard. This value
is only added to the output value in Auto mode; it has no effect on the output (but still may be
raised or lowered) in Manual or Local mode.
If an Ovation Loop Interface module is selected, the output value is written to the card.
The Increase/Decrease Output keys on the Operator's Keyboard have no effect in this mode.
Manual Mode
The output is raised or lowered by using the Increase/Decrease Output requests. The raise inhibit
and lower inhibit signals override the Operator's Keyboard Increase/Decrease Output requests.
The tracking signal causes the output to equal the track input, regardless of the raise/lower inhibit
signals and the Increase/Decrease Output key requests. The bias bar value has no effect on the
output, but still may be raised and lowered.
If an LI interface is selected, the output value is written to the card. The output value may also be
raised or lowered from the Loop Interface Module (SLIM) in this mode.
Local Mode
This mode is only available if an LI Module, type interface has been selected. The
Increase/Decrease commands from the SLIM directly control the LI card, which is in Local mode.
The algorithm either reads the demand counter on the LI, and causes its output to track the card's
value. In this tracking mode, all directional commands inside the functional processor (for
example, Variable Input, Raise Inhibit and Lower Inhibit) and directional commands from the
Operator's/Alarm Console (for example, Increase, Decrease) have no effect on the algorithm.
Mode Transfers
The algorithm transfers between the Auto, Manual, and Local modes as follows:
The digital reject signal from the MAMODE Algorithm rejects the algorithm from Auto to
Manual mode.
The Auto Request and Manual Request signals from the AUTO and MAN mode request keys
on the Operator's Keyboard switch the algorithm to the desired mode if it is not in Local mode.
If the LI is selected, the SLIM can switch the algorithm between Auto, Manual, and Local
modes.
If the LI is selected, and if there are hardware errors, the algorithm rejects to Local mode. If
the card determines that there is a SLIM communications error while it is in Local mode, it
rejects the card to Manual mode. The algorithm also goes to Manual mode.
If the Quality Reject (REJQ) feature is OFF, then the quality check is not performed on the
input when in Auto mode. If the algorithm is in Auto mode and the quality of the input goes
BAD or not GOOD depending on the Quality Reject flag, then the algorithm rejects the card to
Manual mode.
Regardless of the REJQ parameter, the input value (IN1) is checked for an invalid value when
the algorithm is in Auto mode. If the algorithm is in Auto mode and the value of the input
becomes invalid, the algorithm rejects the card to Manual mode. If the algorithm is not in Auto
mode and the operator tries to select Auto mode when the input value is invalid, the algorithm
remains in the same mode and does not reject the card to Manual mode.
OW360_R1100 367
5.71 MASTATION
The track input value is also be checked for invalid real numbers when the algorithm is being
told to track. While in Auto mode, if the algorithm is told to track and the track input value is
invalid, the algorithm rejects the card to Manual mode. In all modes, the track request is
ignored when the track input value is invalid.
On reset/power-up, the algorithm is in Local mode if a LI interface is selected. If a soft
interface is selected, then the algorithm goes to the mode initialized by the First pass mode
(FP) parameter.
On reset/power-up of the LI card, if LI interface is selected and RLI priority (PRLI) is YES,
then the algorithm is set to local mode and the output value is zero. If the LI interface is
selected and RLI priority (PRLI) is NO, then the algorithm changes the RLI card mode from
local to the last mode before the card is powered down. The LI analog output value is
initialized to the last output value before the card was powered off.
The interface keys of the Operator's Keyboard are:
Keys
KEY USE
Set Point Increase Function Key Raise the bias bar (up arrow)
Set Point Decrease Function Key Lower the bias bar (down arrow)
The MRE point becomes true for the amount of time specified in the MRET parameter. The
algorithm sets the point true anytime the algorithm goes to manual (unless specified by operator
request).
368 OW360_R1100
5.71 MASTATION
Priority Raise/Lower
The Priority Raise/Lower functionality (PRAR, PRAT, PLWR, PLWT parameters) is available
when the MODE input pin is connected to output of MAMODE algorithm.
If bit 0 (Priority Lower) in MODE pin is active, the MASTATON output is decreased with the rate
defined by the PLWR (Priority Lower Rate) parameter. In that case, the output is going to the
value defined by the PLWT (Priority Lower Target) parameter. If the PLWT value is lower than the
BTSC limit, the MASTATION output stops on the BTSC limit.
If bit 1 (Priority Raise) in MODE pin is active, the MASTATON output is increased with the rate
defined by the PRAR (Priority Raise Rate) parameter. In that case, the output is going to the
value defined by the PRAT (Priority Raise Target) parameter. If the PRAT value is lower than the
TPSC limit, the MASTATION output stops on the TPSC limit.
If both bits (Priority Lower and Priority Raise) are active at the same time, the MASTATION will
ignore these commands.
Operational symbol
The following symbol illustrates the operation of MASTATION via a SAMA representation.
OW360_R1100 369
5.71 MASTATION
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog track point. This algorithm takes the action shown in the following table in response
to the information found in the analog input signal TRIN.
** Only when the Track signal is not present; the signals are set according to the definitions given
in Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is ignored. Otherwise, the
value of the conditional track bit is transferred to all output track points. If the Conditional Track
bit is set in the track input point, the analog value of all output track points is calculated based on
the analog value of the track input point.
Note: If a mode word is provided, its contents are decoded and shown in the Control Builder in
the bottom status bar along with the track words. See Ovation Control Builder User Guide for
more information.
370 OW360_R1100
5.71 MASTATION
The high and low limit flags, the mode and the tracking signals from the algorithm are output to
TOUT, to be used for display and by an upstream algorithm. The configuration of the use of this
algorithm must be specified by the user for correct implementation of the tracking features. If the
upstream algorithm is BALANCER, then the configuration must indicate that this algorithm is
being used with the BALANCER algorithm. Otherwise, the configuration is specified as NORMAL.
If a BAD hardware status error caused the algorithm to reject to Local, the quality remains BAD
on the output and the algorithm remains in Local mode until the error is cleared. If a write error
caused the algorithm to reject to Local, the quality becomes GOOD on the output and the
algorithm remains in Local mode until Local mode is exited via the SLIM.
If there are no hardware errors, the quality of OUT is set to the quality of the track input variable
when tracking. Otherwise, the quality of OUT is GOOD when in Manual mode or set to the quality
of the input when in Auto mode.
If the algorithm calculates an invalid real number for the output in Auto mode, the quality of OUT
is set to BAD and the drop is placed into alarm.
Note: If the algorithm generates an invalid track output value, the IN1 input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and IN1 input values are invalid.
The TPSC and BTSC parameters are used to limit the output value of the algorithm. These values
must always be 100% and 0%, respectively, when interfacing to an LI card which is connected to
a SLIM.
Any output raise or lower request, from the Operator Station is sent directly to the LI configured as
an electric drive card type when it is in Failed Local mode. The LI outputs any SLIM raise or lower
requests for the output, then outputs any controller raise or lower requests for the output to the
digital raise or lower outputs.
When the position feedback signal of an LI configured as an electric drive card type fails, the LI
goes to Failed Local mode and the value of output point is the feedback signal from the drive. The
output bar SLIM display flashes between 0 and 100% to indicate the Failed Local mode.
The options to have runbacks and/or interface to an electric drive on the LI card must be
configured through the I/O Builder.
CAUTION! When using the MASTATION algorithm with a BALANCER algorithm, follow these
guidelines:
2. For all MASTATIONS that immediately follow BALANCER, set MASTATIONS CNFG
parameter to BALANCER.
OW360_R1100 371
5.71 MASTATION
Algorithm definitions
372 OW360_R1100
5.71 MASTATION
OW360_R1100 373
5.71 MASTATION
374 OW360_R1100
5.71 MASTATION
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
OW360_R1100 375
5.72 MASTERSEQ
5.72 MASTERSEQ
Description
The algorithm monitors the device that corresponds to each step via a packed group point. This
packed group point is termed the status point. There is a unique status point for each device. The
status point serves as both input and output for the MASTERSEQ and DEVICESEQ algorithms
according to the bit definitions in the accompanying table. A device is considered “on” or “running”
when bit zero, in its associated packed group status point, is equal to logic 1. Likewise, a device is
considered “off” or “stopped” when bit zero is equal to logic zero.
Functional symbol
376 OW360_R1100
5.72 MASTERSEQ
User Configuration
The attached devices are numbered sequentially from 1-30 and the associated default status
points are named DV01-DV30 respectively. These 30 devices can be sequenced in any
user-defined order. The 30 integer fields in the algorithm template (ST01-ST30) correspond to the
30 possible steps. The steps are numbered sequentially. In order to associate a particular device
with a step number, the device number is included in the integer field that corresponds to that
step number. A particular device can be included in multiple steps in the sequence. The current
step number being considered by the MASTERSEQ is stored in the STEP output.
In the following sections, a step is considered complete when the DEVICESEQ algorithm
assigned to that step indicates a success or failure or the user overrides the step via the OVRD
input. If a step references a device that does not exist or a zero is specified as the device number
for a particular step, then, that step is skipped and the algorithm increments the step.
The MASTERSEQ algorithm can operate in two modes. These are normal mode and priority
mode. In normal mode, the step numbers increase sequentially and the corresponding devices
are executed accordingly. In priority mode, the step number that corresponds to the device to be
executed is input to the algorithm via the TKIN input. That step is executed when the TMOD input
is TRUE. The order of the steps does not need to be sequential. This allows the sequence to be
dynamically adaptive based on the requirements of a particular application.
The algorithm is reset to the initial state when the RSET input is TRUE regardless of the mode of
operation. Any time the RSET input is TRUE, it causes the algorithm to clear all bits in the status
point, stop any device that is currently running, and set the current step to zero. Refer to the reset
flow chart for a visual depiction of the actions performed when the RSET input is TRUE.
Initial State
The initial step of the algorithm, on power-up, is zero. At step zero, no devices are active. In
normal mode, if the ENBL input is equal to logic one, the algorithm sequences to the first
available step. If the ENBL input is equal to logic 0, then all devices are ignored and remain in
their previous state and the algorithm is inactive. A step is considered to be available if its
associated device number corresponds to a DEVICESEQ algorithm that is connected to the
MASTERSEQ algorithm. If the device number is valid, the device is considered for execution
according to the rules outlined in the following sections. If the ENBL input is FALSE the algorithm
is inactive regardless of the mode of operation.
In the normal mode of operation, the sequential execution of the connected devices is controlled
via the PRCD and OVRD inputs on the algorithm. The PRCD input acts as a “start” button. If the
PRCD input is TRUE, the algorithm reads the value of the READY and FAILED bits from the
associated status point. Refer to the description of the DEVICESEQ algorithm for details on how
the READY and FAILED bits in the status point are initialized. If the associated device is READY
and not FAILED, the algorithm sets bit one, in the status point that corresponds to that device, to
logic 1.
If the READY bit in the status point is FALSE, the algorithm sets the HOLD output to logic 1. If the
FAILED bit is TRUE, the algorithm sets HOLD output to logic 1. In both of these conditions, the
algorithm remains at the current step.
OW360_R1100 377
5.72 MASTERSEQ
If while a device is running, the SUCCESS bit becomes TRUE in the corresponding status point,
the algorithm sets bit zero in the status point to logic 1 (thus stopping the device) and the step is
incremented to the next step sequential number. The next device is not started unless the PRCD
input is TRUE.
If while a device is running, the FAILED bit becomes TRUE in the status point, the step number is
not be incremented and both the HOLD and FAIL outputs are set to logic 1. Once this condition is
reached, one of the following actions must occur in order for the step to increment:
A. The FAIL condition must be cleared which causes the FAIL output to be set to logic zero and
the step is incremented to the next sequential number.
B. The OVRD input must be set to logic 1, which causes the step to increment to the next
sequential number.
If at any time during execution, the OVRD input becomes equal to logic 1, the algorithm
increments the current step. If the OVRD input is equal to logic 1 while a particular step is being
executed, the algorithm turns the corresponding device off and the step number is incremented to
the next available step. Any tine the step is incremented as a result of the OVRD input, the
OVERRIDE bit is set to 1 at the status point. This provides a history feature for each step to
indicate how the step number was advanced. If the PRCD and OVRD inputs are equal to logic 1
simultaneously, the OVRD takes precedence.
When the last step in the sequence has completed, the algorithm sets the DONE output logic to 1.
At this point, the algorithm must be reset to begin operation again.
Refer to the normal mode flow chart for a visual depiction of the operation of the algorithm when
operating in normal mode.
In priority mode, the step number to be executed is determined by the analog value of the TKIN
input. Any fractional value to the right of the decimal point, in the TKIN input value, is truncated.
This gives you the ability to dynamically steer the algorithm to any desired step in the sequence.
The value of the TKIN input is used as the step number only if the TMOD input is TRUE. Thus the
algorithm is considered to be in priority mode when the step number is determined from the TKIN
input. As in normal mode, the PRCD input must be TRUE in order for the execution of the step to
begin.
If the value of TKIN is equal to a step that corresponds to a valid device, the TMOD input is TRUE
and PRCD input is FALSE, the algorithm sets the current step to the TKIN value. However, the
step is not executed until the PRCD input becomes TRUE. When operating in Priority Mode, the
algorithm ignores the OVRD input. If the value of the TKIN refers to a device that does not exist,
the algorithm remains at the previous step. If a device is running, the TKIN and TMOD inputs are
ignored until the step completes.
If the MODE parameter is advisory, TKIN must be less than the maximum number of steps
(NMIN). If the MODE parameter is priority, then TKIN must be less than 30 (the total number of
allowed steps). This applies only in priority mode. All other checks for valid device apply no matter
what the priority MODE parameter is set to.
If the READY bit, in the status point, is TRUE and the FAILED bit is FALSE, the algorithm issues
a start to the associated device. This is accomplished by setting bit zero in the status point to
logic 1.
378 OW360_R1100
5.72 MASTERSEQ
If the READY bit in the status point is FALSE, the algorithm sets the HOLD output logic to 1. If the
FAILED bit is TRUE, the algorithm sets both the HOLD and FAIL output to logic 1. In both of
these conditions, the algorithm remains at the current step.
If while a device is running, the SUCCESS bit becomes TRUE in the corresponding status point,
the algorithm sets bit zero in the status point logic 0 (thus stopping the device). The step is set to
the value of the TKIN input if it is a valid step. The next device is not started unless the PRCD
input is TRUE.
If while a device is running, the FAILED bit becomes TRUE in the status point, both the HOLD
and FAIL outputs are set to logic 1. When this condition is reached, the current step can be
changed via the TKIN and TMOD inputs.
Refer to the priority mode flow chart for a visual depiction of the operation of the algorithm when
operating in priority mode.
If any time during the priority mode operation the TMOD input becomes FALSE, the algorithm
reverts to normal mode operation. The hybrid mode section outlines the operation of the algorithm
using a combination of normal mode and priority mode.
It is possible to operate the algorithm in a hybrid mode where some steps are performed in
normal mode and others in Priority Mode. The mode switch is controlled by the digital value of the
TMOD input and thus can be done dynamically. When operating in normal mode, the normal
mode rules outlined above apply and when operating in priority mode, the priority mode rules
above apply.
Algorithm definitions
OW360_R1100 379
5.72 MASTERSEQ
380 OW360_R1100
5.72 MASTERSEQ
OW360_R1100 381
5.72 MASTERSEQ
382 OW360_R1100
5.72 MASTERSEQ
OW360_R1100 383
5.72 MASTERSEQ
384 OW360_R1100
5.72 MASTERSEQ
OW360_R1100 385
5.72 MASTERSEQ
8 - 15 Reserved for - -
future use.
386 OW360_R1100
5.72 MASTERSEQ
OW360_R1100 387
5.72 MASTERSEQ
388 OW360_R1100
5.73 MEDIANSEL
The MEDIANSEL (Median value selector, quality and deviation checks) algorithm monitors analog
transmitter inputs for quality and deviation from each other. The output (OUT) of the algorithm is
the median of the three analog inputs as long as there are no Quality or Deviation Alarms.
Otherwise, the algorithm determines the best or most probably correct input or average of inputs
for the output value. In addition to the output signal (OUT), there is a High Alarm analog output
(HI), a Low Alarm analog output (LO) and 12 digital signals, indicating the states of the inputs,
which may be output as individual digital points or as a packed digital record.
Functional symbol
The type of quality on the input that sets the Quality Alarm for that point is initialized in the Control
Indicator Word. The Control Deviation Alarm digital output signal between two points is set TRUE
when the difference of the two points is greater than the user-initialized Control Deviation
Deadband (CNDB) and the two points are not in Quality Alarm. Also, the Alarm Deviation Alarm
digital output signal between two points is set TRUE when the difference of the two points is
greater than the user-initialized Alarm Deviation Deadband (ALDB) and the two points are not in
Quality Alarm. The Alarm Deviation Deadband should be less than the Control Deviation
Deadband for the algorithm to function properly.
If all three transmitters are in Quality Alarm, the output value remains the last GOOD value. In
addition, if all three transmitters are in quality alarm or if the output (OUT) value is invalid, the
quality of the output is set to BAD.
If two transmitters are in Quality Alarm, the output value is the value of the transmitter that is
not in Quality Alarm.
If one transmitter is in Quality Alarm and there is no Control Deviation Alarm between the
two transmitters not in Quality Alarm, the output value is the average of the two transmitters
not in Quality Alarm.
OW360_R1100 389
5.73 MEDIANSEL
If one transmitter is in Quality Alarm and there is a Control Deviation alarm between the
two transmitters not in Quality Alarm, the output value is:
1. The higher value of the two transmitters not in Quality Alarm if the higher value is greater than
the High Alarm Monitor value (HMTR) and the lower value is not less than the Low Alarm
Monitor value (LMTR).
OR
2. The lower value of the two transmitters not in Quality Alarm if the lower value is less than the
Low Alarm Monitor value and the higher value is not greater than the High Alarm Monitor
value.
OR
3. Either the higher or lower value of the two transmitters not in Quality Alarm, depending on the
High/Low Output parameter initialized in the Control Indicator Word.
If none of the transmitters are in Quality Alarm but all three transmitters are in Control
Deviation with each other, the output value is:
1. The highest value of the transmitters if the higher value is greater than the High Alarm Monitor
value (HMTR) and the lowest value is not less than the Low Alarm Monitor value (LMTR).
OR
2. The lowest value of the transmitters if the lowest value is less than the Low Alarm Monitor
value and the highest value is not greater than the High Alarm Monitor value.
OR
3. Either the highest or lowest value of the transmitters, depending on the High/Low Output
parameter initialized in the Control Indicator Word.
If none of the transmitters are in Quality Alarm but one transmitter is in Control Deviation
with both of the other two transmitters and there is no Control Deviation alarm between the
other two transmitters, the output value is the average of the two transmitters not in Control
Deviation Alarm with each other. If none of the transmitters are in Quality Alarm and two
transmitters are in Control Deviation Alarm with each other but not with the third transmitter, the
output value is the value of the third (median) transmitter.
If none of the transmitters are in Quality or Control Deviation Alarm and either all or none
of the three transmitters are in Alarm Deviation with each other, the output is the median
value of the transmitters.
If none of the transmitters are in Quality or Control Deviation Alarm but one transmitter is
in Alarm Deviation with both of the other two transmitters and there is no Alarm Deviation
between the other two transmitters, the output value is the average of the two transmitters not
in Alarm Deviation with each other.
If none of the transmitters are in Quality or Control Deviation Alarm and two transmitters
are in Alarm Deviation with each other but not with the third transmitter, the output value is
the value of the third (median) transmitter.
If none of the transmitters are in Control Deviation Alarm with each other, the high alarm
output and low alarm output values are set equal to the output value. Otherwise, the high alarm
output value is set equal to the highest transmitter value not in Quality Alarm, and the low alarm
output value is set equal to the lowest transmitter value not in Quality Alarm.
390 OW360_R1100
5.73 MEDIANSEL
The Transmitter Quality Alarm digital output (XBQ) is set TRUE when all three transmitters are in
Quality Alarm. The Transmitter A Quality Alarm digital output (XABQ) is set TRUE when
Transmitter A is in Quality Alarm. The Transmitter B Quality Alarm digital output (XBBQ) is set
TRUE when Transmitter B is in Quality Alarm. The Transmitter C Quality Alarm digital output
(XCBQ) is set TRUE when Transmitter C is in Quality Alarm.
The Transmitter A - Transmitter B Control Deviation Alarm digital output (ABDC) is set TRUE
when the deviation between Transmitter A and Transmitter B is greater than the Control Deviation
Deadband. The Transmitter A - Transmitter C Control Deviation Alarm digital output (ACDC) is set
TRUE when the deviation between Transmitter A and Transmitter C is greater than the Control
Deviation Deadband. The Transmitter B - Transmitter C Control Deviation Alarm digital output
(BCDC) is set TRUE when the deviation between Transmitter B and Transmitter C is greater than
the Control Deviation Deadband.
The Transmitter A - Transmitter B Alarm Deviation Alarm digital output (ABDA) is set TRUE when
the deviation between Transmitter A and Transmitter B is greater than the Alarm Deviation
Deadband. The Transmitter A - Transmitter C Alarm Deviation Alarm digital output (ACDA) is set
TRUE when the deviation between Transmitter A and Transmitter C is greater than the Alarm
Deviation deadband. The Transmitter B - Transmitter C Alarm Deviation Alarm digital output
(BCDA) is set TRUE when the deviation between Transmitter B and Transmitter C is greater than
the Alarm Deviation Deadband.
The Transmitter Malfunction Alarm digital output (XALM) is set TRUE when there is a Quality
Alarm on any of the three signals or when the deviation between any two transmitter values is
greater than either the Control Deviation Deadband or the Alarm Deviation Deadband.
The Manual Reject digital output is either a one-shot signal or a maintained output, depending on
the MRE output type that is initialized in the Control Indicator Word (CNTL).
The Packed output signal (PBPT) contains the Manual Reject output, the Transmitter Malfunction
Alarm, the Quality Alarms, the Control Deviation Alarms, and the Alarm Deviation Alarms for all
three transmitters.
The HOLD parameter holds the output value and quality for a desired number of loops when a
manual reject occurs.
OW360_R1100 391
5.73 MEDIANSEL
Function keys
P5 Toggle the inhibiting of the control deviation alarm check on the manual
reject (MRE) output
Note: If the transmitter selected goes to BAD quality, then the algorithm changes mode to
median.
The transmitter's input values to the algorithms are checked for invalid real numbers. If an input
value contains an invalid real number, it is not used in generating the output of the algorithm.
However, the Transmitter Quality Alarm digital output for the point is set to TRUE if the input value
is invalid.
If the algorithm calculates an invalid real number for the output, the quality of the output is set to
BAD and the output value is invalid.
INSEL parameter
The INSEL parameter determines which inputs of the MEDIANSEL algorithm are being used to
calculate the output. The Signal Diagram application displays green circles around the active pins.
If none of the pins are selected, then nothing will display. You can also view this information via
the Process Diagram System graphics as well. Refer to Ovation Operator Station User Guide for
more information on the Signal Diagrams application and the Process Diagram System graphics.
The MEDIANSEL algorithm activates individual bits in the Y0 field depending on the conditions in
the description field. If a signal is active, that signal is being used in the output calculation.
392 OW360_R1100
5.73 MEDIANSEL
Algorithm definitions
OW360_R1100 393
5.73 MEDIANSEL
394 OW360_R1100
5.73 MEDIANSEL
OW360_R1100 395
5.73 MEDIANSEL
396 OW360_R1100
5.74 MULTIPLY
5.74 MULTIPLY
Description
The MULTIPLY algorithm multiplies two gained and biased inputs. The output of the MULTIPLY
algorithm is the product of the two individually gained and biased inputs.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog point. This algorithm takes the following action in response to the information found
in the analog input signal TRIN:
OW360_R1100 397
5.74 MULTIPLY
** Only when the Track signal is not present; the signals are set according to the definitions given
in Setting Tracking Signals (see page 16).
*** If the algorithm is being told to track, then the Conditional track bit is ignored. Otherwise, the
value of the conditional track bit is transferred to all output track points. If the Conditional Track bit
is set in the track input point, the analog value of all output track points is calculated based on the
analog value of the track input point.
The high and low limit flags and the tracking signals from the algorithm are output to TOUT, to be
used for display and by an upstream algorithm. If the output value is invalid, the quality of OUT is
set to BAD. Otherwise, the quality of OUT is set to the worst quality of the two inputs when not in
tracking mode. When tracking, the quality is set to the quality of the track input variable.
Note: If the algorithm generates an invalid track output value, the IN1 input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and IN1input values are invalid.
In addition, you may turn off the tracking output calculations. This may be done to support control
logic designs that require fast execution times (such as 20 msec). The TBLK parameter can be
set to OFF, which will disable the tracking calculations and local memory operations. The default
value for TBLK is ON, which means the algorithm performs the tracking calculations.
Algorithm definitions
398 OW360_R1100
5.74 MULTIPLY
Function
OW360_R1100 399
5.75 MULTISWITCH
5.75 MULTISWITCH
Description
The MULTISWITCH algorithm is designed to operate with very high performance. Due to the
functionality, the MULTISWITCH algorithm is limited to calculate the series transfer logic
structure.
Functional symbol
400 OW360_R1100
5.75 MULTISWITCH
The MULTISWITCH algorithm does not evaluate the quality of the INx (IN1, ...., IN5) input pins.
When the input pin value is equal to NaN or INF, then the value is propagated and the quality of
the OUT pin is set to BAD.
Note: The quality on the other input pins are not evaluated.
The value and the quality of the selected input is transferred directly to the output.
The quality of the remaining connected input pins, but not selected input pins are not
propagated and is not used by the MULTISWITCH algorithm.
All the MULTISWITCH algorithm parameters are tunable. You can set the values of the
parameters in the Control Builder and the Signal diagram after loading the Controller.
Parameters
G1 Gain on input 1 1
B1 Bias on input 1 0
G2 Gain on input 2 1
B2 Bias on input 2 0
G3 Gain on input 3 1
B3 Bias on input 3 0
G4 Gain on input 4 1
B4 Bias on input 4 0
G5 Gain on input 5 1
B5 Bias on input 5 0
OW360_R1100 401
5.75 MULTISWITCH
Tracking
To make fast calculations, the MULTISWITCH algorithm does not support the tracking
functionality.
Limits
The output of the MULTISWITCH algorithm is not limited to HIGH limit and LOW limit. The input
of the INx (IN1, ...., IN5) pins are limited to 1e37 and -1e37, respectively.
5.75.1 Functions
When the input selector pins are not connected and their values are not set to TRUE, then by
default, the MULTISWITCH algorithm uses the IN1 input value with the G1 and the B1 parameter
values. When the same input selector pins are connected, then the MULTISWITCH algorithm
uses the input pin having the highest priority.
CONNECTED SELECTED
PRIORITY
SELECTOR INPUT
When one of the input pins INx (In1, ...., IN5) is not connected, then the following equation is used
to calculate the INx output value.
402 OW360_R1100
5.75 MULTISWITCH
Algorithm definitions
LC ALG. MIN.
RECORD REQUIRED/ DEFAULT POINT
NAME FIELD TYPE OPTIONAL VALUE DESCRIPTION REC.
OW360_R1100 403
5.75 MULTISWITCH
LC ALG. MIN.
RECORD REQUIRED/ DEFAULT POINT
NAME FIELD TYPE OPTIONAL VALUE DESCRIPTION REC.
404 OW360_R1100
5.76 NLOG
5.76 NLOG
Description
The NLOG algorithm performs the mathematical natural logarithmic function. For the NLOG
algorithm, the output equals the natural logarithm of the input value plus a bias. If the input value
is less than or equal to zero, the output is set to a large negative number (-3.4 x 1038).
Note: Other logarithmic algorithms are ANTILOG (see page 88) and LOG (see page 345).
The quality of the input is propagated to the output. However, if the algorithm calculates an invalid
value for the output, the quality of the output is set to BAD, and the output value is invalid.
Functional symbol
Algorithm definitions
Function
OW360_R1100 405
5.77 NOT
5.77 NOT
Description
The NOT algorithm is a logical NOT gate. For the NOT algorithm, the output is the logical NOT of
the input.
Functional symbol
Algorithm definitions
Function
IF IN1 = TRUE
THEN OUT = FALSE
ELSE
OUT = TRUE
406 OW360_R1100
5.78 OFFDELAY
5.78 OFFDELAY
Description
The OFFDELAY algorithm extends the time that the output is TRUE. On a FALSE-to-TRUE state
level change of the IN1 (Pulse Stretcher), the Timer ACTUAL (ACT) is set to zero and the OUT
output is TRUE.
On a subsequent TRUE-to-FALSE state level change of the IN1, the ACTUAL (ACT) begins
accumulating time. When ACTUAL (ACT) is equal to the TARGET (TARG), accumulation stops,
the OUT output is set to FALSE, and ACTUAL (ACT) retains data until it is reset by another
FALSE-to-TRUE state level change of the IN1 input.
If the TARGET (TARG) value specifies a time which is less than or equal to the sheet scan time, it
is permissible for the OUT output to be set FALSE on the same scan that the IN1 input changed
from TRUE to FALSE.
The timers are re-triggerable (that is, the ACTUAL (ACT) can be reset before it reaches the
TARGET (TARG) value).
If the TARGET (TARG) or ACTUAL (ACT) operands contain a negative or invalid number, OUT is
set to FALSE but no other operation takes place.
When a Controller resets, if IN1 is FALSE, ACTUAL (ACT) remains unchanged and the OUT
output is TRUE according to the comparison between the ACTUAL (ACT) and the TARGET
(TARG). However, if the ACTUAL (ACT) has an initial value, then the ACTUAL'S (ACT's) initial
value is compared to TARG. If IN1 is TRUE, ACTUAL (ACT) is set to zero and OUT is TRUE.
In redundant Controllers, during Fail over, if IN1 is FALSE, ACTUAL (ACT) remains unchanged
and both outputs are TRUE according to the comparison between the ACTUAL (ACT) and
TARGET (TARG). If IN1 is TRUE, ACT is set to zero and OUT is TRUE.
An optional time base (minimum of 0.1 second) can be entered in the R1 field of the algorithm
record. The default time base is 1 second.
Functional symbol
OW360_R1100 407
5.78 OFFDELAY
Algorithm definitions
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
(IN1)
TARGET TARGET
408 OW360_R1100
5.79 ONDELAY
5.79 ONDELAY
Description
The ONDELAY algorithm delays the time that the output is set to TRUE. When the ONDELAY
algorithm is enabled with the IN1 input TRUE, the Timer ACTUAL (ACT) accumulates time per
the specified Time BASE (BASE) until it equals the Timer TARGET (TARG). At this point, it stops
accumulating and remains at the TARGET (TARG) value and OUT goes to TRUE.
If the IN1 input changes from TRUE to FALSE while the Timer is enabled (ENBL), the ACTUAL
(ACT) retains the current value. When the IN1 input changes back to the TRUE state, the
ACTUAL (ACT) resumes accumulating time.
You can reset ACTUAL (ACT) to zero at any time by making the ENBL input FALSE. This causes
OUT to go FALSE. Typically; however, the IN1 and ENBL inputs are tied together so that
ONDELAY acts as a “classical” timer.
Note: If ENBL is not connected, the algorithm works as a “classical” timer. The same
functionality can be achieved when the IN1 and ENBL inputs are tied together.
If the ACTUAL (ACT) value is equal to or greater than the TARGET (TARG) value, transitions of
the IN1 input have no effect.
Of special consideration is the case when the Timer TARGET (TARG) equals zero. In this
instance, the OUT output follows the IN1 input as long as the Timer is enabled.
If the TARGET (TARG) specifies a time which is less than or equal to the sheet scan time, it is
permissible for the OUT output to be TRUE on the first scan that the IN1 and ENBL inputs are
TRUE.
If the TARGET (TARG) or ACTUAL (ACT) operands contain a negative or invalid number, OUT is
set to FALSE but no other operation takes place.
When a Controller resets, if ENBL is TRUE, ACTUAL (ACT) remains unchanged and the OUT
output is energized according to the comparison between ACTUAL (ACT) and TARGET (TARG).
However, if ACTUAL (ACT) has an initial value, then ACT's initial value is compared to TARGET
(TARG). If ENBL is FALSE, ACTUAL (ACT) is set to zero and OUT is FALSE.
An optional time base (minimum of 0.1 second) can be entered in the R1 field of the algorithm
record. The default time base is 1 second.
OW360_R1100 409
5.79 ONDELAY
Functional symbol
Algorithm definitions
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder
may default the parameter to a value and mark it as "Optional." However, for the control function to
be executed properly, you must enter a value for the parameter.
(IN1)
410 OW360_R1100
5.80 ONESHOT
5.80 ONESHOT
Description
The ONESHOT algorithm sets the output to TRUE on a transition for a specified period of time.
The period of time is defined in units of time by the BASE parameter and the TARGET (TARG)
parameter or by the loops number by the Pulse in Loops (LPS) parameter.
By default, the LPS parameter is set to 0 and the period of time is defined by the BASE and the
TARG parameters. When the LPS parameter is set to any positive value, then the period of time
is automatically defined by the LPS parameter. And, the BASE and the TARG parameters are
ignored.
Period of Time defined by the BASE and the TARG parameters (LPS parameter = 0)
On a FALSE-to-TRUE transition of the IN1 input, the OUT output energizes. The ACTUAL (ACT)
is reset to zero and immediately begins accumulating time, and continues to accumulate until it
equals the TARGET (TARG) or until another FALSE-to-TRUE transition of the IN1 input has
occurred.
When ACTUAL (ACT) equals TARGET (TARG), the OUT output de-energizes and the ACTUAL
(ACT) retains its value until a FALSE-to-TRUE transition of the IN1 input has occurred.
The function is retriggerable (that is, if the ACTUAL (ACT) is accumulating time and the IN1 input
makes a FALSE-to-TRUE transition before it reaches the TARGET (TARG) value, the function is
reset and begins accumulating from time zero).
If the ACTUAL (ACT) is greater than the TARGET (TARG), it is inhibited from accumulating time
and the OUT output is de-energized.
If the TARGET (TARG) or ACTUAL (ACT) operands contain a negative or invalid number, OUT is
de-energized but no other operation takes place.
When a Controller resets, if the IN1 state is true, ACTUAL (ACT) accumulates from its initial value
if it is defined as a point and from its previous value if it is defined as a saved point. The OUT
output is energized according to the comparison between ACTUAL (ACT) and TARGET (TARG).
If ACT is not defined as a point and the IN1 state is true upon a Controller reset, ACT
accumulates from zero and OUT energizes when ACT is greater than TARGET. If ACTUAL (ACT)
has an initial value greater than the target, the output does not energize.
In redundant Controllers, during Failover, regardless of the IN1 state, ACTUAL (ACT) continues to
accumulate and the OUT output is energized according to the comparison between ACTUAL
(ACT) and TARGET (TARG).
When a control sheet is modified and then loaded, the algorithm behavior depends on the
algorithm state and the changes made on the sheet.
If the ONESHOT is in a triggered state (IN1 = TRUE) and any changes were made to any of
the ONESHOT’s parameters, the OUT resets to zero and the ACTUAL (ACT) is also reset to
zero upon a sheet load.
In other cases, when the ONESHOT is not in a triggered state or no changes are made to any
of the ONESHOT’s parameters, the OUT keeps the current value and ACTUAL (ACT)
continues to count (if the target value has not been reached).
OW360_R1100 411
5.80 ONESHOT
If a tuning change is made to the TARGET (TARG) from the signal diagram, it is ignored if the
ONESHOT is in its triggered state (IN1 = TRUE). For example, if the TARGET (TARG) is 10 and
the ONESHOT is triggered, changing the target to 20 will not change the time when the OUT
transitions to zero (it will still be a 10 second pulse).
If a tuning change is made (via the signal diagram) to the BASE, the ONESHOT will recalculate
its ACTUAL (ACT) time and if the recalculated time has not reached its TARGET (TARG), the
OUT will remain at a one state until the target is reached. For example, assume the ONESHOT
with a BASE of 1 and a TARGET of 20 is triggered. At count 10, the base is then changed to 2.
The ACTUAL (ACT) will immediately change to 5 and the OUT will stay at a one state until the
count reaches 20 which will actually be 40 seconds from the time it was triggered.
In the Ovation Developer Studio, the TARGET is actually labeled "Pulse Time Number."
If the TARGET input is connected to another algorithm output, the ONESHOT behaves differently
than the manner described above. Tuning changes (via the signal diagram) will not be ignored but
will function as follows: Assume a TARGET of 30 and the ONESHOT is triggered. The ACTUAL
(ACT) time will increment normally. If the TARGET input is changed to a greater value before the
30 seconds has timed out, the pulse will obey the new value. Therefore, if the value was changed
to 60, the pulse length will now be 60 seconds instead of 30 (but only if the TARGET input value
changed before the original 30 seconds had timed out).
Conversely, if the TARGET input time is shortened before the original target is reached, the
ONESHOT will obey the new TARGET. Assume an initial TARGET of 30 and the ONESHOT is
triggered. A change is made to the TARGET input to 20 so now the pulse length will be shortened
to 20. If the ACTUAL (ACT) value is greater than 20 when the change is made, the OUT will
immediately transition to zero. Tying the TARGET to an AVALGEN algorithm offers additional
flexibility especially in cases where it is not known exactly how long the ONESHOT should be and
online tuning changes are desired.
Connecting the TARGET to other algorithms can be done to create additional functions such as a
variable ONESHOT pulse output.
An optional time base (minimum of 0.1 second) can be entered in the R1 field of the algorithm
record. If a value is not entered or a zero is entered into BASE (R1), the default time base is
assumed to be 1 second.
On a FALSE-to-TRUE transition of the IN1 input, the OUT output energizes. The ACTUAL (ACT)
is reset to zero and immediately begins accumulating time, and continues to accumulate until it
equals the LPS or until another FALSE-to-TRUE transition of the IN1 input has occurred.
When ACTUAL (ACT) equals LPS, the OUT output de energizes and the ACTUAL (ACT) retains
its value until a FALSE-to-TRUE transition of the IN1 input has occurred.
The function is retriggerable (that is, if the ACTUAL (ACT) is accumulating time and the IN1 input
makes a FALSE-to-TRUE transition before it reaches the LPS value, the function is reset and
begins accumulating from time zero).
If the ACTUAL (ACT) is greater than the LPS, it is inhibited from accumulating time and the OUT
output is de energized.
If LPS equals zero, then period of time is defined by TARGET and BASE parameters. If TARGET
equals 0 and LPS equals 0, the OUT output never energizes.
412 OW360_R1100
5.80 ONESHOT
When a Controller resets, if the IN1 state is true, ACTUAL (ACT) accumulates from its initial value
if it is defined as a point and from its previous value if it is defined as a saved point. The OUT
output is energized according to the comparison between ACTUAL (ACT) and LPS. If ACT is not
defined as a point and the IN1 state is true upon a Controller reset, ACT accumulates from zero
and OUT energizes when ACT is greater than LPS. If ACTUAL (ACT) has an initial value greater
than the LPS, the output does not energize.
In redundant Controllers, during Failover, regardless of the IN1 state, ACTUAL (ACT) continues to
accumulate and the OUT output is energized according to the comparison between ACTUAL
(ACT) and LPS.
When a control sheet is modified to the LPS parameter and then loaded, or when a tuning change
is made (through the signal diagram) to the LPS parameter, the ONESHOT algorithm continues
counting its ACTUAL (ACT) time, until the time does not reach its target (LPS). The OUT
parameter remains at one state until the target is reached.
For example, when the ONESHOT algorithm with a LPS parameter equal to 10 is triggered, at the
count 5, the LPS changes to 20. The ACTUAL (ACT) continues counting and the OUT parameter
stays at one state until the count reaches 20, which is the LPS value.
Functional symbol
Algorithm definitions
OW360_R1100 413
5.80 ONESHOT
(IN1)
414 OW360_R1100
5.81 OR
5.81 OR
Description
The OR (Logical OR gate up to 8 inputs) algorithm changes the Boolean of the output based on
the input. The output equals the logical OR of two to eight inputs (that is, at least one input must
be TRUE for the output to be TRUE).
Functional symbol
Algorithm definitions
Function
OW360_R1100 415
5.82 PACK16
5.82 P ACK16
Description
The PACK16 algorithm specifies up to 16 optional digital values as inputs, which are placed into
their corresponding positions in the A2 record field of an LP or larger point record. Inputs may be
of any size (that is, LD, or DD). Variable PBPT functions as an output LP point record, which is
broadcast on the Data Highway for use by other drops. PBPT also functions as an input, when
desired, to pack the LP record from multiple algorithms. These other algorithms can be additional
PACK16 algorithms or other types. For example, you could pack Bits 0 through 10 from Algorithm
X, Bits 11 through 15 from algorithm Y. Bit locations can be left unpacked as spares, if desired.
Note: If digital inputs have bad quality, then the packed point (PBPT) bit remains unchanged.
Functional symbol
Algorithm definitions
416 OW360_R1100
5.82 PACK16
OW360_R1100 417
5.83 PERSISVAL
5.83 PERSISV AL
Description
The Persistent Accumulator Observer (PERSISVAL) algorithm allows you to maintain the specific
values of a piece of equipment over its lifetime regardless of Controller shutdown or failover. For
example, if you are monitoring the number of times a pump or motor was started, you could lose
the initial values if the Controller shuts down. To maintain the analog point values, you can
implement the PERSISVAL algorithm on the control sheet.
It is a control algorithm that periodically saves an analog point value into an algorithm record field.
The periodicity of the same is one per hour.
Functionality
The PERSISVAL algorithm collects and saves analog point values from the Ovation Controller
into an Ovation database algorithm record field hour.The task of collecting and storing the analog
point values from the PERSISVAl algorithm is performed with the help of a service in the
Database Server. To install and start the service, use the following commands in a Database
Server command window:
set
INSTALL_EXE="C:\Windows\Microsoft.NET\Framework\v4.0.30319\instal
lUtil.exe"
%INSTALL_EXE% C:\Ovation\OvationBase\OvationPersistentValues.exe
Once you start the service, the defined analog values are retained in the event of an Ovation
system upgrade or when a redundant Controller pair is cleared or loaded.
Functional symbol
Tracking
The PERSISVAL algorithm tracks the specific parameters of the algorithms connected to it. These
parameters record equipment states such as hours running or number of starts.
For the RESETSUM algorithm (see page 495), connect the OUT pin to the PERSISVAL
algorithm IN pin.
For the RUNTIME algorithm (see page 516), connect the RTIME (time running) pin to the
PERSISVAL algorithm IN pin.
For the RUNTIME algorithm (see page 516), connect the NUMST (number of starts) pin to the
PERSISVAL algorithm IN pin.
Note: You should configure the restore points of the RUNTIME algorithm only when there is a
dual Controller power loss. For more information on configuring the restore points (INITP option
must be ON), see the RUNTIME algorithm (see page 516).
418 OW360_R1100
5.83 PERSISVAL
For the COUNTER algorithm (see page 148), connect the ACC pin to the PERSISVAL
algorithm IN pin.
Algorithm definition
Example
Connect the analog output point from any one of the supported algorithms (RESETSUM,
RUNTIME, and COUNTER), to the PERSISVAL algorithm's input (IN) point.
The following figure depicts the connection between the PERSISVAL algorithm and the
RESETSUM (see page 495) and RUNTIME algorithms (see page 516).
Figure 22: Example - Use of PERSISVAL algorithm with the RESETSUM and RUNTIME
algorithms
OW360_R1100 419
5.84 PID
5.84 PID
Description
The PID algorithm provides a proportional, integral, derivative controller function. The algorithm is
a parallel PID implementation that utilizes integral tracking signals for bumpless transfer. The
output value is limited via user-defined limits and anti-reset windup is handled internally.
Functional symbol
Guidelines
Notes:
PV = Process Variable
STPT = Set Point
1. PV GAIN and PV BIAS must be used to normalize the process variable inputs to a 0 to 100
percent value.
(PV x PV GAIN) + PV BIAS = PV percent. Thus:
2. STPT GAIN and STPT BIAS must be used to normalize the set point to a 0 to 100 percent
value. If setpoint input units are not 0 to 100 percent, then:
3. Determine set point high and low limits with these equations:
set point high limit = (100 - STPT BIAS)/STPT GAIN
set point low limit = (0 - STPT BIAS)/STPT GAIN
420 OW360_R1100
5.84 PID
Auto-scaling options
The Auto-scaling option consists of a configuration parameter (AUSC) and Engineering Units
limits parameters (high and low limits) for PV and STPT inputs of the PID algorithm.
The calculated gain and bias values are then written to the R1 and R2 LC record fields by the
algorithm. These changes will be reconcilable from the database in the same manner as if it were
tuned
SP_ONLY
Auto-scaling is enabled for the Set Point only. The PV (Process Variable) input uses the gain and
bias values configured by the user. For the SP gain and bias values, the top and bottom
engineering units range are read depending on the Auto-Scaling parameter option. The
appropriate gain and bias values are calculated so that the SP auto-scale high and low limits are
scaled to 0%-100%, according to the formulas:
The calculated gain and bias values are then written to the R3 and R4 LC record fields by the
algorithm. These changes will be reconcilable from the database in the same manner as if it were
tuned.
OW360_R1100 421
5.84 PID
BOTH
Auto-scaling is enabled for both the PV and SP. The PV auto-ranging is handled as outlined in
PV_ONLY and the SP auto-scaling is handled as outlined in SP_ONLY.
The Auto-scaling parameter option consists of the configuration parameter (AUSCP). This
parameter allows the user to configure what scaling parameters to use.
This case applies to any configuration of auto-scaling. The auto-scaling range values are
considered invalid if any one of the following occurs:
Bottom and Top Scale values are equal.
Bottom Scale value > Top Scale value.
In the case where the range values are invalid for a particular input, the output will not change
and will be marked as BAD quality. Also, the PID will post an Invalid Calculated Number message
in the Error Log and will place the drop in alarm.
Output Calculation
The output (which is in either engineering units or percent and limited by the high and low limits
specified) equals the result of the PID equation except:
When the algorithm is told to track, the output equals the track input when the tracking signal
is present. The output ramps at the user-specified track rate, from the track input back to the
controlled value when the tracking signal is removed.
When a raise inhibits or lower inhibit signal is present, it may prevent the PID controller from
controlling.
If the algorithm calculates an invalid real number for the output, the quality of the output is set
to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the
algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases,
the output is set to the last GOOD value.
If the algorithm generates an invalid track output value, the set point input value is used as
the track output, unless it is invalid. The track output value is not updated if both the
calculated track output and the set point input values are invalid.
The algorithm can be configured to utilize a Deadband region in the Controller error signal. This
Deadband region is used to modify the error signal that is presented to the PID equation.
The Controller error signal is calculated as the difference between the normalized process
variable and normalized set point and is passed as the input to the PID equation. If the algorithm
is configured to utilize an error Deadband and the error is within the deadband limits, the error
that is presented to the PID equation is Error = Error X Error Deadband Gain.
422 OW360_R1100
5.84 PID
When the algorithm is configured to use deadband, transitions into and out of the deadband
region are smoothed internally by utilizing a hold and track operation. During this transition cycle,
the Controller output is set to its previous value and the integral term is re-calculated to account
for the apparent proportional gain change in the new region. This effectively eliminates the abrupt
change in the proportional term due to the deadband transition. Derivative action is disabled when
the algorithm is operating within the deadband region.
If no deadband action is desired, the inner deadband limit (DBND) should be set to zero.
Single Deadband
The Single Deadband mode is configured by initializing the inner deadband limit (DBND field) to a
non-zero value and setting the deadbands option (DOPT) parameter to SINGLE. This value
represents the normalized Controller error signal to be used as the Deadband region limits.
Deadband is symmetrical with respect to zero. For example, if the DBND field equals 5, then the
deadband region is between -5% and +5%. If the Controller error signal is within the deadband,
then the actual error that is presented to the PID equation is the product of the error signal and
the error deadband gain. The ERRD field contains the value of the error deadband gain. The valid
values for this field are any real numbers between zero and one [0 - 1].
As an example, consider the following: DBND is 5 and ERRD is 0.5. For a normalized Controller
error signal of 2%, the actual error signal that is applied to the PID equation is 2% x 0.5 = 1%. In
general, for these example values of DBND and ERRD, any normalized error signal between -5%
and +5% is reduced by 50% before being applied to the PID equation. Derivative action is
disabled when the algorithm is operating within the deadband region.
Double Deadband
The Double Deadband configuration utilizes two deadband limits. These are the inner (DBND)
and the outer deadband limit (ODBND). Once the absolute value of the error signal is less than or
equal to the inner deadband, then the deadband gain is applied. The deadband gain is applied
until the absolute value of the error signal is greater than the outer deadband.
The Double Deadband mode is configured by initializing the Outer Deadband (ODBND) field to a
value greater than the inner deadband limit (DBND) and setting the deadbands option (DOPT)
parameter to DOUBLE. The Double Deadband mode is designed to be used when a noisy
process variable is present. When noise is present in the Process Variable signal, it causes
fluctuations in the magnitude of the error signal. When a Single Deadband is used, the Controller
error signal can fluctuate in and out of the deadband region (DBND) on successive execution
loops. In severe cases, this can lead to reduced performance of the PID algorithm. An example of
this situation is shown graphically in the following figure.
In this figure, at time t1, the signal has entered the inner deadband region. At time t2, the noise
has caused the signal to exit the inner deadband region, and at t3, it enters it again. The same
problem is seen again as the signal leaves the inner deadband region, as seen at t4, t5 and t6.
At each transition into and out of the deadband, the algorithm performs a track and hold
operation. This prevents the output from spiking due to the abrupt change in the proportional
term.
OW360_R1100 423
5.84 PID
In Singe Deadband mode, subsequent transitions into and out of the deadband region can lead to
reduced performance of the PID algorithm.
To prevent this situation, a second outer deadband region (ODBND) can be defined by the user.
This should be larger than the inner deadband region (DBND) as shown in the following figure.
More specifically, the outer deadband (ODBND) should be defined as equal to, or larger than, the
noise seen in the signal PLUS the inner deadband region (DBND).
For example, if the DBND field is equal to 5, then that deadband region is between -5% and +5%.
Once the Controller error signal reaches this inner deadband region of + or -5%, a noise in the
signal with a peak of + or -3% could push the Controller error signal back out of the inner
deadband region up to + or -8% on the next scan. Therefore, the outer deadband (ODBND)
should be set larger than + or -8% to compensate for noise. In the following figure, we set the
ODBND to +/- 10. If the outer deadband (ODBND) region is less than the defined inner deadband
(DBND) region, then the outer deadband region is set equal to the inner deadband value.
Figure 24: Signal Entering and Exiting Inner and Outer Deadband Regions
424 OW360_R1100
5.84 PID
If the Hard Inhibit parameter (INHB) of PID is set to ENABLED, and PID receives an inhibit signal
from downstream, PID stops updating the PID output and holds the last calculated value prior to
the receipt of the inhibit signal. As long as the inhibit condition remains, normal control action will
resume only after the PID error changes sign.
If the Hard Inhibit parameter (INHB) is set to DISABLED, and PID receives the inhibit signal from
downstream, PID continues calculating a new output value each loop time. PID compares the
new value to the previous output value and if updating the output point with the new value would
violate the inhibit condition, then the previous output value is maintained. If the new value would
not violate the inhibit condition, then the output point is updated with the new output value.
Example
If INHB is set to ENABLED when PID receives a lower inhibit signal (LWI) via track input from a
downstream algorithm, PID output cannot decrease. The output value remains constant until
either the LWI signal is removed, or the process error changes to where PID output increases and
resumes normal control action.
If INHB is set to DISABLED when PID receives a lower inhibit signal (LWI) via track input from a
downstream algorithm, PID continues to calculate a PID output each loop time. The calculated
value is stored in the algorithm and compared to the output calculated during the previous loop
time. If a lower inhibit occurs, the actual PID output will be the greater of the two calculated
values. If a raise inhibit occurs, the actual PID output will be the lesser of the two calculated
values.
Note: In either case, PID uses internal mechanisms to ensure that an integral windup condition
does not occur during an inhibited situation.
Tracking Signals
External tracking and limiting are done through signals passed in the upper 16 bits of the third
status word of the analog track points. This algorithm takes the following action in response to
information found in the third status word of the analog input signal TRIN:
OW360_R1100 425
5.84 PID
The High and Low limit flags, the mode, and the tracking signals from the algorithm are output to
TOUT to be used for display and by upstream algorithms.
Algorithm definitions
426 OW360_R1100
5.84 PID
OW360_R1100 427
5.84 PID
428 OW360_R1100
5.84 PID
OW360_R1100 429
5.84 PID
430 OW360_R1100
5.84 PID
** Anytime that the value of this field is greater than the inner deadband (DBND), the double deadband
action results. This value should be set to zero if single deadband action is desired.
*** When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be executed
properly, you must enter a value for the parameter.
For selectable parameters, the record field associated with the parameter will reflect the value of what is
currently selected.
When the proportional mode is set to process (PACT = Process), the PID control action is shown
as:
d d
u t K PV t et d K dt
~ 1 t
in
i
d d
t0
Where:
~
K p K p
The mathematical equation represents an indirect mode regulator.
~
Kp Kp
The mathematical equation represents a direct mode regulator.
PV(t) is the process variable.
In this mode, when the controller experiences a startup or a failover, the integral term is initialized
in the following way to prevent a drift in the process variable.
uint uold K p PV t
~
The integrator initialization during operation is done after the changes to the PACT. During the
integrator initialization, the control output is kept to the previous value for one cycle.
During this condition, any change to the PACT initializes the integrator, even if the reset time is 0.
This is done in order to prevent a bump. If the reset time is 0, the integrator ramps down to 0 in
increments of TRAT x Loop Time.
OW360_R1100 431
5.84 PID
While configuring the PD controller, if the PACT is set to the Process mode and the DACT is not
set to the Normal mode, the process variable does not follow the set-point and the regulator
becomes limited.
432 OW360_R1100
5.84 PID
Conditional tracking is a scheme which allows tighter control of the process variable when the
control strategy is implemented using cascaded Controllers. Essentially, the conditional tracking
scheme allows the upstream Controller to have immediate influence on the final output when the
error between the process variable and the set point changes direction while the downstream
Controller is in a saturation condition. Conditional tracking is incorporated when the downstream
Controller (Controller “B” in figure) operates in cascaded mode.
The purpose of cascaded mode is to allow two PID algorithms to be used in a cascaded
configuration where the output of one PID is the set point for another. When you desire to arrange
two PID Controllers in this configuration, the type parameter should be set to cascaded in the
downstream Controller only. It is not necessary to configure the upstream Controller in the
cascaded configuration.
When the downstream Controller is configured in the cascaded mode, the Controller operates as
a conventional PID controller so long as the Controller is not in a saturation condition. However, if
the Controller output is saturated at the HI or LO limit or if the Controller receives an inhibit signal
from a downstream algorithm the behavior of the cascaded pair is as follows:
The downstream Controller (Controller “B” in figure) asserts the conditional track signal in its
output tracking point along the applicable limit or inhibit bit. The downstream Controller also
calculates a track output value that if applied as a set point input, yields a Controller error of
zero (see Equation 1 in the previous figure).
When the upstream Controller sees the conditional track bit set, it adjusts its output as
follows: If the error signal causes the Controller output to move against the inhibit signal (for
example, output attempts to increase when the algorithm is receiving a raise inhibit), then the
algorithm sets its output equal to the track input received from downstream.
If the error signal causes the output to move away from the inhibit signal, the algorithm sets
its output equal to the track input and begin controlling.
Without this mode, the upstream Controller would first have to move enough to zero the error
on the downstream Controller before having any effect on the process. This would introduce
additional dead-time in the Controller response and in the case of processes with slow
dynamics (for example, temperature control), this additional dead-time may be significant.
Only the PID algorithm configured to be in cascaded mode asserts the conditional track bit.
The upstream Controller (Controller “A” in the previous figure) does not pass the conditional
track bit in its track output.
OW360_R1100 433
5.84 PID
If the Hard Inhibit parameter (INHB) of the PID algorithm is set to ENABLED, and PID receives an
inhibit signal from downstream, the PID algorithm stops updating the PID output and holds the
last calculated value prior to the receipt of the inhibit signal. As long as the inhibit condition
remains, normal control action will resume only after the PID error changes sign.
If the Hard Inhibit parameter (INHB) is set to DISABLED, and the PID algorithm receives the
inhibit signal from downstream, PID continues calculating a new output value each loop time. PID
compares the new value to the previous output value and if updating the output point with the new
value would violate the inhibit condition, then the previous output value is maintained. If the new
value would not violate the inhibit condition, then the output point is updated with the new output
value.
Example
If INHB is set to ENABLED when PID receives a lower inhibit signal (LWI) via track input from a
downstream algorithm, the PID algorithm output cannot decrease. The output value remains
constant until either the LWI signal is removed, or the process error changes to where PID output
increases and resumes normal control action.
If INHB is set to DISABLED when PID receives a lower inhibit signal (LWI) via track input from a
downstream algorithm, the PID algorithm continues to calculate a PID output each loop time. The
calculated value is stored in the algorithm and compared to the output calculated during the
previous loop time. If a lower inhibit occurs, the actual PID output will be the greater of the two
calculated values. If a raise inhibit occurs, the actual PID output will be the lesser of the two
calculated values.
Note: In either case, PID uses internal mechanisms to ensure that an integral windup condition
does not occur during an inhibited situation.
434 OW360_R1100
5.85 PIDFF
5.85 PIDFF
Description
The PIDFF algorithm is designed to accept an externally generated analog signal that is used as
a feed-forward bias. This analog signal is summed with the actual PID output (sum of the
proportional, integral and derivative terms) to become the final control output. The advantage to
having the feed-forward input incorporated in the PID algorithm is that saturation conditions,
caused by either the final control output exceeding the algorithms limits or raise/lower inhibit
signals generated by the downstream algorithms, are handled internally to the algorithm. This can
greatly improve Controller response times to sudden changes in the direction (algebraic sign) of
the Controller error signal when the Controller is in a saturation condition.
The PID portion of the algorithm provides a proportional, integral, derivative Controller function.
The algorithm is a parallel PID implementation that utilizes integral tracking signals for bumpless
transfer. The output value is limited via user-defined limits and anti-reset windup is handled
internally.
Functional symbol
Guidelines
1. PV GAIN and PV BIAS must be used to normalize the process variable inputs to a 0 to 100
percent value. Use this equation:
(PV x PV GAIN) + PV BIAS = PV percent. Thus,
OW360_R1100 435
5.85 PIDFF
2. STPT GAIN and STPT BIAS must be used to normalize the set point to a 0 to 100 percent
value. If setpoint input units are not 0 to 100 percent, then:
The algorithm can be configured to utilize a Deadband region in the Controller error signal. This
Deadband region is used to modify the error signal that is presented to the PID equation.
The Controller error signal is calculated as the difference between the normalized process
variable and normalized set point and is passed as the input to the PID equation. If the algorithm
is configured to utilize an error Deadband and the error is within the deadband limits, the error
that is presented to the PID equation is Error = Error X Error Deadband Gain.
When the algorithm is configured to use deadband, transitions into and out of the deadband
region are smoothed internally by utilizing a hold and track operation. During this transition cycle,
the Controller output is set to its previous value and the integral term is re-calculated to account
for the apparent proportional gain change in the new region. This effectively eliminates the abrupt
change in the proportional term due to the deadband transition. Derivative action is disabled when
the algorithm is operating within the deadband region.
If no deadband action is desired, the inner deadband limit (DBND) should be set to zero.
Single Deadband
The Single Deadband mode is configured by initializing the inner deadband limit (DBND field) to a
non-zero value and setting the deadbands option (DOPT) parameter to SINGLE. This value
represents the normalized Controller error signal to be used as the Deadband region limits.
Deadband is symmetrical with respect to zero. For example, if the DBND field equals 5, then the
deadband region is between -5% and +5%. If the Controller error signal is within the deadband,
then the actual error that is presented to the PID equation is the product of the error signal and
the error deadband gain. The ERRD field contains the value of the error deadband gain. The valid
values for this field are any real numbers between zero and one [0 - 1].
As an example, consider the following: DBND is 5 and ERRD is 0.5. For a normalized Controller
error signal of 2%, the actual error signal that is applied to the PID equation is 2% x 0.5 = 1%. In
general, for these example values of DBND and ERRD, any normalized error signal between -5%
and +5% is reduced by 50% before being applied to the PID equation. Derivative action is
disabled when the algorithm is operating within the deadband region.
436 OW360_R1100
5.85 PIDFF
Double Deadband
The Double Deadband configuration utilizes two deadband limits. These are the inner (DBND)
and the outer deadband limit (ODBND). Once the absolute value of the error signal is less than or
equal to the inner deadband, then the deadband gain is applied. The deadband gain is applied
until the absolute value of the error signal is greater than the outer deadband.
The Double Deadband mode is configured by initializing the Outer Deadband (ODBND) field to a
value greater than the inner deadband limit (DBND) and setting the deadbands option (DOPT)
parameter to DOUBLE. The Double Deadband mode is designed to be used when a noisy
process variable is present. When noise is present in the Process Variable signal, it causes
fluctuations in the magnitude of the error signal. When a Single Deadband is used, the Controller
error signal can fluctuate in and out of the deadband region (DBND) on successive execution
loops. In severe cases, this can lead to reduced performance of the PID algorithm. An example of
this situation is shown graphically in the following figure.
In the following figure, at time t1, the signal has entered the inner deadband region. At time t2, the
noise has caused the signal to exit the inner deadband region, and at t3, it enters it again. The
same problem is seen again as the signal leaves the inner deadband region, as seen at t4, t5 and
t6.
At each transition into and out of the deadband, the algorithm performs a track and hold
operation. This prevents the output from spiking due to the abrupt change in the proportional
term.
In Singe Deadband mode, subsequent transitions into and out of the deadband region can lead to
reduced performance of the PID algorithm.
OW360_R1100 437
5.85 PIDFF
To prevent this situation, a second outer deadband region (ODBND) can be defined by the user.
This should be larger than the inner deadband region (DBND) (see the following figure). More
specifically, the outer deadband (ODBND) should be defined as equal to, or larger than, the noise
seen in the signal PLUS the inner deadband region (DBND).
For example, if the DBND field is equal to 5, then that deadband region is between -5% and +5%.
Once the Controller error signal reaches this inner deadband region of + or -5%, a noise in the
signal with a peak of + or -3% could push the Controller error signal back out of the inner
deadband region up to + or -8% on the next scan. Therefore, the outer deadband (ODBND)
should be set larger than + or -8% to compensate for noise. In the following figure, the ODBND
was set to +/- 10. If the outer deadband (ODBND) region is less than the defined inner deadband
(DBND) region, then the outer deadband region is set equal to the inner deadband value.
Figure 28: Signal Entering and Exiting Inner and Outer Deadband Regions
Output Calculation
The output (which is in either engineering units or percent and limited by the high and low limits
specified) equals the algebraic sum of the result of the PID equation and the feed-forward input
except:
When the algorithm is told to track, the output equals the track input when the tracking signal
is present. The output ramps at the user-specified track rate, from the track input back to the
controlled value when the tracking signal is removed.
When a raise inhibit or lower inhibit signal is present, it may prevent the PID Controller from
controlling.
When the sum of the actual PID output and the normalized feed-forward input exceeds either
the high or low limit of the algorithm, the output in this case is clipped at the corresponding
limit.
If the algorithm calculates an invalid real number for the output, the quality of the output is set
to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the
algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases,
the output is set to the last GOOD value.
If the algorithm generates an invalid track output value, the set point input value is used as
the track output, unless it is invalid. The track output value is not updated if both the
calculated track output and the set point input values are invalid.
438 OW360_R1100
5.85 PIDFF
Tracking Signals
External tracking and limiting are done through signals passed in the upper 16 bits of the third
status word of the analog track points. This algorithm takes the following action in response to
information found in the third status word of the analog input signal TRIN:
OW360_R1100 439
5.85 PIDFF
The High and Low limit flags, the mode, and the tracking signals from the algorithm are output to
TOUT to be used for display and by upstream algorithms.
Algorithm definitions
Normal - Derivative
applied to change in
error.
Process - Derivative
applied to change in
process variable.
TPSC R5-Real Tuning Required 100.0 Maximum value of the -
Constant output point
440 OW360_R1100
5.85 PIDFF
OW360_R1100 441
5.85 PIDFF
** Anytime that the value of this field is greater than the inner deadband (DBND), the double
deadband action results. This value should be set to zero if single deadband action is desired.
*** When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
442 OW360_R1100
5.85 PIDFF
OW360_R1100 443
5.85 PIDFF
Refer to the “Functional Operation of PIDFF” diagram for the following example. Consider the
case where the output limits on the PIDFF algorithm are 0-100%, the external feed-forward input
has a normalized value of 75%, the actual PID output is 50% and the error between process
variable and set point causes the PID output to increase. This condition would require that the
final output be 125%, which violates the algorithm's high limit of 100%. The final PIDFF output is
clipped at 100%. If the error between the process variable and the set point were to change
direction, the PID output would have to move 25% before it had any effect on the final control
output and thus the process variable. Depending on the tuning parameters, the time that this
takes can be significant.
By incorporating the feed-forward input into the PIDFF algorithm, this direction change in the error
between the process variable and set point has an immediate effect on the final control output.
The PIDFF begins integrating from the high limit of 100% and thus has immediate influence on
the final control output and subsequently on the process variable.
444 OW360_R1100
5.85 PIDFF
Conditional tracking is a scheme which allows tighter control of the process variable when the
control strategy is implemented using cascaded Controllers. Essentially, the conditional tracking
scheme allows the upstream Controller to have immediate influence on the final output when the
error between the process variable and the setpoint changes direction while the downstream
controller is in a saturation condition. Conditional tracking is incorporated when the downstream
Controller (Controller “B” in previous figure) operates in cascaded mode.
The purpose of cascaded mode is to allow two PID algorithms to be used in a cascaded
configuration where the output of one PID is the set point for another. When you desire to arrange
two PID Controllers in this configuration, the type parameter should be set to cascaded in the
downstream Controller only. It is not necessary to configure the upstream Controller in the
cascaded configuration.
When the downstream controller is configured in the cascaded mode, the Controller operates as a
conventional PIDFF Controller so long as the Controller is not in a saturation condition. However,
if the controller output is saturated at the HI or LO limit or if the Controller receives an inhibit
signal from a downstream algorithm, the behavior of the cascaded pair is as follows:
The downstream Controller (Controller “B” in the previous figure) asserts the conditional track
signal in its output tracking point along the applicable limit or inhibit bit. The downstream
Controller also calculates a track output value that if applied as a set point input, yields a
Controller error of zero (see the previous Equation 1).
When the upstream Controller sees the conditional track bit set it adjusts its output as follows:
If the error signal causes the Controller output to move against the inhibit signal (for example,
output attempts to increase when the algorithm is receiving a raise inhibit), then the algorithm
sets its output equal to the track input received from downstream.
If the error signal causes the output to move away from the inhibit signal, the algorithm sets
its output equal to the track input and begin controlling.
Without this mode, the upstream Controller would first have to move enough to zero the error
on the downstream Controller before having any effect on the process. This would introduce
additional dead-time in the Controller response and in the case of processes with slow
dynamics (for example, temperature control) this additional deadtime may be significant.
Only the PIDFF algorithm configured to be in cascaded mode asserts the conditional track bit.
The upstream Controller (Controller “A” in previous figure) does not pass the conditional track
bit in its track output.
OW360_R1100 445
5.86 PNTSTATUS
5.86 PNTSTATUS
Description
The PNTSTATUS algorithm outputs the states of two specified bits of the point record's status
word. When the ENBL input is TRUE, the states of BITA and BITB of the point record's status
word are output to OUTA and OUTB, respectively. For example, if the bit specified by BITA is a
one, then OUTA is TRUE. Conversely, if the bit specified by BITA is a zero, then OUTA is FALSE.
This example also holds TRUE for BITB and OUTB.
For analog and digital records, the valid range for BITA and BITB is 0 through 31.
When the ENBL input is TRUE and either the BITA or BITB operand contains an invalid bit
number, no operation occurs and the BITA and BITB outputs are FALSE.
Functional symbol
Algorithm definitions
446 OW360_R1100
5.86 PNTSTATUS
OW360_R1100 447
5.87 POLYNOMIAL
5.87 POLYNOMI AL
Description
The POLYNOMIAL algorithm performs a mathematical fifth order polynomial function. The output
of the POLYNOMIAL algorithm is the result of a fifth order polynomial equation of the input using
the coefficients listed in this description.
The quality of the analog input is propagated to the output. However, if the algorithm calculates an
invalid value for the output, the quality of the output is set to BAD, and the output value is invalid.
Functional Symbol
Algorithm definitions
448 OW360_R1100
5.87 POLYNOMIAL
Function
OUT = CX0 (IN1)0 + CX1 (IN1)1 + CX2 (IN1)2 + CX3 (IN1)3 + CX4 (IN1)4 + CX5 (IN1)5
OW360_R1100 449
5.88 PREDICTOR
5.88 PREDICTOR
Description
This algorithm can be utilized to implement a standard Smith Predictor control system structure in
processes that are characterized by dynamics that include a deadtime. The advantage of using a
Smith Predictor is that the Controller (typically a PID) tuning can be performed as if no dead time
exists in the process, and hence a relatively high gain can be applied to expedite the response.
The output of the PREDICTOR is the result of the summation of the actual process variable and a
no-delay model output minus the with-delay model output. This is illustrated mathematically in the
functional diagram. The process input to the algorithm is gain and biased. The algorithm output
directly connects to the downstream PID algorithm process input. When no dead time is present
in the process (and the model), the process variable input to the PREDICTOR directly passes
through unmodified to the downstream PID process input. You have the option to configure the
algorithm to use either a first or second order model of the plant.
Since the internal memory size for each algorithm is limited, a long dead time must be realized by
an internal time delay plus a chain of cascaded external delays (implemented by TRANSPORT
algorithm).
The plant model dead time is realized by storing N samples of the process variable. The value of
N is a function of the Process dead-time and the control area loop time. The value of N is
calculated as follows:
Due to memory limitations, the PREDICTOR algorithm can store up to eight samples. If the value
of N is greater than eight, the remainder of the samples can be realized by using Transport Delay
algorithms as shown in the configuration example of the PREDICTOR.
If the algorithm receives an invalid value as the input, or if it calculates an invalid value as the
output, the drop is placed into alarm and the output is set to the last GOOD value with quality set
to BAD. Under normal operation, the output propagates the quality of the PV input.
Functional symbol
450 OW360_R1100
5.88 PREDICTOR
Algorithm Tuning
Algorithm Definitions listed as Tuning Constants for this algorithm are monitored and modified
with the Tuning Diagrams. Parameters for the process model (gain, first and second time
constants) can also be modified by outside algorithms through selectable pins. The guideline for
tuning is that the model gain and time constants should be set as close as possible to the
parameters reflecting the real process. Tuning for the length of dead time can be implemented by
modifying the internal time delay (in T3 field) and/or the number of samples in the TRANSPORT
algorithms.
If a first order model of the plant is desired, the FOTC field of the algorithm is initialized to the
value of the time constant (in seconds) of the 1st order model. The SOTC field should be set to a
value of zero. Here the time constant refers to the time (in seconds) that is required for the Step
response of the process to achieve 66% of its final value.
If a second order model of the plant is desired, more advanced system identification methods can
be used to determine the values of the FOTC and the SOTC.
Both the gain and the dead time can be calculated by applying a step input to the control output
(output of M/A in the configuration example) of the Control Loop. The time (in seconds) that it
takes for the process variable to begin to respond is the dead time. The gain value is calculated
by taking the ratio of the change in the process output divided by the change in input (change in
the process variable divided by the change in control output).
Algorithm definitions
OW360_R1100 451
5.88 PREDICTOR
The control system structure can be illustrated by the following diagram. The dashed line box
contains the Predictor.
where:
= dead time.
452 OW360_R1100
5.88 PREDICTOR
OW360_R1100 453
5.89 PRIORITY Algorithm Package
The PRIORITY algorithm package is a combination of three individual algorithms that can be
used together to perform priority-based sequencing of devices:
PRIORITY algorithm -- consolidates complex logic to perform priority-based sequencing
when turning devices ON and OFF. The PRIORITY algorithm allows you to attach up to 16
devices and control these devices by turning them on or off based on a set of priorities
configured by the user.
PRIORITY-EXT algorithm -- dynamically calculates external priorities and is designed for use
with the PRIORITY algorithm. The algorithm allows priorities to be assigned to input device
channels by means of operating hours or other analog parameters related to devices.
PRIORITY-REJ algorithm -- provides a method to manage load rejection up to a predefined
number of devices and is designed for use with the PRIORITY algorithm. The algorithm
gathers information about priorities of devices and current devices in service, and then uses
this information to turn devices ON or OFF.
5.89.1 PRIORITY
Description
The purpose of this algorithm is to consolidate complex logic to perform priority-based sequencing
when turning devices ON and OFF. The PRIORITY algorithm allows the user to attach up to 16
devices and control these devices by turning them on or off based on a set of priorities configured
by the user.
Functional symbol
454 OW360_R1100
5.89 PRIORITY Algorithm Package
Operation
The device status is determined from the feedback inputs (FBx) and the ready for control inputs
(RDYx). An FBx input is the ON/OFF status of a device (1 = ON, 0 = OFF). A RDYx input
indicates if the device is available for control (1 = ready, 0 = not ready).
The algorithm automatically detects the maximum number of devices available for control. This is
calculated by counting the number of devices connected to the FBx pins. At most, 16 individual
devices can be controlled by one Priority algorithm. The number of devices currently ON
(NUMON) is determined by the active FBx inputs. The user, and/or control logic, determines the
number of devices currently required to turn on (NUMRQ). That value is reflected in the NUMRQ
output and is determined by the configured limitations and system inputs.
Note: If LLIM and HLIM are configured via signal diagrams, the fields will only allow a value
between 0 - 15 for LLIM and 1 - 16 for HLIM.
OW360_R1100 455
5.89 PRIORITY Algorithm Package
The algorithm commands devices ON and OFF using the Command Device ON (DVON) and
Command Device OFF (DVOFF) packed output points, where each of the 16 bits represents the
corresponding device. The algorithm calculates when to turn a device ON and OFF based on
device priority and NUMRQ. In both the DVON and DVOFF outputs, bits for unconnected devices
(FBx) are always OFF.
The algorithm calculates the next device to switch ON or OFF and sets the appropriate bit for
these devices in the Next On (NON) and Next Off (NOFF) packed output points. This calculation
is based on device priority and whether the appropriate FBx and RDYx pins are set. Both outputs
provide an indication of what device would turn on/off next, if the priorities increase/decrease or
NUMRQ is changed.
A bit map of the devices the algorithm expects to be ON is displayed in the REQON output.
Note: Devices whose RDYx signal is off, but FBx is currently on, will be added to the REQON
bit map and to the NUMON value, as well.
Priority Management
Part of the calculation for turning a device ON or OFF is based on the device priority. Priorities are
set by the user using the DPRx fields or EDPRx pins. The priority for each device can be set from
1 to 16 using the DPRx fields, or 0x0 through 0xF using the EDPRx pins, with 1 or 0x0 being the
highest priority and 16 or 0xF being the lowest. More than one device can have the same priority,
in which case higher priority is given to the lower numbered device. For example, if device 1 and
device 13 have the same priority assigned, then device 1 will always be treated as the higher
priority.
The PRIORITY algorithm will try to run the highest priority device first, and work its way to the
lowest priority device, until the NUMRQ is reached (or there are no more devices ready to
activate). For example, if device 1 has a priority of 6 and device 2 has a priority of 3, then device 2
will run before device 1. However, if device 2’s RDYx pin is deactivated and device 1’s RDYx pin
is activated, then device 1 will turn on, even though it has a lower priority.
456 OW360_R1100
5.89 PRIORITY Algorithm Package
After the algorithm accepts the new priorities, they will be displayed in the CPRx fields. If DPRx is
set to any value outside the range of 1 to 16, CPRx will be set to 16, but the algorithm will not
change the DPRx fields.
Disabled/Auto/Manual Mode
Selecting between disabled, automatic, and manual modes can be done using the
DSABL/AUTO/MAN inputs or the Disable/Auto/Manual buttons.
In disabled mode, the algorithm will only update the status and number of active devices currently
on (NUMON) and will accept user priority changes. It will not attempt to turn on devices. In
addition, if the rotation mode (RTMOD) parameter is configured as on - ignore disabled
(ON_IGN_DSABL), the algorithm will continue to rotate priorities.
In Auto mode, certain algorithm commands are controlled via input pin connections.
The following parameters are affected by AUTO/MAN mode: INCDV, DECDV, NUM, ANUM,
CODV, CMAN, CAUTO, SDPR, and EDPRx/DPRx.
In addition, you may configure the algorithm to allow both manual and auto commands at the
same time while the algorithm is in auto mode using the manual/auto control (MACTL) parameter.
This allows the operator to direct the algorithm via pushbutton, even though the algorithm is in
auto.
If more than one of the mode signals is set at the same time, the algorithm will give precedence to
Disabled mode, then Manual mode, then Auto mode. For instance, if Manual and Auto are both
set at the same time, the algorithm will reject to Manual mode.
Operation Mode
There are three different ways to turn on several different devices. Using the operating mode
(OPMOD) parameter, devices can be turned on/off in three different modes: SERIAL, PARALLEL,
or serial on, parallel off (S_ON_P_OFF). In serial mode, the devices will be activated or
deactivated one at a time, until the NUMRQ and NUMON equal each other. In parallel mode, the
algorithm will calculate the difference between NUMRQ and NUMON and attempt to turn on/off
that many devices all at once. In serial on, parallel off mode, the algorithm will turn on devices in
serial mode but will turn off devices in parallel mode.
OW360_R1100 457
5.89 PRIORITY Algorithm Package
Rotation Mode
The PRIORITY algorithm provides the capability to automatically change device priorities
internally, based on the changing states of the FBx inputs. When Rotation mode is activated,
priorities are rotated each time one of the devices is turned on or off. When a device turns off, its
priority is set to the number of connected devices (lowest priority). Devices not connected are set
to a lower priority than all connected devices. For instance, if eight devices are connected, then all
the devices not connected are set to a higher number than 8, as long as the user did not tune the
priorities manually. Turning on a device sets it to the highest priority of 1. Priorities of all other
devices are incremented or decremented respectively.
This mode can be switched off (NO_ROTATION), switched on (ROTATION), or switched on when
the algorithm is disabled (ON_IGN_DSABL) using the RTMOD parameter.
Changeover Mode
The algorithm can be configured to rotate devices based on a set of timers, rather than an
external mechanism. This functionality is called Changeover, and it is designed to even out the
wear of devices while they are running for an extended period of time.
In order to activate changeover, RTMOD must be in an active state (that is, ROTATION or
ROT_WHEN_ENBL modes). In addition, COMOD must be configured to UP_CHNGOVER or
DN_CHNGOVER modes and the three changeover timers need to be configured. The input signal
changeover enable (COEN) indicates that changeover is ready to run (when it is not connected
changeover is enabled by default).
Example:
First, a command is given to the algorithm to start a changeover via the Changeover Device
(CODV) signal. The algorithm will increase the NUMRQ from 3 to 4 (COMOD is set to
UP_CHNGOVER). The fourth Device would have the length of TAC timer (allowed time for
changeover) to turn on. If the device turns on in time, then NUMRQ will hold four devices until the
TTC (transition time) timer counts down to zero. Once TTC reaches zero, NUMRQ is set to 3
again and then the device that had the highest priority needs to turn off before TAC reaches zero.
The following state table displays the possible states that changeover can be in. These states are
reported through the CSTAT output.
Bits description
BITS DESCRIPTION
458 OW360_R1100
5.89 PRIORITY Algorithm Package
BITS DESCRIPTION
OW360_R1100 459
5.89 PRIORITY Algorithm Package
Finished State
Job: Start TAC count down. Increase/decrease required devices number.
Reason: Changeover was in “Pending” state, devices have been in the same state for
time set in TTC counter.
Outputs: TAC is output to CTIME pin. “Finished” Flag is set. New REQON output is set.
Next State: “Idle,” “Timeout”
On hold State
Job: To wait for enable changeover signal (COEN input).
Reason: Algorithm is ready to change state but COEN signal is not present.
Outputs: ”On hold” flag is set.
Next State: “Started,” “Pending,” “Finished”
Timeout State
Job: Abandon changeover sequence, reject to manual changeover mode, restart TBC
countdown.
Reason: Requested change of device states did not occur during TAC countdown.
Outputs: “Timeout” flag is set. Changeover mode is set to manual. “Manual reject” flag is
set. TBC is output to CTIME pin.
Next State: “Idle”
External Change State
Job: Abandon changeover, reinitialize TBC countdown.
Reason: External change occurred during changeover sequence.
Outputs: “External Change” flag is set. TBC is output to CTIME pin.
Next State: “Idle”
Reinitialize State
Job: Reinitialize TBC countdown.
Reason: External change occurred when changeover was idle.
Outputs: “Reinitialize” flag is set. TBC is output to CTIME pin.
Next State: “Idle”
460 OW360_R1100
5.89 PRIORITY Algorithm Package
Manual Reject
Job: This is the error state for automatic changeover.
Reason(s): If there is an interruption in the sequence during Auto Changeover, then the
sequence will default to Manual Changeover.
Interruptions include the following:
Unexpected change in the number of required devices.
The control mode is changed from auto, to manual or disabled.
SDPR is activated and new device priorities are excepted.
One of the timers (TAC, TBC, TTC) finished counting down before its task could
complete.
TBC is initially set to zero or less.
To clear the Manual Reject, start the sequence again. However, if the interruption was
never taken care of, or accrues again, then the sequence will again abort to this state.
The algorithm allows the user to specify up to 32 prohibited configurations. This is represented as
32 individual bit maps. For example, if bits 0, 2, and 10 are set, then devices 1, 3 and 11 cannot
run at the same time. If the algorithm tries to change devices to a configuration that is forbidden,
then the algorithm will try to find another configuration that will work.
Note: Prohibited configurations only apply to exact instances of running devices. For instance, if
devices 1, 2, and 3 are prohibited from running, and devices 1, 2, 3, and 4 are requested to run,
then the prohibited configuration will not apply, and all four devices will run. However, if only
devices 1, 2, and 3 are attempting to run, then the algorithm will prevent the devices from
running.
Algorithm Status
Algorithm status and error information is stored in the STAT output. The STAT output bits are
defined as shown:
Bits description
BITS DESCRIPTION
OW360_R1100 461
5.89 PRIORITY Algorithm Package
BITS DESCRIPTION
SID Storage
In order to assist with graphics programming, all output point SIDs are stored in fields in the
algorithm. This allows the graphic to access multiple SIDs by accessing a single SID (the
algorithm LC record).
Algorithm definitions
Inputs:
462 OW360_R1100
5.89 PRIORITY Algorithm Package
OW360_R1100 463
5.89 PRIORITY Algorithm Package
464 OW360_R1100
5.89 PRIORITY Algorithm Package
Outputs:
DVON B1 - SID Variable Required -- Specifies the devices LP
to be switched ON, but
not OFF
DVOFF B2 - SID Variable Required -- Specifies the devices LP
to be switched OFF,
but not ON
NON YU - SID Variable Optional -- Specifies the next LP
device to go ON
OW360_R1100 465
5.89 PRIORITY Algorithm Package
Input Params:
MACTL D0 Tuning Required 0 Specifies the manual or
Constant auto Control mode:
0 - Normal
1 - Man in Auto
NRTYPE X7 Tuning Required 0 Specifies the number
Constant required type counting:
0 - TOTAL
1 - BASE
OPMOD YQ Tuning Required 0 Specifies the operation --
Constant mode:
0 - SERIAL
1 - PARALLEL
2 - S_ON_P_OFF
Serial on parallel off
RTMOD D2 Tuning Required 0 Specifies the rotation --
Constant mode:
0 - OFF
1 - ON
2 - ON_IGN_DSABL
COMOD YP Tuning Required 0 Specifies the --
Constant Chanceover modes:
0 - NO_CHNGOVER
1 - UP_CHNGOVER
2 - DN_CHNGOVER
TBC D6 Tuning Required 1 Specifies the time --
Constant period between
changeovers
TAC YN Tuning Required 1 Specifies the time --
Constant allowed for changeover
(between start and
stop)
TTC D8 Tuning Required 1 Specifies the time to --
Constant remain in the "Pending
State" during
changeover
466 OW360_R1100
5.89 PRIORITY Algorithm Package
OW360_R1100 467
5.89 PRIORITY Algorithm Package
468 OW360_R1100
5.89 PRIORITY Algorithm Package
OW360_R1100 469
5.89 PRIORITY Algorithm Package
5.89.2 PRIORITY-EXT
Description
The PRIORITY-EXT algorithm allows the user to dynamically calculate external priorities and is
designed for use with the PRIORITY algorithm. The algorithm allows priorities to be assigned to
input device channels by means of operating hours or other analog parameters related to devices.
Functional symbol
470 OW360_R1100
5.89 PRIORITY Algorithm Package
Sorting
The PRIORITY-EXT algorithm sorts inputs using the status of each analog input based on the
status priority mode (SPMOD), and the value of the analog input (AINx) based on the sorting
mode (SOMOD).
The algorithm sorts by Status first. The status priority mode is configured via the SPMOD
parameter:
Note: Even if SPMOD is set to NONE, inputs that are not connected will have the lowest
priorities.
Standard
Status Priority 0 – Quality - Good
Status Priority 1 – Quality - Fair
Status Priority 2 – Quality - Poor
Status Priority 3 – Quality - Bad
Status Priority 4 – Sensor
Status Priority 5 – Timeout
Status Priority 7 – Point Not Connected
Custom – user can assign each status (SPG, SPF, SPP, SPB, SPS, SPT) a custom priority
(0-5)
None - Priorities are not taken into account while sorting inputs
Note: It is possible for a point to have an assigned quality and also be in Sensor or Timeout
status. In this scenario, Timeout takes precedence over Sensor, and Sensor takes precedence
over all Quality statuses.
Sorting Mode
Once the algorithm sorts by status, it will then sort the inputs by value. Sorting mode (SOMOD)
determines how the algorithm will sort the inputs. If ascending, the algorithm will assign a greater
priority to the lower numbered input with the lowest value. If descending, the algorithm will assign
greater priority to the higher numbered input with the highest value.
Each output contains packed priorities for four devices. Priorities are zero based (Highest priority -
0x0 through Lowest priority - 0xF) are output through four packed points EDPR1-EDPR4. Bits 0-3
of EDPR1 contain the priority for input/device 1; bits 4-7 in EDPR1 contain the priority for
input/device 2; bits 8-11 in EDPR1 contain the priority for input/device 3; and bits 12-15 contain
the priority for input/device 4. EDPR2 applies to inputs 5-8, EDPR3 applies to inputs 9-12, and
EDPR4 applies to inputs 13-16. The EDPRx outputs can be connected directly to the EDPRx
inputs of the PRIORITY algorithm.
OW360_R1100 471
5.89 PRIORITY Algorithm Package
The current device priority fields store the same values that are in the EDPR outputs for use with
graphics applications. The priorities in these fields are one based. For instance, if the priority
displayed in EDPRx is 0x0, the priority will display as 1 in the CPR field. If it is a 0x5 in EDPRx, it
will display as a 6 in the CPR field.
Algorithm definitions
Inputs:
472 OW360_R1100
5.89 PRIORITY Algorithm Package
Outputs:
EDPR1 -- Variable Required -- Priorities for LP
devices
1 - 4.
EDPR2 -- Variable Optional -- Priorities for LP
devices
5 - 8.
EDPR3 -- Variable Optional -- Priorities for LP
devices
9 - 12.
EDPR4 -- Variable Optional -- Priorities for LP
devices
13 - 16.
Input Params:
SOMOD X1 Tuning Required 0 Sorting mode: --
Constant
0 - Ascending
1 - Descending
SPMOD X2 Tuning Required 0 Status Priority: --
Constant
0 - Standard
1 - Custom
2 - None
SPG X4 Tuning Required 0 Assigned Priority --
Constant for status: GOOD
quality.
SPF X5 Tuning Required 1 Assigned Priority --
Constant for status: FAIR
quality.
SPP X6 Tuning Required 2 Assigned Priority --
Constant for status: POOR
quality.
SPB X7 Tuning Required 3 Assigned Priority --
Constant for status: BAD
quality.
SPS X8 Tuning Required 4 Assigned Priority --
Constant for status:
SENSOR.
SPT X9 Tuning Required 5 Assigned Priority --
Constant for status:
TIMEOUT.
CPR1 G0 Alg. Init. Variable 0 Current Priority --
for Device 1.
CPR2 G1 Alg. Init. Variable 0 Current Priority --
for Device 2.
OW360_R1100 473
5.89 PRIORITY Algorithm Package
474 OW360_R1100
5.89 PRIORITY Algorithm Package
5.89.3 PRIORITY-REJ
Description
Functional symbol
OW360_R1100 475
5.89 PRIORITY Algorithm Package
Each PRIx input contains the packed priorities for four devices (PRI1 though PRI4). For example,
Bits 0-3 of PRI1 contain the priority for device 1; bits 4-7 contain the priority for device 2; bits 8-11
contain the priority for device 3; and bits 12-15 contain the priority for device 4. PRI2 applies to
devices 5-8, PRI3 applies to devices 9-12, and PRI4 applies to devices 13-16.
The PRIx inputs are designed to be used with the PRIx outputs of the PRIORITY algorithm. The
priorities of each device can only be set between 0x0 (the highest priority) and 0xF (the lowest
priority). If two (or more) devices have the same priority, then the lowest numbered device will be
given higher priority.
Algorithm Status
Algorithm status and error information is stored in the STAT output. The STAT output bits are
defined as shown:
Bits description
BIT DESCRIPTION
SID Storage
In order to assist with graphics programming, all output point SIDs are stored in fields in the
algorithm. This allows the graphic to access multiple SIDs by accessing a single SID (the
algorithm LC record). Output SIDs are mapped into the C0 - C2 fields.
476 OW360_R1100
5.89 PRIORITY Algorithm Package
Algorithm definitions
Inputs:
OW360_R1100 477
5.90 PSLT
5.90 PSLT
Description
PSLT calculates Pressure of Saturated Liquid given its Temperature. It is one of the functions of
the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
478 OW360_R1100
5.91 PSVS
5.91 PSVS
Description
PSVS calculates Pressure of Saturated Vapor given its Entropy (S). It is one of the functions of
the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
OW360_R1100 479
5.92 PULSECNT
5.92 PULSECNT
Description
The PULSECNT algorithm counts the number of FALSE to TRUE transitions of the digital input
point. If the Reset flag is TRUE, the output count is set to zero before the digital value is checked.
Functional symbol
Algorithm definitions
Function
IF RSET
THEN OUT = 0
IF IN1 = TRUE AND OLDIN = FALSE
THEN OUT = OUT + 1
where:
480 OW360_R1100
5.93 QAVERAGE
5.93 Q AVERAGE
Description
The QAVERAGE algorithm output is the unweighted average of the N inputs. Analog inputs
whose quality is BAD, or whose value is not being updated, are excluded from the average
calculation so that only the remaining inputs are averaged. The quality of the output equals the
worst quality of all the input values averaged. If all points have BAD quality, the old output value is
retained, and the quality of the output is set BAD.
The values of the analog inputs to the algorithm are checked for invalid real numbers. If the value
of an input is invalid, that input is considered to have BAD quality.
Functional symbol
Algorithm definitions
Function
If the quality is GOOD for all points, and the points are being updated,
THEN OUT = (IN1 + ...INN)/N
Any point with BAD quality is excluded from the average. If all points have BAD quality,
THEN OUT = OLDOUT
and the quality is BAD.
OW360_R1100 481
5.94 QUALITYMON
5.94 QUALITYMON
Description
The QUALITYMON algorithm sets the digital output signal (OUT) TRUE if the input value (IN1)
has the same quality as selected in the quality type field(X1). IN1 can be either an analog or
digital variable.
The value of the input (IN1) to the algorithm is checked for invalid real numbers. If the input value
is invalid, that input is considered to have BAD quality, and the digital output (OUT) is set TRUE.
Functional symbol
Algorithm definitions
Function
If the quality of IN1 is the selected quality type, or if its value is not being updated,
THEN OUT = TRUE
ELSE
OUT = FALSE
482 OW360_R1100
5.95 RAMPGEN
5.95 RAMPGEN
Description
The RAMPGEN algorithm ramps its output to follow a setpoint target when in automatic mode, or
it ramps the output up or down at a fixed rate in manual mode.
Functional symbol
Functionality
The bits in the STIN input pin control the behavior of the RAMPGEN algorithm.
Bits description
BIT DESCRIPTION
Bit 0 Initialize OUT to INIT input. If this bit is active, OUT is set immediately to the
INIT value. If the INIT value is higher than HILM or lower than LOLM, then
OUT is cut to the limit.
Note: If Bit 0 is set to TRUE, it overrides the other bits. The algorithm initializes OUT to INIT and
ignores the other bits.
OW360_R1100 483
5.95 RAMPGEN
BIT DESCRIPTION
The state of the algorithm is presented from the STOU output pin. It is a word of 16 consecutive
bits. They are:
Bits description
BIT DESCRIPTION
The OUT output pin keeps the current value for setpoint.
Also note:
Fast and slow ramp has to be a positive value.
DDBND parameter has to be greater or equal to 0.0. This parameter defines the minimum
value of output change to set Bit 3 or Bit 4 in the STOU output pin.
BIT 3 is TRUE when (OUT – LAST_OUT) > DDBND * task_area.
BIT 4 is TRUE when (OUT – LAST_OUT) < -DDBND * task_area.
484 OW360_R1100
5.95 RAMPGEN
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog track point. This algorithm takes the following action in response to the information
found in the analog input signal TRKIN:
Quality
The quality of the OUT pin will be set to the same value as the lowest quality analog input pin. For
example, if the INIT pin quality is BAD, LORT quality is FAIR, and all other inputs quality are
GOOD, then the OUT quality is set to BAD. In this case, the algorithm calculates the value based
on the bits in the STIN input and updates the OUT and TOUT pins in each loop.
The quality of the STIN input is not considered in the quality calculations.
If the value of inputs used for OUT calculations is invalid (INF or NAN), then the algorithm does
not update the SETPT and TOUT pins – the outputs are set to the last correct value.
OW360_R1100 485
5.95 RAMPGEN
Algorithm definitions
486 OW360_R1100
5.96 RATECHANGE
5.96 RATECHANGE
Description
The RATECHANGE algorithm calculates the analog value of OUT as the smoothed rate of
change of IN1. The smoothing time constant (SMTH) can either be dynamic, using an input pin, or
a constant, by defining it within the algorithm. This calculation is performed once per loop cycle
giving OUT units of [IN1] per loop time.
If the smoothing time constant (SMTH) is less than zero, the negative value is ignored and the
calculation is performed with a smoothing time constant of 0. The quality of OUT is then set to
BAD. The quality of OUT will also be set to BAD if an invalid real number is read from IN1. Unless
either of these situations occur, the quality of OUT will be the same as the quality of IN1.
Functional symbol
Algorithm definitions
Note: This is
approximately 1/5
of the total time to
settle. For
example, for 1
minute total, set
SMTH to 12
seconds.
OW360_R1100 487
5.96 RATECHANGE
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
Function
where:
S(N) = smoothed value of the analog variable (alpha x IN1) + (beta x old
smoothed value)
SS(N) = double smoothed value of the analog variable (alpha x S(N)) + (beta x old
double smoothed value)
488 OW360_R1100
5.97 RATELIMIT
5.97 RATELIMIT
Description
The RATELIMIT algorithm is a rate limiter with fixed rate limit and flag when rate limit is
exceeded. For the RATELIMIT algorithm, if the rate of change of the output is less than or equal
to the rate limit, the output equals the input, and the digital output flag is set FALSE. If the rate of
change of the output is greater than the rate limit, the output change is limited to the rate limit
value and the digital output flag is set to TRUE. The quality of the analog input is propagated to
the output.
The input value (IN1) to the algorithm is checked for invalid real numbers. If the input value is
invalid, the output is invalid and the quality of the output is set to BAD. Also, if the input is invalid,
the digital output flag retains its last value and its quality is set to BAD. If the input value is valid,
the quality of the input is propagated to the output.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog track point. This algorithm takes the following action in response to the information
found in the analog input signal TRIN:
OW360_R1100 489
5.97 RATELIMIT
The high and low limit flags and the tracking signals from the algorithm are output to TOUT, to be
used for display and by an upstream algorithm. If the output value is invalid, the quality of OUT is
set to BAD. Otherwise, the quality of OUT is set to the quality of the input when not in tracking
mode. When tracking, the quality is set to the quality of the track input variable.
Note: If the algorithm generates an invalid track output value, the IN1 input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and IN1 input values are invalid.
Algorithm definitions
490 OW360_R1100
5.97 RATELIMIT
OW360_R1100 491
5.97 RATELIMIT
Function
where:
492 OW360_R1100
5.98 RATEMON
5.98 RATEMON
Description
The RATEMON algorithm is a rate of change monitor with reset deadband and fixed/variable rate
limit. For the RATEMON algorithm, if the input value (IN1) increases at a rate faster than the
user-specified rate of change limit in the positive direction, or decreases at a rate faster than the
user-specified rate of change limit in the negative direction, the digital output flag (OUT) is set
TRUE. To reset the output flag, the input value must increase at a rate slower than the rate of
change limit in the positive direction minus the deadband on the positive rate of change limit, or
decrease at a rate slower than the rate of change limit in the negative direction minus the
deadband on the negative rate of change limit.
The input value (IN1) is checked for invalid real numbers. If IN1 is invalid, the digital flag retains
its last value and its quality is set to BAD.
Functional symbol
Algorithm definitions
OW360_R1100 493
5.98 RATEMON
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
Function
where:
494 OW360_R1100
5.99 RESETSUM
5.99 RESETSUM
Description
The RESETSUM algorithm accumulates until told to reset. For the RESETSUM algorithm, if the
Run flag is TRUE, the output value (OUT) is the sum of the gained input value (IN1) and the old
output value. If the Freeze flag is TRUE, the output value is also stored in the frozen output
(FOUT). As OUT continues to totalize IN1, the value in FOUT is frozen when the Freeze flag
reverts back to FALSE.
If the Reset flag is TRUE, OUT is set to the reset count stored in the RCNT (R1) field of the
algorithm record. If the Run flag is FALSE, the algorithm does nothing. You may tune the output
value anytime by setting the TRST (R3) field of the algorithm record to a non-zero value. The
algorithm will set the TRST (R3) field back to zero after it detects a non-zero value. The TRST
(R3) value is checked first; then, the Reset flag is checked before the summation is made.
Note: The Ovation system is limited to single precision floating point numbers, which can affect
algorithm precision. This may be seen if the RESETSUM algorithm stops updating its output and
locks at what appears to be a maximum value (though no max value is defined or reached). For
more information on this, refer to: What are single precision floating point numbers?
(see page 6).
Functional symbol
The quality of the input is propagated to the output points (OUT and FOUT) under the following
conditions:
The RUN flag is TRUE.
The outputs are not scan-removed.
The values of the inputs and outputs are valid real numbers.
The RSET flag must be FALSE for the quality of the output (OUT) to be updated. However, if
the RSET flag is TRUE, the output retains its last quality value.
The freeze flag (FFLG) must be TRUE for the quality of the frozen point (FOUT) to be
updated. However, if the freeze flag is FALSE, the frozen output (FOUT) retains its last quality
value.
OW360_R1100 495
5.99 RESETSUM
The quality of the output is not affected by requests to tune the value of the output through the
use of the R3 record field or by setting the RSET flag to TRUE.
Quality propagation is overruled by invalid real numbers. If the input (IN1) contains an invalid real
number, the quality of the output (OUT) is set to BAD, providing the point is not scan-removed
and that the RUN flag is TRUE. The quality of the frozen output point (FOUT) is also set to BAD if
the point is not scan-removed and the freeze flag (FFLG) is TRUE.
The value of the input (IN1) is checked for invalid real numbers. If the input value is invalid, the
output (OUT) retains its last valid value. If the input value is valid, the quality of IN1 is propagated
to OUT.
If the FFLG flag is TRUE and the input is invalid, the value of the frozen output (FOUT) is equal to
the output (OUT).
If the input is invalid, any requests to digitally reset the output value (OUT) through the use of the
RSET flag are ignored.
Algorithm definitions
496 OW360_R1100
5.99 RESETSUM
Function
IF TRST 0
IF RUN = TRUE
IF FFLG = TRUE
IF RSET = TRUE
ELSE
OUT = TEMP
where:
OW360_R1100 497
5.100 RLICONFIG
5.100 RLICONFIG
Description
The RLICONFIG algorithm is used to send data constant information to the Loop Interface card. If
the data stored in the card versus the data stored in the algorithm is different, then the algorithm
sends the information in the algorithm to the card. The algorithm supports tuning either the
Control Defined Process Variable, the Setpoint or Output/Drive, Analog Input 1, or Analog Input 2
sections of the Loop Interface card.
The optional STAT output point contains the status of the Loop Interface card. The following
conditions apply:
If bit 0 is true, then the algorithm cannot communicate with the card.
If bit 1 is true, the algorithm is configuring the setpoint section.
If bit 2 is true, the algorithm is configuring the process variable section.
If bit 3 is true, the algorithm is configuring the electric drive section.
If bit 4 is true, the algorithm is configuring the analog input 1 section.
If bit 5 is true, the algorithm is configuring the analog input 2 section.
Functional symbol
498 OW360_R1100
5.100 RLICONFIG
Algorithm definitions
OW360_R1100 499
5.100 RLICONFIG
500 OW360_R1100
5.100 RLICONFIG
Notes:
The slow/fast, raise/lower pulse on/off times for electric drive signals (low byte = off time;
high byte = on time) are in units of 0.1 or 0.004 seconds.
Two ranges of value (0.1 or 0.004 second resolution) are available for the electric drive
slow/fast action pulse on/off values.
For 0.1 second resolution, byte values in the range of 0 to 127 (00 to 7FH) are used. For
example, 03H represents a 0.3 second pulse time (3 x 0.1).
For 0.004 second resolution, byte values in ranges 128 to 255 (80 to FFH) are used to
represent the range 0 to 127. For example, 83H represents a 0.012 second pulse time
(3 x 0.004).
OW360_R1100 501
5.101 RPACNT
5.101 RP ACNT
Description
The RPACNT algorithm reads the pulse count from the Ovation Pulse Accumulator card. The
algorithm uses the hardware address in the OUT point to access the Ovation Pulse Accumulator
card.
When IN1 is TRUE, the algorithm reads the pulse count from the card, resets the counter to zero
and stores the pulse counts in OUT. Conversion may be done on the pulse value before the pulse
count is stored in the OUT point. A linear conversion, if chosen, is taken from the CV, 1V and 2V
of the OUT point. For example, consider the case in which the input is a count of contact closures
from a watt hour meter. The number of megawatt hours per pulse can be accounted for in the
coefficients that are calculated as part of the point record. For example, to get the megawatt
hours per hour, the rate would be:
The FOUT point contains accumulated pulse count until the reset flag (RSET) is TRUE. If IN1 and
RSET are TRUE, then FOUT contains the pulse count read from the card.
Functional symbol
Algorithm definitions
502 OW360_R1100
5.102 RPAWIDTH
5.102 RP AWIDTH
Description
The RPAWIDTH algorithm reads the pulse width from the Ovation Pulse Accumulator card
(See Ovation I/O Reference Manual). The algorithm uses the hardware address in the OUT point
to access the Ovation Pulse Accumulator card. If there is a hardware error, the OUT is set to BAD
quality.
Functional symbol
Algorithm definitions
OW360_R1100 503
5.103 RSRSTATUS
5.103 RSRSTATUS
Description
Note: Use the RSRSTATUS algorithm only with E or greater level of RSR firmware.
Functional symbol
Calibration Commands
There are three different types of calibrations that can be done to the valve:
0% or Low Calibration command - moves the actuator until the 0% position is
re-established. The feedback gain is not re-established.
100% or High Calibration command - moves the actuator until the 100% position is
re-established. The feedback gain is not re-established.
Full Calibration command - moves the actuator until both the 0% and 100% positions are
re-established. It also re-establishes the feedback gain.
During the travel sequence, the actuator moves the valve at a programmable rate. While the
Valve Positioner is traveling, the graphic displays and continuously updates the current voltage
value based on the position. There is also a Clear Calibration command that may be used if the
calibration command is no longer desired.
The UTYP parameter can be configured to allow the constant value to be automatically uploaded
after any calibration command.
504 OW360_R1100
5.103 RSRSTATUS
Upload Command
The upload command is used to retrieve the constant values currently stored in the RSR card
memory. When the upload command is executed, the X3 value is changed and the RSR card is
commanded to send the current values stored in its memory to the 32-bit real number fields of the
algorithm record. The standard graphic then displays the values in these selected algorithm
record fields for the user when the upload is finished. Note these values can only be uploaded
when the RSR card is in local or normal mode.
Note: For the Ovation 3.5 release and later, the UPLOAD operation can change the OutputMin
and OutputMax values maximally about +/-2 but only one time. For example, if you set
OutputMax=9000, this value will be changed to 8999 after download and upload operations and
will not be changed until you type a new value. This property is related to a numerical rounding
issue and the fact that the RSR card tunes parameters as a short unsigned INT.
Download Command
The download command is used to update the constant values currently stored in the RSR Card
memory. When the download command is requested, the X3 field is changed, and the values
entered into the graphic are stored in the 32-bit real number fields of the algorithm record. Then
the values in the selected fields of the algorithm record are written to the RSR memory. Note
these values can only be downloaded when the RSR card is in local or normal mode.
The DTYP parameter can be configured to automatically download the constant values when the
RSR card is replaced or reseated in the slot.
Interface Information
The calibration commands are sent to the X3 field in the algorithm record.
Command description
0 No Command.
8 Upload Request.
9 Download Request.
11 Channel 2 Calibrate 0%
OW360_R1100 505
5.103 RSRSTATUS
As the commands are being executed, messages are displayed on the graphic by the status
value in the X5 field of the algorithm record.
Status description
STATUS DESCRIPTION
0 No Message.
1 Calibration in Progress.
2 Poor Calibration.
3 Calibration Time-out.
4 Upload Error.
5 Download in Progress.
6 Download Error.
7 Download Time-out.
506 OW360_R1100
5.103 RSRSTATUS
In order to perform tuning calibrations on the RSR module, you need to use a tuning diagram
such as diagram 8799. This diagram is accessed from a custom graphic. You can use the
Ovation Graphics Builder to create code that will call the 8799 calibration diagram. Refer to the
Ovation Graphics Builder User Guide for more information on building Ovation graphics.
The following is an example of calling the 8799 diagram from diagram 1000 by using a standard
OL_BUTTON command in Ovation Graphics Builder:
OL_BUTTON 6868 6044 HORZ SQUARED TEXT_LABEL VECTOR 137 438 1 "RSR
TUNING" EXEC_POKE 7 2 6 0 5 \RSRSTAT\ ID \RSRSTAT\ ID 3 83 3 117 8799 20 0 0 0 0
15 \RSR-DMD1\ ID \RSR-POS1\ ID\RSR-INTGV1\ ID \RSR-DMD2\ ID \RSR-POS2\ ID
\RSR-INTGV2\ ID \RSR-STAT1\ ID \RSR-STAT2\ ID \RSR-CMD\ ID \MASTATION1\ ID
\MAMODE1-MODE\ ID \MASTATION2\ ID \MAMODE2-MODE\ ID \RSR-OUT1\ ID
\RSR-OUT2\ ID
* RSRSTAT - RSRSTAT LC point
* RSR-DMD1 - RSR IO point - channel 5
* RSR-POS1 - RSR IO point - channel 1
* RSR-INTGV1 - RSR IO point - channel 3
* RSR-DMD2 - RSR IO point - channel 6
* RSR-POS2 - RSR IO point - channel 2
* RSR-INTGV2 - RSR IO point - channel 4
* RSR-STAT1 - RSRSTAT STAT1 output point
* RSR-STAT2 - RSRSTAT STAT2 output point
* RSR-CMD - RSRSTAT CMD output
* MASTATION1 - MASTATION1 LC point
* MAMODE1-MODE - MAMODE1 - MODE output point
* MASTATION2 - MASTATION2 LC point
* MAMODE2-MODE - MAMODE2 - MODE output point
* RSR-OUT1 - RSRSTAT OUT1 output point
* RSR-OUT2 - RSRSTAT OUT2 output point
OW360_R1100 507
5.103 RSRSTATUS
Diagram 8799
Diagram 8799 consists of three main sections: Common, Channel 1 and Channel 2:
Common section contains configuration pushbuttons and tuning constant entry fields common
for both channels.
Channel 1 section contains configuration pushbuttons, tuning constant entry fields and
message lines used only for Channel 1.
The Channel 2 section contains configuration pushbuttons, tuning constant entry fields and
message lines used only for Channel 2.
Calibration is performed by using command pushbuttons and entering tuning constants in the
entry fields. Some of the pushbuttons are accompanied with rectangular confirmation boxes –
when the function is selected, the color changes from black to yellow.
508 OW360_R1100
5.103 RSRSTATUS
The pushbuttons and entry fields that are used to set configuration values are described in the
following table.
INTEGRAL button DAC is displayed in RawVoltage and OutputValue for both channels -
the yellow rectangle confirms selection.
LVDT button Feedback voltage is displayed in RawVoltage and OutputValue for
both channels - the yellow rectangle confirms selection.
PROPOR button Proportional output option flag to 1 - the yellow rectangle confirms
selection.
REGUL button Proportional output option flag to 0 - the yellow rectangle confirms
selection.
REDUND button Redundant LVDT option flag to 1 - the yellow rectangle confirms
selection.
SINGLE button Redundant LVDT option flag to 0 - the yellow rectangle confirms
selection.
INPLACE button Fail-in-place flag to 1 - the yellow rectangle confirms selection.
retreatHoldT entry field The time in milliseconds - retreat occurs after this time has expired,
and (ABS|Target-Feedback| < posErrorRetreat).
OW360_R1100 509
5.103 RSRSTATUS
Calibration is performed by using command push buttons and entering tuning constants in the
entry fields. Some of the push buttons are accompanied with rectangular confirmation boxes –
when the function is selected the box color is changed. The full, zero hot and top hot calibration
sequences can be started selecting proper push buttons. The calibration sequence can be
stopped at any time. It is not possible to start calibration sequence for both channels
simultaneously. When the calibration of any channel is in progress DOWNLOAD, UPLOAD,
CLEAR EF’s, OUTPUT, LVDT push buttons are disabled.
When the calibration is finished, the tuning of the PI position control should be performed. It can
be done in RSR local or normal mode. When local mode is selected the only way to change the
valve position demand is to press UP or DOWN push buttons. Normal mode is selected by
pressing DPU push button and the valve position demand is changed by pressing up/down arrow
push buttons, or entering demand in DEO entry field.
The following push buttons and entry fields are used to set the values of important configuration.
DPU button RSR channel 1(2) to normal mode - the green rectangle confirms
selection.
LOC button RSR channel 1(2) to local mode - the yellow rectangle confirms
selection.
AUT button Mastation channel 1(2) to auto mode - the blue rectangle confirms
selection.
MAN button Mastation channel 1(2) to manual mode - the red rectangle confirms
selection.
up arrow push button Raise Mastation channel 1(2) output.
demodGain entry field The A/D converter gain to achieve a voltage range representing 0 to
100 %.
errorDbS entry field When the absolute value of the difference between the target
position and the actual position is less than this value, the valve is
considered to be stable.
510 OW360_R1100
5.103 RSRSTATUS
errorDbF entry field When the absolute value of the difference between the target position
and the actual position is greater that this value, the valve is
considered to be in motion.
piGainDb entry field PI Controller gain inside deadband.
Outoffset entry field RSR output offset for the proportional mode.
calRateCh1(2) entry field Automatic calibration demand change rate – channel 1(2).
DIRECT entry field PI mode.
seatLimit entry field When target valve position is equal to or less than this value, seating
action controls the output.
backSeatLimit entry field When the target valve position is equal to or greater than this value,
backseating action controls the output.
exitSeatVal entry field When the RSR is seating the valve, then decides to retreat, this is the
output in mV to which the output goes.
exitBkSeatVal entry field When the RSR is backseating the valve, then decides to retreat, this
is the output in mV to which the output goes.
Calzero entry field The converted to decimal hexadecimal A/D converter reading for the
0% position.
Calhndrd entry field The converted to decimal hexadecimal A/D converter reading for the
100% position.
Contingency entry field The difference between Servo Driver target position and actual
Position.
The following display fields in the bottom of the 8799 diagram are used to display the status and
calibration of the RSR module.
FIELD DESCRIPTION
OW360_R1100 511
5.103 RSRSTATUS
FIELD DESCRIPTION
Algorithm definitions
512 OW360_R1100
5.103 RSRSTATUS
OW360_R1100 513
5.104 RUNAVERAGE
5.104 RUNAVERAGE
Description
The output, which is calculated every loop, is the average of the last N samples of the input,
where N is 8 or less. Thus, the time period for the average is the product of the sampling interval
time and the number of samples. If the quality of the input is BAD, that value of the input is not
included in the calculation. If the quality of the samples for a given period is BAD, then the output
value remains unchanged, but the quality is set BAD. During initial operation before N samples
exist, the output that is calculated is based on the available samples.
The values of all IN1 samples are checked for invalid real numbers. If an IN1 sample value is
invalid, the stored, internal quality of that IN1 is set to BAD. Only sample values with GOOD,
FAIR, and POOR quality are used to calculate the value of OUT; the quality of OUT is set
according to the rules listed in the Function section of this description.
At any given time, the output is the average of N samples, made up of the most current sample
and the previous N-1 samples. Every sampling time, the oldest sample is discarded and replaced
with a new sample.
Functional symbol
514 OW360_R1100
5.104 RUNAVERAGE
Algorithm definitions
Function
OW360_R1100 515
5.105 RUNTIME
5.105 RUNTIME
Description
The RUNTIME algorithm counts long-lasting service times of devices. This algorithm consists of
two counters; run time (RTIME) and number of starts (NUMST).
Functional symbol
The algorithm is activated when you set the START input. When this occurs, the algorithm begins
to increment the RTIME counter and also increments the NUMST parameter by 1. The START
input must remain set to activate the algorithm. If the START input is unset, the algorithm will stop
incrementing the RTIME counter.
You can reset the algorithm through the time reset (TRST) and number of starts reset (SRST)
inputs. Resetting the algorithm through these inputs will set both the RTIME and the NUMST
counters to 0 and qualities to GOOD.
There are several reset options available through the tuning parameters: time reset option
(TROP) and starts reset option (SROP). These options are summarized in the following table:
516 OW360_R1100
5.105 RUNTIME
The run time (RTIME) parameter is determined by the difference between the Controller time in
the current loop and the Controller time in the previous loop and added to an internal counter. The
internal counter is a 32-bit integer number. This allows counting up to 2^32 = 4,294,967,296
seconds which is equivalent to 136 years or 1,193,046 hours. For simplicity, the algorithm uses a
maximum of 999,999 hours at which time the counter will not increment any further. The
maximum value is equivalent to more than 100 years. The number of seconds is recalculated to
hours represented by a floating value and is reflected in the RTIME algorithm output.
The number of starts (NUMST) parameter is determined by the amount of times the START input
transitions from 0 to 1. This counter is reflected in the number of starts (NUMST) output and is
internally stored in the algorithm. The maximum number of starts is 999,999, at which time the
counter will not increment any further.
The algorithm supports splitting the time represented in RTIME into hours, minutes, and seconds.
Each part is reflected in optional outputs; run hours (RHRS), run minutes (RMIN), and run
seconds (RSEC).
A manual update of either the RTIME counter or the NUMST counter can be achieved by
changing either the incremental tuning value for the time parameter (TTIM) or the incremental
tuning value for the number of starts parameter (TNST) respectively. Changing these parameters
will cause the algorithm to add the value entered to the current RTIME or NUMST value. The
algorithm will then zero out each field (TTIM and/or TNST) and update the current incremental
tuning value for time (CTTIM) or current incremental tuning value for number of starts (CTNST)
respectively. The CTTIM and CTNST fields store the user-entered values for future references.
If you want to start the algorithm with either the TTIM or TNST values, you must first reset each
counter to zero out the current RTIME and NUMST counters. Then the TTIM and TNST values
can be entered.
Note: Entering a number less than zero or greater than 999,999 will cause the algorithm to
ignore the value and reset the TTIM and TNST fields to zero.
OW360_R1100 517
5.105 RUNTIME
The INITP option, allows you to determine how the algorithm initializes its outputs after a clear
and load of both Controllers at the same time. The major difference is that in the INITP mode, the
RUNTIME algorithm reads the last saved output point value from the controller memory. In this
case the initial quality is taken from the point directly.
If the INITP option is ON, then the RUNTIME algorithm initializes its outputs from the NUMST and
the RTIME output points that are periodically saved by the Controller. This allows the RTIME and
the NUMST values to persist in cases of dual power failures to a Controller pair. The saved point
values do not persist when both the Controllers are cleared at the same time; however, you may
use the RECOP option described above. If both the INITP and the RECOP options are ON, the
RUNTIME algorithm initializes its outputs using whichever value is greater.
Notes:
You must configure both the RTIME and NUMST points to be “Periodic save” using the
Ovation Developer Studio. The resolution of the INITP option is limited by the Controller
parameter “Save Variables @ Interval (sec)” defined by the Ovation Developer Studio. See
Ovation Developer Studio User Guide for more information on configuration.
To allow reading from controller memory you must create aperiodic point with the Periodic
Save option enabled (this option is available in the Initial tab).
You can overwrite the counters values from the operator graphics using dedicated LC fields.
To change time value, the CSTIM (Y0 field) command must be set. The STIM (R4 field) value
is used to overwrite the current time value. If the START parameter is in active mode, then
the time value increases in the same loop.
To change the number of starts, the CSNST (Y1 field) command must be set. The SNST (G6
field) value is used to overwrite the current number of starts. If the START parameter is in
active mode, then for the first time, increments start in the currently executed loop.
Note: The CSTIM and CSNST commands are automatically cleared after the graphics
operation.
Quality of the RTIME and the NUMST pins are cleared to GOOD from the operator graphics.
To clear the RTIME quality, the QTIM (Y2 field) must be set to 1.
To clear the NUMST pin quality, the QNST (Y3 field) must be set to 1.
Note: The QTIM and QNST commands are automatically cleared after the graphics operation.
518 OW360_R1100
5.105 RUNTIME
The reconcile option allows you to determine how the algorithm initializes its outputs after a clear
and load of both Controllers at the same time.
When the reconcile option is off, the algorithm initializes its outputs to 0 and POOR quality after a
clear and load of both Controllers. When the reconcile option is on, the algorithm will initialize its
outputs using the previously reconciled values in the RTIME - R1 and NUMST - G3 fields and set
all outputs to GOOD quality. The initialized values will also be stored in the CTTIM and CTNST
fields for future reference. When the algorithm is started, it begins counting from the initialized
values.
If the RECOP option is off, any time a loaded Controller is restarted without an operable partner
drop (and with the INITP option set to OFF), the RTIME and NUMST are initialized to 0, and the
outputs will be marked with POOR quality. POOR quality indicates that the value is not
trustworthy because the output values will be initialized to 0. The qualities are changed to GOOD
after a reset by the time reset (TRST) and/or start reset (SRST) inputs. Also, updating the TTIM
field will set the RTIME quality to GOOD and updating the TNST field will set the NUMST quality
to GOOD.
The QFLAG option allows you to set BAD quality and stop counting, when the max value of the
RTIME or the NUMST is reached. This option is common for both of the pins, but the quality for
both of them is independently calculated. By default, the QFLAG is disabled and the BAD quality
at the top limit is not propagated.
Note: New functionality does not impact on actual instances of the RUNTIME algorithm,
because by default configuration the behavior of the RUNTIME algorithm remains unchanged.
SID Storage
In order to assist with graphics programming, all output point SIDs are stored in fields in the
algorithm. This allows the graphic to access multiple SIDs by accessing a single SID (the
algorithm LC record).
Algorithm definitions
Inputs:
OW360_R1100 519
5.105 RUNTIME
Outputs:
520 OW360_R1100
5.105 RUNTIME
- Y0 - - - Displays the -
command for time.
- R4 - - - Specifies the tuning -
value for time.
- Y1 - - - Displays the -
command for
number of starts.
- G6 - - - Specifies the tuning -
value for number of
starts.
- Y2 - - - Sets good quality -
on RTIME pin.
Y3 - - - Sets good quality -
for NUMST pin.
* The asterisk indicates that this is a command field, not a feedback field. A command field can be
used as a user-interface to the algorithm. It drives the algorithm to perform a function.
OW360_R1100 521
5.106 RVPSTATUS
5.106 RVPSTATUS
Description
Functional symbol
Calibration Commands
There are four different types of calibrations that can be done to the valve:
0% or Low Calibration command - moves the Valve Positioner until the 0% position is
re-established. The feedback gain is not re-established.
100% or High Calibration command - moves the Valve Positioner until the 100% position is
re-established. The feedback gain is not re-established.
Full Calibration command - moves the Valve Positioner until both the 0% and 100%
positions are re-established. It also re-establishes the feedback gain.
Null-Point Calibration command - moves the Valve Positioner to the electrical null point of
the LVDT. The Null-Point Calibration can be requested at the same time as the Full
Calibration. If this is done, the Positioner moves through the sequences of the full calibration,
but stops at the null point when encountered.
When the calibration command is executed, the controlling MASTATION enters manual mode
and tracks the position demand feedback. During the travel sequence, the Valve Positioner
moves the valve at a programmable rate. While the Valve Positioner is traveling, the graphic
displays and continuously updates the current voltage value based on the position. There is also
a Clear Calibration command that may be used if the calibration command is no longer desired.
522 OW360_R1100
5.106 RVPSTATUS
Upload Command
The upload command is used to retrieve the constant values currently stored in the RVP Card
memory. When the upload command is executed, the X3 value is changed and the RVP Card is
commanded to send the current values stored in its memory to the 32-bit real number fields of the
algorithm record. The standard graphic then displays the values in these selected algorithm
record fields for the user when the upload is finished. Note these values can only be uploaded
when the RVP card is in local or normal mode.
Download Command
The download command is used to update the constant values currently stored in the RVP Card
memory. When the download command is requested, X3 field is changed, and the values entered
into the graphic are stored in the 32-bit real number fields of the algorithm record. Then the values
in the selected fields of the algorithm record are written to the RVP memory. Note these values
can only be downloaded when the RVP card is in local or normal mode.
Interface Information
The calibration commands are sent to the X3 field in the algorithm record.
Calibrate command
0 No Command.
1 Calibrate 0%.
2 Calibrate 100%.
3 Full Calibration.
8 Upload Request.
9 Download Request.
As the commands are being executed, messages are displayed on the graphic by Status Value in
the X5 field of the algorithm record.
Status description
STATUS DESCRIPTION
0 No Message.
1 Calibration in Progress.
2 Poor Calibration.
3 Calibration Time-out.
4 Upload Error.
OW360_R1100 523
5.106 RVPSTATUS
STATUS DESCRIPTION
5 Download in Progress.
6 Download Error
7 Download Time-out
Algorithm definitions
524 OW360_R1100
5.107 SS_STATUS
5.107 SS_STATUS
Description
The Safety Sehll Status (SS_STATUS) algorithm displays the Safety Shell fault counts related to
a specified originating drop. The originating drop number is provided as a tuning parameter for
each instance of the SS_STATUS algorithm. The SS_STATUS algorithm also allows for the fault
counters to be reset and provides a mechanism to generate a controller fault if any of the fault
counters surpasses the configurable limit. One copy of the SS_STATUS algorithm is used for
each Ovation drop that originates high integrity DDBs. Each SS_STATUS algorithm reports the
count for each type of fault detected in a DDB received from a single originator.
Notes: Each Controller in a redundant pair maintains its own independent set of counters.
Functional symbol
The SS_STATUS algorithm resets the Safety Shell fault counters. This feature is facilitated by the
RSET input.
Input pin
OW360_R1100 525
5.107 SS_STATUS
Five outputs, reflect a Safety Shell fault counter associated with the specified originating drop.
Output pin
BSCT LA Optional Outputs the value of the Safety Shell’s bad source
fault counter.
RSCT LA Optional Outputs the value of the Safety Shell’s repeated
sequence fault counter.
OSCT LA Optional Outputs the value of the Safety Shell’s out of
sequence fault counter.
BCCT LA Optional Outputs the value of the Safety Shell’s invalid
CRC32C fault counter.
DDCT LA Optional Outputs the value of the Safety Shell’s delayed DDB
counter.
Tuning parameters
Fault Behavior
In addition to providing the fault counter values, the SS_STATUS algorithm also faults the
Controller if any fault counter exceeds the threshold value for the respective fault (unless the
threshold value is set to zero).
526 OW360_R1100
5.107 SS_STATUS
Controller level faults alert you of the condition of the Safety Shell. Faults generated by the Safety
Shell consist of the following:
Fault code = 66
Fault ID = 9
Fault parameter 1 = 0x0C
Fault parameter 2 = 1
Every time a DDB fails one of the Safety Shell checks a fault counter is incremented. The
SS_STATUS algorithm (see page 525) checks the levels of these fault counters against the
configurable limits. If the value of a fault counter is above the limit configured in the SS_STATUS
algorithm the controller fault is generated.
Note: Several controller faults are defined, one for each type of Safety Shell checks. Each of
these faults notify you of the fault and no reboot or failover action is triggered.
OW360_R1100 527
5.108 SATOSP
5.108 S ATOSP
Description
The SATOSP algorithm transfers one analog value to a packed point record for use by
programmable controllers.
The analog point record value field is converted to an integer and stored in the packed digital
value field. Conversion is done by rounding off fractional values less than 0.50 to zero and
fractional values greater than or equal to 0.50 to the next highest integer. If the value of the
analog point record is less than the smallest integer (-32767), or greater than the largest integer
(32767), the minimum or maximum integer value is used.
The bit pattern used to store negative numbers is the sign and magnitude method.
If the quality of the analog point record is BAD, or if the value of the analog point is an invalid
number, then the packed point value remains at its last valid value. The quality of the input is not
propagated to the output.
Functional symbol
Algorithm definitions
528 OW360_R1100
5.109 SELECTOR
5.109 SELECTOR
Description
The SELECTOR algorithm transfers between N analog inputs. For the SELECTOR algorithm, the
output is equal to one of N analog inputs, where N is an integer less than eight. The input
selected is based on a binary address formed by three digital inputs per the table. If address 000
or an address greater than N is selected, the output signal is zero.
None 0 0 0
1 1 0 0
2 0 1 0
3 1 1 0
4 0 0 1
5 1 0 1
6 0 1 1
7 1 1 1
Functional symbol
OW360_R1100 529
5.109 SELECTOR
Algorithm definitions
530 OW360_R1100
5.110 SETPOINT
5.110 SETPOINT
Description
The SETPOINT algorithm performs a manual loader function. The algorithm provides an interface
to the Control Builder or Operator Station diagram. Interface to the hard setpoint portion of the
Ovation Loop Interface (LI) card may be initialized. If the LI hardware address is initialized, the
algorithm reads the setpoint stored on the LI setpoint counter to use as its output value. If the LI
or hardware address is not initialized, the algorithm uses the last output value as its output value.
Note: The rate of change is constant in Signal Diagrams regardless of the settings for the
algorithm parameters.
Functional symbol
The output of this algorithm may be increased and/or decreased by the SLIM station or the
Operator's Soft Station diagram.
It continually checks the Set Point Increase/Decrease function keys from the Operator's Station
for increase/decrease requests for the setpoint output. If requests are received from both the hard
and soft stations at the same time, the station contacts override the Operator's Keyboard keys.
On power-up or reset of the Controller, the output is the initial value of the algorithms output
(default value = 0.0) if the LI is not initialized. Otherwise, the output is the current value stored on
the LI setpoint counter.
If the LI card is selected in the TYPE algorithm field and the Controller is reset, powered-up or
fails, the setpoint is read from the LI card and used initially in the OUT field of the algorithm. This
reports the status of the field device before any action is taken by either the algorithm or the
operator.
OW360_R1100 531
5.110 SETPOINT
Keys
KEY USE
Note: If the top and bottom scales are equal, the high limit flag is set and the output value is
equal to the top scale.
If the algorithm is told to track and the track input is invalid, the track request is ignored and the
drop is placed into alarm.
If the LI hardware address is initialized, this value is written to the setpoint counter on the
specified card. If the algorithm is operating with an LI, and the LI card is in Local mode, the output
of the algorithm cannot be changed from the Operator Station. In this case, the output of the
algorithm can be changed from the SLIM station only.
If SETPOINT is to write the setpoint value to the LI card, then changes to the setpoint value (that
is, tracking, Control Builder or Operator Station raise/lower requests, and so forth) are
implemented as described previously.
The SETPOINT algorithm monitors the LI card for any raise and lower requests from the SLIM.
Raise/lower requests from the SLIM override any other setpoint change requests received by this
algorithm (that is, tracking, Operator Station raise/lower requests, and so forth). If there are no
SLIM requests, then the setpoint value is changed as described previously. The setpoint value is
only written to the output point.
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog track point. This algorithm takes the action shown in the following table in response
to the information found in the analog input signal TRIN:
532 OW360_R1100
5.110 SETPOINT
The high and low limit flags and tracking signals from the algorithm are output to TOUT for
display. If the LI hardware address is initialized, the quality of OUT is BAD if there are any LI
hardware errors. Otherwise, the quality of OUT is GOOD when not tracking or set to the quality of
the track input variable when tracking.
Algorithm definitions
OW360_R1100 533
5.110 SETPOINT
534 OW360_R1100
5.111 SIMTIME
5.111 SIMTIME
Description
The SIMTIME algorithm is used to set time in the Controller. It is reserved for Emerson use only.
5.112 SINE
Description
The SINE algorithm performs a mathematical sine function. The SINE algorithm has one input
and one output analog point. Each time the algorithm is executed, if the output is on scan, it is set
to the SINE of the input. The input to this algorithm is in radians. If an input is only available in
degrees, multiply it by 0.01745329 to convert to radians.
Analog input values are checked for invalid real numbers. If the input value is invalid, the value of
the output is invalid and its quality is set to BAD. If the input is valid, the quality of the input is
propagated to the output.
If the absolute value of the input greater than 1018 then the output of the SINE algorithm is invalid
and its quality is set to BAD.
Functional symbol
Algorithm definitions
Function
OUT = SINE(IN1)
OW360_R1100 535
5.113 SLCAIN
5.113 SLCAIN
Description
The SLCAIN algorithm reads up to 16 analog values from a Group 1 QLC or Ovation Link
Controller (LC) card (or redundant pair of Group 1 QLC cards).
Functional symbol
The Hardware addresses of the primary and secondary QLC/LC cards are specified by the PHW
and SHW parameters (if no secondary QLC/LC is used, SHW is set to zero).
Digital inputs PSTA and SSTA define whether the points are to be read from the primary or
secondary QLC/LC, as shown below:
If PSTA = TRUE, the points are read from the primary QLC/LC (status of SSTA does not
matter).
If PSTA = FALSE and SSTA = TRUE, the points are read from the secondary QLC.
If PSTA = FALSE and SSTA = FALSE, the point values are not updated and the points are
assigned BAD quality.
If PSTA = FALSE and SSTA is not defined, the point values are not updated and the points
are assigned BAD quality.
If PSTA and SSTA are not defined, the point values are not updated and the points are
assigned BAD quality.
Note: Although both PSTA and SSTA are optional parameters, at least one must be defined for
the points to be updated.
536 OW360_R1100
5.113 SLCAIN
The FRMT parameter is used to specify the format of the analog point data to be read from the
QLC/LC registers. The four available formats are as follows:
Data formats
2 Intel Real with status Status word followed by floating-point real number.
Each point occupies three data registers.
3 Intel Real with quality Status word followed by floating-point real number.
Each point occupies three data registers.
* When the FRMT = 2, the following bits are placed into the 1W field of the analog point record:
Bit 4 - Undefined
Bits 8 and 9 - Quality
Bit 12 - Limit checking off
Bit 13 - Alarm checking off
When the FRMT = 3, only the quality bits 8 and 9 of the 1W field of the analog point record are
updated.
The remaining bits of the 1W field are used for alarm status, operator entry, and Ovation
Network status information. (See Ovation Record Types Reference Manual.)
The point data is retrieved from consecutive QLC/LC data registers, starting at the register
specified by parameter REG1. Depending on the format selected, the total area required for the
16 analog points could be 16, 32, or 48 registers.
The point parameters (OUT1 through OUT16) are associated with consecutive QLC/LC data
registers, even if some points are omitted from the argument list. For example, if REG1 = 4,
FRMT = 1, and point OUT1 is omitted, then OUT2 is read starting at data register 6 (no read is
performed from data registers 4 and 5).
The location from which a given point is read can be calculated using the following formula:
where:
point_address QLC/LC data register containing the first word of data from the point
OW360_R1100 537
5.113 SLCAIN
Any point which lies (completely or partially) beyond the end of the 2048 QLC/LC data registers is
assigned BAD quality. For example, if REG1 = 2044 and FRMT = 2, only the first point value
(parameter Al) can be obtained.
If alarm and/or limit checking are to be performed on points read from the QLC/LC, use point
record type Long Analog (LA).
Algorithm definitions
•
OUT16
PSTA - Variable Optional - Primary QLC/LC LD, LP
status input
(digital)
SSTA - Variable Optional - Secondary LD, LP
QLC/LC status
input (digital)
538 OW360_R1100
5.114 SLCAOUT
5.114 SLCAOUT
Description
Functional symbol
The hardware addresses of the primary and secondary QLC/LC cards are specified by the PHW
and SHW parameters (if no secondary QLC/LC is used, SHW is set to zero).
Digital inputs PSTA and SSTA define whether the points are to be written to the primary or
secondary QLC/LC, as shown below:
If PSTA = TRUE, the points are written to the primary QLC/LC (status of SSTA does not
matter).
If PSTA = FALSE and SSTA = TRUE, the points are written to the secondary QLC.
If PSTA = FALSE and SSTA = FALSE, the points are not output.
If PSTA = FALSE and SSTA is not defined, the points are not output.
If PSTA and SSTA are not defined, the points are not output.
Note: Although both PSTA and SSTA are optional parameters, at least one must be defined for
the points to be output.
The FRMT parameter is used to specify the format of the analog point data to be written to the
QLC/LC registers. The three available formats are as follows:
Data formats
0 Integer Integer value in the range +32767 to -32768. Each point occupies
one data register.
1 Intel Real Floating-point real number. Each point occupies two data registers.
2 Intel Real with status Status word followed by floating-point real number. Each point
occupies three data registers.
Note: Depending on the format selected, each point value occupies between 1 and 3 data
registers.
OW360_R1100 539
5.114 SLCAOUT
The point data is written to consecutive QLC/LC data registers, starting at the register specified by
parameter REG1. Depending on the format selected, the total area required for the 16 analog
points could be 16, 32, or 48 registers.
The point parameters (A1 through A16) are associated with consecutive QLC/LC data registers,
even if some points are omitted from the argument list. For example, if REG1 = 4, FRMT = 1, and
point A1 is omitted, then A2 is written starting at data register 6 (no data is written to registers
4 and 5).
The location to which a given point is written can be calculated using the following formula:
where:
point_address QLC/LC data register containing the first word of data from the point.
No data is written to registers beyond the valid range (0 through 2047). Points which lie partially
beyond the valid range of registers are written to the extent possible; points which lie completely
beyond the valid range of registers are not written. For example, if REG1 = 2044 and FRMT = 2,
only the first point value (parameter Al) can be written.
Timed-Out Points
The TIME parameter determines what action is taken when a received point (to be written to the
QLC/LC) is timed-out. Depending on the selected TIME setting, the point is either not written to
the QLC/LC, or the last received value is written.
TIME is interpreted as a mask of bits to determine the selected setting for each point, as shown
below:
Point IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
TIME bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
For each point, a value of 0 (zero) in the corresponding bit indicates that the point should not
be written if it is timed-out.
For each point, a value of 1(one) in the corresponding bit indicates that the last received value
should be written if the point is timed-out.
540 OW360_R1100
5.114 SLCAOUT
Algorithm definitions
OW360_R1100 541
5.115 SLCDIN
5.115 SLCDIN
Description
The SLCDIN algorithm reads up to 16 digital values from a Group 1 QLC or Ovation Link
Controller (LC) card (or redundant pair of Group 1 QLC cards).
Functional symbol
The Hardware addresses of the primary and secondary QLC cards are specified by the PHW and
SHW parameters (if no secondary QLC is used, SHW is set to zero).
Digital inputs PSTA and SSTA define whether the points are to be read from the primary or
secondary QLC/LC, as shown below:
If PSTA = TRUE, the points are read from the primary QLC/LC (status of SSTA does not
matter).
If PSTA = FALSE and SSTA = TRUE, the points are read from the secondary
QLC/LC.
If PSTA = FALSE and SSTA = FALSE, the point values are not updated and the points are
assigned BAD quality.
If PSTA = FALSE and SSTA is not defined, the point values are not updated and the points
are assigned BAD quality.
If PSTA and SSTA are not defined, the point values are not updated and the points are
assigned BAD quality.
Note: Although both PSTA and SSTA are optional parameters, at least one must be defined for
the points to be updated.
542 OW360_R1100
5.115 SLCDIN
Each digital point occupies one data register (equivalent to the 1W field of the point data record).
The FRMT parameter is used to specify the format of the Digital point data to be read from the
QLC/LC register. The three available formats are as follows:
The following bits are placed into the 1W field (no other bits cleared) of the digital point record:
Data format
FRMT DESCRIPTION
The remaining bits of the 1W field are used for alarm status, operator entry, and Data Highway
status information. (See Ovation Record Types Reference Manual.)
The point data is retrieved from consecutive QLC/LC data registers, starting at the register
specified by parameter REG1. The total area required for the 16 digital points is 16 registers.
The point parameters (OUT1 through OUT16) are associated with consecutive QLC/LC data
registers, even if some points are omitted from the argument list. For example, if REG1 and point
OUT1 is omitted, then OUT2 is read from data register 5 (no read is performed from data
register 4).
The location from which a given point is read can be calculated using the following formula:
where:
Any point which lies beyond the end of the 2048 QLC/LC data registers is assigned BAD quality.
For example, if REG1 =2044, only the first three point values (parameters OUT1, OUT2, and
OUT3) can be obtained.
OW360_R1100 543
5.115 SLCDIN
If alarm checking is to be performed on digital points read from the QLC/LC, use point record type
Long Digital.
Algorithm definitions
544 OW360_R1100
5.116 SLCDOUT
5.116 SLCDOUT
Description
The SLCDOUT algorithm writes up to 16 digital points to a Group 1 QLC or Ovation Link
Controller (LC) card (or redundant pair of Group 1 QLC cards).
Functional symbol
The hardware addresses of the primary and secondary QLC/LC cards are specified by the PHW
and SHW parameters (if no secondary QLC/LC is used, SHW is set to zero).
Digital inputs PSTA and SSTA define whether the points are to be written to the primary or
secondary QLC/LC, as shown below:
If PSTA = TRUE, the points are written to the primary QLC/LC (status of SSTA does not
matter).
If PSTA = FALSE and SSTA = TRUE, the points are written to the secondary QLC/LC.
If PSTA = FALSE and SSTA = FALSE, the points are not output.
If PSTA = FALSE and SSTA is not defined, the points are not output.
If PSTA and SSTA are not defined, the points are not output.
Note: Although both PSTA and SSTA are optional parameters, at least one must be defined for
the points to be output.
OW360_R1100 545
5.116 SLCDOUT
Each digital point occupies one data register (equivalent to the 1W field of the point data record).
(See Ovation Record Types Reference Manual.)
The point data is written to consecutive QLC/LC data registers, starting at the register specified by
parameter REG1. The total area required for the 16 digital points is 16 registers.
The point parameters (IN1 through IN16) are associated with consecutive QLC/LC data registers,
even if some points are omitted from the argument list. For example, if REG1 = 4 and point IN1 is
omitted, then IN2 is written to data register 5 (no data is written to register 4).
The location to which a given point is written can be calculated using the following formula:
where:
point_address = QLC/LC data register containing the digital point
point_number = 1 for parameter IN1, 2 for parameter IN2, and so on.
No data is written to registers beyond the valid range (0 through 2047). For example, if REG1 =
2044, only the first three point values (parameters IN1 through IN3) can be written.
Timed-Out Points
The TIME parameter determines what action is taken when a received point (to be written to the
QLC/LC) is timed-out. Depending on the selected TIME setting, the point is either not written to
the QLC/LC, or the last received value is written.
TIME is interpreted as a mask of bits to determine the selected setting for each point, as shown
below:
Point IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
TIME bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
For each point, a value of 0 (zero) in the corresponding bit indicates that the point should not
be written if it is timed-out.
For each point, a value of 1 (one) in the corresponding bit indicates that the last received
value should be written if the point is timed-out.
546 OW360_R1100
5.116 SLCDOUT
Algorithm definitions
OW360_R1100 547
5.117 SLCPIN
5.117 SLCPIN
Description
The SLCPIN algorithm reads up to 16 packed points from a Group1 QLC card or LC (or
redundant pair of Group 1 QLC cards).
Functional symbol
Note: For the Windows platform, the parameters OUT10 - OUT16 are represented as
OT10 - OT16.
The hardware addresses of the primary and secondary QLC/LC cards are specified by the PHW
and SHW parameters (if no secondary QLC/LC is used, SHW is set to zero).
Digital inputs PSTA and SSTA define whether the points are to be read from the primary or
secondary QLC/LC, as shown below:
If PSTA = TRUE, the points are read from the primary QLC/LC (status of SSTA does not
matter).
If PSTA = FALSE and SSTA = TRUE, the points are read from the secondary QLC/LC.
If PSTA = FALSE and SSTA = FALSE, the point values are not updated.
If PSTA = FALSE and SSTA is not defined, the point values are not updated.
If PSTA and SSTA are not defined, the point values are not updated.
Note: Although both PSTA and SSTA are optional parameters, at least one must be defined for
the points to be updated.
548 OW360_R1100
5.117 SLCPIN
Data Format
Each packed point value occupies one QLC/LC data register. For packed points, the value is
stored in the A2 field of the LP point data record. See Ovation Record Types Reference Manual.)
The point data is retrieved from consecutive QLC/LC data registers, starting at the register
specified by parameter REG1. The total area required for the 16 packed point values is 16
registers.
The point parameters (OUT1 through OUT16) are associated with consecutive QLC/LC data
registers. For example, if REG1 = 4, the value of OUT1 is read from register 4, OUT2 is read from
register 5, and so on. These point parameters are required and may not be omitted from the
argument list, regardless of the number of points which are actually used by the application.
The location from which a given point is read can be calculated using the following formula:
where:
Any value which lies beyond the end of the 2048 QLC data registers or 4096 LC data register is
not read. For example, if REG1 = 2044, only the first three point values (parameters OUT1,
OUT2, and OUT3) can be obtained.
OW360_R1100 549
5.117 SLCPIN
Algorithm definitions
550 OW360_R1100
5.118 SLCPOUT
5.118 SLCPOUT
Description
The SLCPOUT algorithm writes up to 16 packed points to a Group 1 QLC card or LC (or
redundant pair of Group 1 QLC cards).
Functional symbol
The hardware addresses of the primary and secondary QLC/LC cards are specified by the PHW
and SHW parameters (if no secondary QLC/LC is used, SHW is set to zero).
Digital inputs PSTA and SSTA define whether the points are to be written to the primary or
secondary QLC/LC, as shown below:
If PSTA = TRUE, the points are written to the primary QLC/LC (status of SSTA does not
matter).
If PSTA = FALSE and SSTA = TRUE, the points are written to the secondary QLC/LC.
If PSTA = FALSE and SSTA = FALSE, the points are not output.
If PSTA = FALSE and SSTA is not defined, the points are not output.
If PSTA and SSTA are not defined, the points are not output.
Note: Although both PSTA and SSTA are optional parameters, at least one must be defined for
the points to be output.
OW360_R1100 551
5.118 SLCPOUT
Data Format
Each packed group point value occupies one QLC/LC data register.
For packed points, the value is obtained from the A2 field of the LP point data record. (See
Ovation Record Types Reference Manual.)
The point data is written to consecutive QLC/LC data registers, starting at the register specified by
parameter REG1. The total area required for the 16 packed point values is 16 registers.
The point parameters (IN1 through IN16) are associated with consecutive QLC/LC data registers.
For example, if REG1 = 4, the value of IN1 is written to register 4, IN2 is written to register 5, and
so on. These point parameters are required and may not be omitted from the argument list,
regardless of the number of points which are actually used by the application.
The location to which a given point is written can be calculated using the following formula:
where:
point_address = QLC/LC data register containing the packed group or holding register value
point_number = 1 for parameter IN1, 2 for parameter IN2, and so on.
No data is written to registers beyond the valid range (0 through 2047 for QLC and 0-4096 for
LC). For example, if REG1 = 2044, only the first three point values (parameters IN1 through IN3)
can be written.
Timed-Out Points
The TIME parameter determines what action is taken when a received point (to be written to the
QLC/LC) is timed-out. Depending on the selected TIME setting, the point is either not written to
the QLC/LC, or the last received value is written.
TIME is interpreted as a mask of bits to determine the selected setting for each point, as shown
below:
Point IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
TIME bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
For each point, a value of 0 (zero) in the corresponding bit indicates that the point should not
be written if it is timed-out.
For each point, a value of 1 (one) in the corresponding bit indicates that the last received
value should be written if the point is timed-out.
552 OW360_R1100
5.118 SLCPOUT
Algorithm definitions
OW360_R1100 553
5.119 SLCSTATUS
5.119 SLCSTATUS
Description
The SLCSTATUS algorithm reads hardware and user application status information from a Group
1 QLC or Ovation Link Controller (LC) card (or redundant pair of Group 1 QLC cards). The status
information is placed in packed group points.
Functional symbol
The hardware addresses of the primary and secondary QLC/LC cards are specified by the PHW
and SHW parameters.
An additional parameter is also provided to indicate whether both QLC/LC are present in the drop.
Bits 0 and 1 of the AVBL parameter are used for the primary and secondary QLC/LC,
respectively. If the bit is set to 0, then that QLC/LC card is not present. If the bit is set to 1, then
that QLC/LC card is present.
The application status information is retrieved from four consecutive QLC/LC data registers,
starting at the register specified by parameter REG1. The integer values read from these
locations are stored in the user-initialized packed (LP) points, as follows:
Register points
REG1 PFID/SFID
REG1 + 1 PPR1/SPR1
REG1 + 2 PPR2/SPR2
REG1 + 3 PAUX/SAUX
The fault ID obtained from REG1 (PFID or SFID) is also used by SLCSTATUS to place the drop
into QLC/LC fault.
554 OW360_R1100
5.119 SLCSTATUS
Note: Fault Code 129 is reported for either the primary or secondary QLC/LC. The Fault ID or
Fault Parameter(s) must be appropriately defined to indicate which QLC/LC is in fault.
The PAUX/SAUX parameters may be used to define additional information for use by the
application.
QLC hardware status information is placed in the PSTA and SSTA variables (for the primary and
secondary QLCs, respectively). The bits in these parameters are defined as follows:
Bits definition
BIT DEFINITION
0 Watchdog timer:
0 = Timed-out
l = Not timed-out
1 SBX module:
0 = Module is attached
1 = Module is not attached
2 DRAM parity:
0 = No parity error
1 = Parity error
3 Configuration switch 6 setting:
0 = QLC boot from external disk
1 = QLC boot from flash memory
4 Configuration switch 5 setting:
0 = 80C187 installed
1 = 80C187 not installed
5 Configuration switch 4 setting (Baud rate for communication with external personal computer)
6 Configuration switch 3 setting. (Baud rate for communication with external personal computer)
7 Configuration switch 2 setting (user defined)
8 - 15 Undefined
Note: The term 'configuration switch' refers to QLC DIP switch SW3. The switch settings are
defined as 0 = ON = closed; 1 = OFF = open.
The watchdog timer must be reset by the user application. Otherwise, bit 0 of PSTA/SSTA is
always = 0.
OW360_R1100 555
5.119 SLCSTATUS
LC Hardware Status information is placed in the PSTA and STA variables (for the primary and
secondary LCs, respectively). The bits in these parameters are defined as follows:
Bits definition
BIT DEFINITION
0 Watchdog Timer:
0 - Timed-Out
1 - Not Timed-out
1-2 Personality Module Type:
0 - RS - 232 Applications Port
1 - RS - 485 Full Duplex Applications Port
3 Boot up Serial Link Controller from:
0 - External PC via Local Serial Port
1 Internal Flash Memory
5 BAUD RATE on Serial Port:
0 - Use 9600 BAUD RATE
1 - Use 19200 BAUD RATE
6-15 Undefined
Algorithm definitions
556 OW360_R1100
5.119 SLCSTATUS
OW360_R1100 557
5.120 SMOOTH
5.120 SMOOTH
Description
This algorithm “smooths” an analog input value. Smoothing of an analog input (sometimes
referred to as digital filtering) consists of giving the most weight to the most recent sample and the
diminishing weight to all preceding readings. The relative weight given to the most recent value is
determined by the smoothing time constant specified for input filtering. The input (IN1) is sampled
each loop. If the smoothing time constant is less than or equal to zero, the output is equal to the
input value. If the smoothing time constant is less than zero, the quality of the output is set to
BAD.
The value of IN1 is checked for an invalid real number. If the calculated value of the output is
invalid, the quality of OUT is set to BAD; otherwise, the quality of IN1 is propagated to the output.
Note: Algorithm record fields that contain real number values are not updated if the new value is
an invalid real number.
Functional symbol
Algorithm definitions
* When a parameter type is defined as "Selectable" and marked as "Required," the Control Builder may
default the parameter to a value and mark it as "Optional." However, for the control function to be
executed properly, you must enter a value for the parameter.
558 OW360_R1100
5.120 SMOOTH
Function
where:
OW360_R1100 559
5.121 SOFTSOE
5.121 SOFTSOE
Description
The SOE events generated by the SOFTSOE algorithm are identical to any hardware SOE events
and are stored in the same history, combined on the same reports, and so forth.
Note: Even though the resolution of events that are generated using the SOFTSOE algorithm is
to the nearest one millisecond, the accuracy is only as good as the control task period in which
the algorithm executes. SOFTSOE is designed to generate an SOE event based on the time the
algorithm samples the trigger point. This is only accurate to the period of the control task, which
could be significantly different from the time when the trigger point actually changed state. That
is, the time tag on the SOE event only reflects the time (to the nearest millisecond) when the
algorithm sampled the input.
Functional symbol
The state of an input digital point triggers the SOE event. The event trigger state is user
configurable. Available options are rising edge, falling edge, rising or falling edge (both), or time
change.
Note: The point connected to the TRIG input must be a digital point; it cannot be a bit of a
packed point.
The SOE Event Trigger point should not have the SOE point flag enabled in its definition. If the
SOE point flag is enabled, it uses one of the available 1,024 SOE point slots per Controller. These
slots are typically used for hardware SOE points only.
Although the system does not prevent it, you should not use the same digital point in more than
one SOFTSOE algorithm since this is a redundant configuration. It is also redundant to connect
hardware SOE points to SOFTSOE algorithms.
560 OW360_R1100
5.121 SOFTSOE
The time that is assigned to the SOE event can be one of the following:
Current system time at the time the associated digital point changes to the triggering state.
Optional external event time provided to the algorithm of which the user provides the format
(see External Time Formats).
U8 and U9 fields of deluxe records. This is useful for third-party links.
If you cannot guarantee that the change of trigger value and related external time value are
delivered to the algorithm at the same execution loop, the tunable parameters TMDLY and VDLY
can be used to set the maximum allowed delay between the trigger change and the external time
value change.
When a trigger value changes, but the time value does not change at the same execution loop,
the algorithm waits. The VDLY parameter specifies how long to wait for a change of time value. If
the time value changes within this time, an SOE event is generated with the new time value. If the
time value does not change before this time passes or before the trigger value changes once
more, the action taken depends on the NOTME parameter.
The NOTME parameter defines the action taken when a trigger value changes, but a relevant
change of external time value is not observed. Depending on this parameter, the algorithm can do
one of the following:
Send no SOE events.
Send an SOE event with the current system time.
Send an SOE event with the last received external time value.
Conversely, when the external time value changes, but the trigger value does not change at the
same execution cycle, the algorithm waits. The TMDLY parameter specifies how long to wait for a
change of triggering value. If the trigger value changes within this time, the SOE event is
immediately generated with the previously received time value. If the trigger value does not
change within this time, the algorithm waits for another change of time value before generating an
SOE event.
The TMCHG parameter tells whether the external time value changes every time the trigger value
changes or only when new SOE events are triggered. This information allows the algorithm to
associate changes of the external time value with proper changes of the trigger value.
The time change option is useful for external events (received from third-party systems) which do
not have an associated digital value, but only have the time when a particular event occurred. In
this configuration, the time used for tagging the events cannot be the current system time.
When the external time value is passed to the algorithm using two or more points, the algorithm
assumes that the entire time value changes whenever any of those points change. The algorithm
cannot detect when one of those points was already updated while the other still has the old
value. Therefore, if two or more points are used for the external time value, it should be
guaranteed that either both are delivered to the algorithm at the same time, or that both are
delivered before or at the same time as the triggering value.
OW360_R1100 561
5.121 SOFTSOE
Whenever a new SOE event is generated, the SOFTSOE algorithm tries to immediately send the
event message to the SOE subsystem. If it is not possible to send the message (because the
SOE subsystem is too busy processing hardware or software SOE events, or the historian is
temporarily not available), the algorithm stores the event in its internal buffer.
The events stored in the internal buffer are sent to SOE in subsequent algorithm executions, as
soon as there is enough space for them in the software SOE queue. However, the SOFTSOE
algorithm never sends more than three buffered messages in one execution cycle.
The Number of Pending Events (G0) field in the LC record indicates the number of events that are
currently stored in the internal buffer, pending to be sent to the SOE. This number does not
include possible messages already inserted in the queue, waiting to be processed by the SOE
subsystem.
If for some reason the algorithm internal event buffer becomes full before the pending events can
be transferred to the SOE, and there is no place in it for the newly generated event, the event is
lost and the algorithm sets the optional ERR output to true for one execution cycle.
You can use the optional ENBL input to control the operation of the algorithm. The algorithm only
generates SOE events when the ENBL input is true. If the ENBL input is not connected, the
algorithm will always be enabled and generate events.
As an option, the timestamp that is stored in the resulting SOE event can be input externally. You
select one of the available formats of the time values passed to the algorithm.
The timestamp in SOE messages is actually made of the seconds and nanoseconds fields, even
though SOE information is stored in the history with microsecond resolution.
This format presents the timestamp information in two parts -- seconds and microseconds.
Timestamp
Seconds
The "seconds" part is represented as the number of full seconds since January 1, 1970. You
cannot pass this value with one packed or analog point because it has a wider range than can be
precisely represented by those point types.
You can utilize either two packed (LP/DP) or analog (LA/DA) points or one packed digital (PD)
point for the "seconds" part. When using two packed points, the first contains Low Order Word
(bits 0 - 15) and the second contains High Order Word (bits 16 - 31) of the value.
562 OW360_R1100
5.121 SOFTSOE
Input functions
Seconds = TSEC1
Microseconds
The "microseconds" part specifies the number of microseconds in the specified second when the
event occurred.
As with seconds, this value can either be passed to the SOFTSOE algorithm using two packed
(LP/DP) or analog (LA/DA) points or one packed digital (PD) point.
Microseconds = ETIM1
OW360_R1100 563
5.121 SOFTSOE
This format presents the timestamp information in two parts - seconds and milliseconds.
Timestamp
Seconds
The "seconds" part is represented as the number of full seconds since January 1, 1970.
You can utilize either two packed (LP/DP) or analog (LA/DA) points or one packed digital (PD)
point for the "seconds" part. When using two packed points, the first contains Low Order Word
(bits 0 - 15) and the second contains High Order Word (bits 16 - 31) of the value.
Seconds = TSEC1
Milliseconds
The "milliseconds" part specifies the number of milliseconds in the specified second when the
event occurred.
One packed (LP or DP) or packed digital (PD) point is used for the "milliseconds" part.
564 OW360_R1100
5.121 SOFTSOE
Milliseconds = ETIM1
This format presents the timestamp information as a single value -- the total number of
milliseconds since the last full hour. A packed digital point is required.
The time provided to the algorithm is relative and can be definitely interpreted only within a
specified period of time. This puts several constraints on the mechanism of generating and
passing the time value to the algorithm:
It must be guaranteed that every timestamp is transferred from the third-party system to the
Ovation system and processed by the SOFTSOE algorithm in less than an hour from the
moment when it was generated. If a time value older than 59 minutes and 55 seconds is
received, it is interpreted incorrectly and an invalid timestamp is generated.
The source of time must be synchronized with the Ovation system. If a time value more than
four seconds in the future is received, it is interpreted incorrectly and an invalid timestamp is
generated.
This format should be avoided when an SOE event is triggered by a change of time value. If
two consecutive events are received by the algorithm with the exact one hour interval
between timestamps, the algorithm is unable to detect a change of time, and the SOE event
is not generated.
Timestamp
OW360_R1100 565
5.121 SOFTSOE
Seconds
Milliseconds
This format presents the timestamp information as a single value - the total number of
milliseconds since the last full minute.
566 OW360_R1100
5.121 SOFTSOE
Timestamp
Seconds
Milliseconds
This format is supported for Ovation deluxe records only. The Ovation deluxe records support the
U8 and U9 time scan fields. These fields are designed to hold seconds and nanoseconds
respectively. Third-party interfaces typically use these fields to store the time when the point was
processed.
This format also allows the U8 and U9 to be used for the SOE event timestamp.
Seconds = U8
Nanoseconds = U9
Event timestamp = Seconds [S] + Nanoseconds [nS]
OW360_R1100 567
5.121 SOFTSOE
Algorithm definitions
568 OW360_R1100
5.121 SOFTSOE
OW360_R1100 569
5.122 SPTOSA
5.122 SPTOS A
Description
The SPTOSA algorithm transfers a packed point record into an analog point record.
The packed digital value field is converted to a whole (real) number (for example, 4.0) and stored
in the analog point value field.
If Bit 15 is a zero, a positive number results. If Bit 15 is a one, a negative number results. The bit
pattern for each packed word produces a real number between -32767 and +32767. The method
for converting bit patterns into negative numbers is the sign and magnitude method.
Functional symbol
Algorithm definitions
570 OW360_R1100
5.123 SQUAREROOT
5.123 SQUAREROOT
Description
The SQUAREROOT algorithm multiplies the analog input with an internal gain, adds a bias and
then takes the square root.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog track point. This algorithm takes the following action in response to the information
found in the analog input signal TRIN:
OW360_R1100 571
5.123 SQUAREROOT
** Only when the Track signal is not present; the signals are set according to the
definitions given in Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is ignored. Otherwise, the
value of the conditional track bit is transferred to all output track points. If the Conditional Track
bit is set in the track input point, the analog value of all output track points is calculated based on
the analog value of the track input point.
The high and low limit flags and the tracking signals from the algorithm are output to TOUT to be
used for display and by an upstream algorithm. If the output value is invalid, the quality of OUT is
set to BAD. Otherwise, the quality of OUT is set to the quality of the input when not in tracking
mode. When tracking, the quality is set to the quality of the track input variable.
Note: If the algorithm generates an invalid track output value, the IN1 input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and IN1 input values are invalid.
Algorithm definitions
572 OW360_R1100
5.123 SQUAREROOT
Function
OW360_R1100 573
5.124 SSLT
5.124 SSLT
Description
SSLT calculates Entropy (S) of Saturated Liquid given its Temperature. It is one of the functions
of the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
574 OW360_R1100
5.125 STATISTICS
5.125 STATISTICS
Description
The STATISTICS algorithm performs running calculations of weighted arithmetic mean, variance
and standard deviation of sampled input, based on values from TW (Time Window). The TW
parameter is defined by the user. This algorithm also tracks input samples to determine their
minimal and maximal value from TW last time. Additionally a user can divide the time window into
a maximum of four regions and define weights for each region. Weights can be defined by a point
or as a static, non-negative real value. Values from a given partition are taken with the same
weight.
Functional symbol
OW360_R1100 575
5.125 STATISTICS
UNIT — units of time. The user can select from one of five units:
0 = tenths of a second
1 = seconds
2 = minutes
3 = hours
4 = days
TW = UNIT x TIME
Because the time window can encompass a large number of input samples, it is divided into NUM
(up to 60) subregions. For each subregion, a set of DISTANCE subsequent input samples is
taken. Only valid samples without BAD quality are used. Each time the algorithm takes the next
set of DISTANCE subsequent input samples into a new subregion, it stores a number of
acceptable samples, their sum and the sum of their squares for this subregion. Those values are
then used to calculate outputs.
576 OW360_R1100
5.125 STATISTICS
The recommended length of time window is a multiple of p (control area time). The following
guidelines are recommended for best performance:
If NUM is smaller than 60, then the algorithm uses M last input values itself to calculate
outputs. Value of NUM is set to M. DISTANCE is set to 1.
If NUM is a multiple of 60, then the algorithm divides the time window into 60 subregions with
the same length (DISTANCE). For each sub region number of acceptable input values, the
sum and sum of squares is computed and then used to calculate outputs. The value of NUM
is set to 60, its maximal number. DISTANCE is set to M/60.
The following description illustrates how the algorithm calculates NUM parameter and
DISTANCE.
First, the algorithm calculates the number of all cycles (number of input samples) during the time
window:
where:
Next, the algorithm calculates the distance (number of input samples taken into each subregion):
where:
DISTANCE is rounded up
Based on the number of all cycles during time window and distance, the algorithm calculates the
number of subregions, as:
OW360_R1100 577
5.125 STATISTICS
If the length of time window is not a multiple of p then bit 1 in the STAT output point is set to 1. In
this case, the length of time window is shorter than original settings.
UNIT = seconds
TIME = 90
If the length of time window is a multiple of p but M is not a multiple of 60, then bit 0 in the STAT
output point is set to 1. In this case, the length of time window is not changed, but the last
subregion is smaller. Distance for the last shorter subregion is calculated as a remainder of
NUMBER_ALL_CYCLES / DISTANCE.
For further explanation, the following two examples are shown. The first example shows a
situation when the recommended conditions are followed. The second example shows a situation
when the recommended conditions are not followed.
578 OW360_R1100
5.125 STATISTICS
Example 1
UNIT = seconds
TIME = 300
For these settings, the time window is equal to 300 control cycles and NUM parameter (number of
subregion) is equal to 60 (maximal value).
OW360_R1100 579
5.125 STATISTICS
Example 2
This example represents a situation when the length of time window is not divided by 60 and the
recommended parameters are not followed. This situation can happen when a user sets
parameters that do not follow the recommendations. A second situation can happen when the
control time area changes (sheet is run in a different time area). The algorithm works correctly
with these parameters, but they are different from the recommended parameters.
UNIT = seconds
TIME = 303
580 OW360_R1100
5.125 STATISTICS
The following figure represents a distribution of sums in the time window using non-recommended
parameter conditions.
In this case, the number of subregions is reduced to NUM=51. This number makes a steady
distribution of subregions – number of input samples used to calculate each sum (except last) is
the same. Each sum is calculated from six input samples; however, the last sum only has three
input samples.
OW360_R1100 581
5.125 STATISTICS
Weights definition
The Time window can be divided into a maximum of four regions. The user defines ranges of
regions and weights.
Note: Ranges are defined in the same units as the time window. Weight value has to be a
non-negative real value.
Below is an example with definitions, ranges and weights (expanded Example 1).
Example 3
UNIT = seconds
TIME = 300
R1 = 6
R2 = 150
R3 = 293
R4 = TIME = 300
For these settings, the time window is equal to 300 control cycles and the NUM parameter is
equal to 60.
582 OW360_R1100
5.125 STATISTICS
OW360_R1100 583
5.125 STATISTICS
In the case with weights, the algorithm must check membership to a region for each sum. The
algorithm calculates where the end for each region is supposed to be. Calculations are based on
the following equations:
UNIT = seconds
TIME = 300
PART1 = 6
PART2 = 150
PART3 = 293
NUM =60
584 OW360_R1100
5.125 STATISTICS
These results are shown in the Time Window with Weights figure.
Final output (if all samples are not BAD) is solved with the following equation:
OW360_R1100 585
5.125 STATISTICS
Qualities of MEAN, VAR, SDEV and ROC outputs are based on qualities for subregions.
Qualities of MIN and MAX outputs are set to qualities of input samples with minimum and
maximum value during time window Tw. In addition, those qualities are set to BAD until the first
subregion is filled.
586 OW360_R1100
5.125 STATISTICS
Function
MEAN output
The STATISTICS algorithm calculates the weighted arithmetic mean of input samples.
If weights are equal to 1.0, then the algorithm calculates the standard mean of input samples.
Additionally, the algorithm calculates sample variance and standard deviation, which are defined
as the following (note that “NUM” is changed to “N”):
where:
OW360_R1100 587
5.125 STATISTICS
The algorithm cannot store all the values for the above equation. Therefore, the standard
deviation and variance are derived by the following equations:
Using the sum in each region, the equation can be written as follows:
where:
588 OW360_R1100
5.125 STATISTICS
The STATISTICS algorithm reports the minimal and maximal input sample from N (NUM) last
subregions:
where:
where:
The outputs minimum value MIN and maximum value MAX are calculated at every loop, based on
stored min/max input values of samples from N last subregions. Qualities of these outputs are set
to qualities of samples with minimum value and maximum value.
ROC Output
The STATISTICS algorithm also calculates the rate of change of MEAN output value defined as:
where:
Additional Information
During initial operation, the algorithm calculates outputs based on the configuration of “TOPT”
parameters. TOPT is defined as:
0 (yes) Mean value is equal to current input value (until buffer is full). STDV and VAR
are equal to 0.0. When the buffer is full, the algorithm starts working according
to the explanations listed in the examples above.
1 (no) Algorithm calculates MEAN, STDV and VAR values based on the samples as
they become available in the Time window.
Each change of the TIME parameter clears all stored data. STATE value is reset to 0.
OW360_R1100 589
5.125 STATISTICS
Algorithm definitions
590 OW360_R1100
5.125 STATISTICS
OW360_R1100 591
5.126 STEAMFLOW
If the output value is invalid, the quality of OUT is set to BAD. Otherwise, the quality of OUT is set
to the worst quality of the two inputs.
Functional symbol
Algorithm definitions
592 OW360_R1100
5.126 STEAMFLOW
Function
DELTAP:
FLOW:
OW360_R1100 593
5.127 STEAMTABLE
The STEAMTABLE algorithm calculates thermodynamic properties of water and steam. The
STEAMTABLE algorithm supports both English and SI engineering units. The inputs are checked
to determine if they are in range. If they are not, the output point is set to BAD, the last GOOD
value is retained, and the Flag output is set to TRUE. If more than one input is required, they are
also checked to determine if the combination of input is reasonable. If they are not reasonable,
the output point is set to BAD, the last GOOD value is retained, and the Flag output is set to
TRUE. Otherwise, the quality of the OUT is set to the worst quality among the inputs.
Note: The steam tables are based on the 1967 American Society of Mechanical Engineers
(ASME) steam tables.
There are eleven individual symbols for the functions the STEAMTABLE algorithm performs. They
are as follows:
594 OW360_R1100
5.127 STEAMTABLE
Saturated Vapor (SV) PSVS (see page 479) Entropy (IN1) Pressure (OUT)
HSTVSVP Pressure (IN1) Enthalpy (OUT)
(see page 326) Temperature (OUT1)
Atm. Pressure (IN2)
Entropy (OUT2)
Specific Volume
(OUT3)
The Control Builder Algorithm Symbol table provides a definition for each abbreviation used to
create the name for each STEAMTABLE function. They are as follows:
Abbreviation definitions
ABBREVIATION DEFINITION
CL Compressed Liquid
H Enthalpy
P Pressure
S Entropy
SL Saturated Liquid
SS Super Heated
SV Saturated Vapor
T Temperature
V Specific Volume
Functional symbol
OW360_R1100 595
5.127 STEAMTABLE
Algorithm definitions
Engineering units
NAME SI ENGLISH
596 OW360_R1100
5.128 STEPTIME
5.128 STEPTIME
Description
The STEPTIME algorithm is an automatic step timer. For the STEPTIME algorithm, the output
(STEP) is an analog real value that always equals an integer from one through 50. The value
increments after a predetermined time delay, which may be different for each time interval. For
example, STEP may stay at 1 for 10 seconds, and then stay at 2 for five minutes. The time
intervals for each step are initialized integers in the algorithm record. The units of time to be used
for all the time intervals must be the same. The X1 field of the algorithm record should be
initialized to indicate which units are to be used according to the table. When all used steps are
completed, the output reverts to Step 1. Steps that have a time interval of zero are skipped.
Functional symbol
G0 B0 C0 D0 YM
G1 B1 C1 D1 YL
G2 B2 C2 D2 E2
G3 YU C3 YP E3
G4 B4 C4 D4 E4
G5 B5 C5 D5 YC
G6 B6 C6 D6 Y9
G7 B7 C7 YN E7
G8 B8 C8 D8 E8
G9 B9 YT D9 Y8
The value of STEP is tracked to the value of the track input (TRIN) when the tracking request
(TMOD) is TRUE. If the algorithm is told to track a step that has a zero time interval, the value of
STEP is the next step after this step that has a non-zero time interval. If the algorithm is not
tracking (TMOD = FALSE), the current time and the current step are held constant when the hold
request (HOLD) is TRUE. The time remaining in the timing cycle for the current step is output as
hours (RHRS), minutes (RMIN), and seconds (RSEC) with resolution down to a tenth of a second.
The hours (EHRS), minutes (EMIN), and seconds (ESEC) with resolution down to a tenth of a
second of the time elapsed in the timing cycle for the current step are also available if the optional
outputs are initialized by the user.
OW360_R1100 597
5.128 STEPTIME
Rules
1. The outputs are not scan-removable, but may be set to certain values using the TMOD and
TRIN inputs to track the algorithm to a particular step.
2. The track input and output values are checked for invalid real numbers. If a track request is
received and the track input is invalid, the tracking request is ignored.
If the algorithm calculates an invalid real number for the output, the quality of the output is set
to BAD and the output value is invalid. Otherwise, the quality of the output is set to GOOD.
3. The algorithm is also reset to the first step if a drop failover occurs and the value of the
current step number is invalid. Otherwise, the algorithm remains in the current step.
4. Controller loop time must be set to 100, 200, 500, or 1,000 milliseconds.
Algorithm definitions
598 OW360_R1100
5.128 STEPTIME
OW360_R1100 599
5.128 STEPTIME
600 OW360_R1100
5.128 STEPTIME
OW360_R1100 601
5.128 STEPTIME
602 OW360_R1100
5.129 SUM
5.129 SUM
Description
The output of the SUM algorithm is the sum of the four individually gained and biased inputs.
Functional symbol
Tracking Signals
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog tracking point. Make sure to connect the upstream algorithm which needs tracking
to SUM’s IN1. This algorithm takes the following action in response to the information found in the
analog input signal TRIN:
OW360_R1100 603
5.129 SUM
** Only when the Track signal is not present; the signals are set according to the
definitions given in Setting Tracking Signals.
*** If the algorithm is being told to track, then the Conditional track bit is ignored.
Otherwise, the value of the conditional track bit is transferred to all output track
points. If the Conditional Track bit is set in the track input point, the analog value of
all output track points is calculated based on the analog value of the track input point.
The high and low limit flags and the tracking signals from the algorithm are output to TOUT, to be
used for display and by an upstream algorithm. If the output value is invalid, the quality of OUT is
set to BAD. Otherwise, the quality of OUT is set to the worst quality of the two inputs when not in
tracking mode. When tracking, the quality is set to the quality of the track input variable.
Note: If the algorithm generates an invalid track output value, the IN1 input value is used as the
track output, unless it is invalid. The track output value is not updated if both the calculated track
output and IN1 input values are invalid.
In addition, you may turn off the tracking output calculations. This may be done to support control
logic designs that require fast execution times (such as 20 msec). The TBLK parameter can be
set to OFF, which will disab le the tracking calculations and local memory operations. The default
value for TBLK is ON, which means the algorithm performs the tracking calculations.
Algorithm definitions
604 OW360_R1100
5.129 SUM
OW360_R1100 605
5.129 SUM
Function
606 OW360_R1100
5.130 SYSTEMTIME
5.130 SYSTEMTIME
Description
While the RUN flag is set, the SYSTEMTIME algorithm accesses the time from the Contoller’s
time (expressed in Universal Time Coordinates (UTC)) and stores it in the separate, optional,
analog outputs for seconds, minutes, hours, day, month, and year.
If the month value is zero (indicating that the time is not updated), or if the RUN flag is FALSE, the
optional Time Not Updated digital output is set.
Functional symbol
Algorithm definitions
OW360_R1100 607
5.131 TANGENT
5.131 TANGENT
Description
The TANGENT algorithm performs a mathematical tangent function. TANGENT has one input
and one output analog point. Each time the algorithm is executed, if the output is on scan, it is set
to the TANGENT of the input. The input to this algorithm is in radians. If an input is only available
in degrees, multiply it by 0.01745329 to convert to radians. If the input is +/- pi/2 or any integer
multiple of pi, plus pi/2, the output is an invalid number and the drop is placed into alarm.
Analog input values are checked for invalid real numbers. If the input value is invalid, the value of
the output is invalid and its quality is set to BAD. If the input is valid, the quality of the input is
propagated to the output.
If the absolute value of the input is greater than 1018 then the output of the TANGENT algorithm is
invalid and its quality is set to BAD.
Functional symbol
Algorithm definitions
Function
OUT=TANGENT(IN1)
608 OW360_R1100
5.132 TIMECHANGE
5.132 TIMECHANGE
Description
The TIMECHANGE algorithm checks the Controller’s time (expressed in Universal Time
Coordinates (UTC)) against the old values of the time. If the hours, minutes, or seconds have
changed, the appropriate output digital flags are set; otherwise, they are reset. Each output
produces a one loop, one shot pulse when hours, minutes, or seconds change from a previous
value.
Functional Symbol
Algorithm definitions
OW360_R1100 609
5.133 TIMEDETECT
5.133 TIMEDETECT
Description
The TIMEDETECT algorithm checks the hour value from the Controller’s time (expressed in
Universal Time Coordinates (UTC)) against the old hour value for a change. If the hour has
changed, the current hour and day of the week are checked against the hour for the change of
day, the hours for the change of shift, and the day and hour for the change of week. The flags are
reset if the hour has not changed. If a change has occurred for the day, shift, or week, the digital
output for that change is TRUE for one loop.
Functional symbol
Algorithm definitions
Note: SHF1 must be initialized. If SHF2 and SHF3 are not initialized or are initialized to zero, the SHFT
is not updated. If WEEK is not initialized or is initialized to zero, WCHG is not updated. DCHG is always
updated.
610 OW360_R1100
5.134 TIMEMON
5.134 TIMEMON
Description
If the RUN flag is set, the TIMEMON algorithm provides the following functions:
If the Controller Date/Time is between the Date 1/Time 1 and Date 2/Time 2 tuning constants,
the optional digital output flag, FLG1 is set TRUE.
When the Date 2/Time 2 tuning constants are zero, FLG1 is pulsed when the Controller
Date/Time is equal to Date 1/Time 1.
The MON, DAY, DWK fields of the tuning constants are ignored if zero; therefore, the tuning
constants can represent time-into-year, time-into-month, time-into-week, or time-into-day. (For
example: if HR1 is set to 15.0 and no other FLG1 tuning constants are specified, FLG1 is
pulsed every day at 3:00 p.m.)
The optional digital output FLG2 is set when the Controller time equals the Start Time tuning
constants, and at every following incremental boundary in the day, as specified by the
Incremental Time tuning constants.
For example: if SHR = 15, SMIN = 30, IMIN = 1, and ISEC = 30, FLG2 is pulsed at 3:30 p.m.
and at each following 90-sec interval until 23:59:59.
Note: Controller time is expressed in Universal Time Coordinates (UTC). Therefore, when
entering parameters for the TIMEMON algorithm, you should convert your timezone to UTC in
order to obtain the expected performance.
Functional symbol
Note: The Incremental Time constant should be at least three times the Loop time for the FLG2
output to be seen as a pulse.
Also, the TIMEMON algorithm has a resolution of 1 second. Therefore, Emerson recommends
that you use it in control tasks >= 1 second. If it is used in a control task faster than 1 second,
the FLG1 and FLG2 parameters will generate multiple output pulses for each intended single
pulse output.
OW360_R1100 611
5.134 TIMEMON
Algorithm definitions
612 OW360_R1100
5.134 TIMEMON
OW360_R1100 613
5.135 TRANSFER
5.135 TRANSFER
Description
The TRANSFER algorithm performs a transfer between two inputs. The output is equal to the IN2
input if the digital input FLAG is TRUE, and to the IN1 input if the digital input FLAG is FALSE.
If the algorithm generates an invalid output value for the selected input, the other input is
selected, and the algorithm generates a valid output value if the input for the other point is valid.
The algorithm automatically performs a bumpless transfer between the track input and the
selected input when a tracking request is removed. The algorithm ramps to the selected input
(IN1 or IN2) at the specified track ramp rate TRRx (TRR1 or TRR2).
Internal tracking may be selected to allow a bumpless transfer between IN1 and the IN2 inputs.
Individual track ramp rates may be initialized to ramp from the IN1 to the IN2 and from the IN2 to
the IN1.
The Output Direction Forcing (ODF) option forces a change in the direction of an output value in
the transition state. When the ODF option is ON, the output value changes monotonically (strictly
increasing or decreasing the function between ordered sets that preserves the given order)
towards the value of the selected input. If the ODF option is OFF, the output value changes
towards the value of the selected input; however, this may not always be monotonically.
Differences in the algorithm behavior depend on the direction of changes of the selected input.
Refer to the following two examples of ODF:
Example 1
The following example presents a scenario when the transfer algorithm behavior is same
regardless of whether ODF = ON or ODF = OFF.
Properties description
PROPERTIES DESCRIPTION
614 OW360_R1100
5.135 TRANSFER
The following figure shows that the Transfer algorithm behavior is same regardless of whether
ODF = ON or ODF = OFF.
Figure 35: Transfer algorithm behavior is same for ODF = ON and ODF = OFF
Example 2
The following example presents a scenario when the Transfer algorithm behavior is different
when the ODF = ON or ODF = OFF.
Properties
PROPERTIES DESCRIPTION
Parameters ODF = ON
SLEW = ON
TRRx = 1.0 (TRR1 = 1.0 and TRR2 = 1.0)
OW360_R1100 615
5.135 TRANSFER
PROPERTIES DESCRIPTION
Results when ODF = OFF Output value (green line) decreases with TRRx ramp rate when the
selected signal (blue line) is constant.
When the selected value decreases, the output value changes with
ramp rate equal to RAMP_OF_SELECTED_SIGNAL + TRRx. This
means that the output changes with the speed equal to the speed of
change of the selected signal and TRR1 parameter.
Results when ODF = ON Output (green line) moves towards the selected signal (blue line) with
the ramp rate is equal to TRRx in both cases: when the selected value
is constant and also when selected value decreases.
The ramp rate equals to RAMP_OF_SELECTED_SIGNAL + TRRx
only when the value of the selected signal and the value of the output
are moving in the same direction. One of the following situations is
possible:
The output is transferring from a lower to a higher value and the
selected value is increasing.
The output is transferring from a higher to a lower value and the
selected value is decreasing.
The following figure shows the Transfer algorithm behavior when ODF = OFF (default settings).
Figure 36: Transfer algorithm behavior when for ODF = OFF (default settings)
616 OW360_R1100
5.135 TRANSFER
The following figure shows that the Transfer algorithm behavior when ODF = ON.
The rules are analogical (this means that the algorithm behavior is very similar; however, not
identical) for transfer from a higher to a lower value and from a lower to a higher value.
Summary
When the ODF parameter is OFF (default value), the output value changes with ramp rate
equal to RAMP_OF_SELECTED_SIGNAL + TRRx.
When the ODF parameter is ON, the output value changes with ramp rate equal to
RAMP_OF_SELECTED_SIGNAL + TRRx only, when the value of the selected signal and
value of the output are going in the same direction (Example 1). Otherwise (Example 2), the
output value is changing with ramp rate equal to TRRx.
Note: If the algorithm receives an invalid value as the selected input, or calculates an invalid
value as the output, the drop is placed into alarm.
Functional symbol
OW360_R1100 617
5.135 TRANSFER
Tracking and limiting are done through signals passed in the upper 16 bits of the third status word
of the analog point. This algorithm takes the following action in response to the information found
in the analog input signal TRIN:
** Only when the Track signal is not present; the signals are set according to the definitions given in
Setting Tracking Signals (see page 17).
*** If the algorithm is being told to track, then the Conditional track bit is ignored. Otherwise, the value of
the conditional track bit is transferred to all output track points. If the Conditional Track bit is set in the
track input point, the analog value of all output track points is calculated based on the analog value of the
track input point.
618 OW360_R1100
5.135 TRANSFER
The high and low limit flags, and the tracking signals from the algorithm are output to, TRK1 and
TRK2, to be used for display and by upstream algorithms. If the output value is invalid, the quality
of OUT is set to BAD. Otherwise, the quality of OUT is set to the quality of the selected input.
When tracking, the quality is set to the quality of the track input variable.
Note: If the calculated track output is invalid, then the IN2 output is equal to the IN2 inputs, and
the IN1 track output is equal to the IN1 variable input, if the inputs are valid. If the calculated
track outputs and the input values are invalid, then the IN2 and IN1 track outputs are not
updated.
Algorithm definitions
OW360_R1100 619
5.135 TRANSFER
620 OW360_R1100
5.135 TRANSFER
Function
OW360_R1100 621
5.136 TRANSLATOR
5.136 TRANSLATOR
Description
The TRANSLATOR algorithm translates the output based on the input of a predefined table. For
the TRANSLATOR algorithm, the input value (IN1) is first rounded to an integer value. This
integer is then used as an index number to access one of the 50 integers initialized in the
algorithm record. The selected integer from the algorithm record is output as a real number in the
output record (OUT). If the input value (always rounds down to an integer) is less than one or
greater than 50, no action is taken and OUT is not changed.
If the input value selects an integer between 1 and 50 that has not been initialized, then OUT
equals zero. The maximum integer number that can be initialized for I01 through I50 is + 32,767.
If the input value (when rounded to an integer) is less than 1 or greater than 50, or if the input
value is invalid, no action is taken, and OUT is not changed. However, if the input value is invalid,
the quality of OUT is set to BAD.
Functional symbol
G0 B0 C0 D0 YM
G1 B1 C1 YQ YL
G2 B2 C2 D2 E2
G3 YU C3 YP E3
G4 B4 C4 D4 E4
G5 B5 C5 D5 YC
G6 B6 C6 D6 Y9
G7 B7 C7 YN E7
G8 B8 C8 D8 E8
G9 B9 YT D9 Y8
622 OW360_R1100
5.136 TRANSLATOR
Algorithm definitions
OW360_R1100 623
5.136 TRANSLATOR
624 OW360_R1100
5.136 TRANSLATOR
OW360_R1100 625
5.136 TRANSLATOR
626 OW360_R1100
5.137 TRANSPORT
5.137 TRANSPORT
Description
The TRANSPORT algorithm samples the analog input point and outputs the sample value with a
time delay. The sampling time (TSAM) and the number of samples (NSAM) control the delay
(DELAY = TSAM x NSAM). If TSAM is less than the loop time of TRANSPORT, TSAM equals the
loop time. The output is zero until the number of samples have been collected. Additional
TRANSPORT algorithms can be strung together in series to obtain longer delay times, if required.
NSAM is continually limited to a range of 1 through 25. If NSAM is negative or zero, then NSAM
goes to 1. If NSAM is greater than 25, NSAM goes to 25.
The value of the analog input (IN1) is checked for invalid real numbers. If the input value is
invalid, the output value is invalid and the quality of the output is set to BAD. Otherwise, the
quality of the output is set to GOOD.
Functional symbol
IN1
~ OR
IN1 ~ OUT
OUT
OW360_R1100 627
5.137 TRANSPORT
Algorithm definitions
628 OW360_R1100
5.138 TRNSFINDX
5.138 TRNSFINDX
Description
The TRNSFINDX algorithm selects the output analog value from up to 64 outputs which hold the
input IN1. The number of outputs is determined by NMIN which must be less than or equal to 64.
The output selected is based on the index which is the second analog input (IN2). If the index is
less than or equal to 0, or if an index greater than NMIN is selected, the input is not stored.
Functional symbol
Algorithm definitions
OW360_R1100 629
5.139 TRUTHTBL
5.139 TRUTHTBL
Description
This digital output of TRUTHTBL is selected from one of 256 possible digital values. The 16
integer values (field B0 through C5) contain the 256 possible digital output states; each bit in an
integer represents a possible digital output (where: 0 = FALSE and 1 = TRUE). The output
selected is based on a binary address formed by eight digital inputs. The integer binary address
values may be input as hexadecimal numbers. Refer to "Converting Algorithm Binary to
Hexadecimal" (see page 6) for information on how to create a hexadecimal number from 16 bits.
The inputs are optional; therefore, any input that is not specified is assumed to have a value of
zero (FALSE). The input binary address may range from zero to 255. The letter "A" represents Bit
0 in the address and the letter "H" represents Bit 7 in the address. For example, if the input binary
address is 36 (C and F are TRUE), the digital output would be based on the value of Bit 4 (the
fifth bit) in the third integer.
Symbol
Note: The size of the algorithm symbol varies as required to enclose the logic symbols being
executed by this algorithm.
Algorithm definitions
630 OW360_R1100
5.139 TRUTHTBL
OW360_R1100 631
5.139 TRUTHTBL
2. The output of the truth table is defined by the user via the integers B0 through C5.
3. The integer parameters in the Control Builder and Signal Diagrams must be input in decimal form. The
least significant group of 16 bits is located in the first output control state 0 through 15 (B0), and so on
until the most significant bit group.
Application Example
TRUTHTBL is a general purpose, logic algorithm. The output represents a Boolean equation of up
to eight inputs. In general, TRUTHTBL condenses discrete logic elements (for example, AND,
OR, NOT, XOR, NAND, or NOR) into one algorithm call. The logic statement of the output is
stated as a Boolean equation and then translated into the proper tuning constants. This
translation can be done manually.
The following figure shows how the tuning contents can be manually derived.
632 OW360_R1100
5.140 TRVP
5.140 TRVP
Description
The Triple Redundant Valve Positioner (TRVP) algorithm implements the triple module
redundancy for the Ovation Valve Positioner module. The algorithm monitors all three RVP
modules that control the process. Its main function is to provide reliable and bumpless control of
the servo valve by identifying failure scenarios and scaling the control output of the healthy RVP
modules accordingly. Additionally, the TRVP algorithm is capable of computing the integral
component of the PI algorithm and sends this information to the RVP modules as output voltage
offset.
The TRVP algorithm allows the operator to perform multiple operations such as synchronized
calibration, reboot of the RVP modules, clearing module alarms after an issue is fixed, and arming
healthy RVP modules to a control process. This algorithm is able to run a 10 milliseconds control
task.
Functional symbol
OW360_R1100 633
5.140 TRVP
In the triple redundancy configuration, the algorithm monitors up to three Valve Positioner
modules controlling the process. Each Valve Positioner is connected to only one coil. For servo
valves with less than three coils, only a subset of the three modules is connected to each coil.
Each of the three Valve Positioner modules determines the position feedback of the valve using a
separate LVDT sensor.
All tuning parameters are accessible from an MMI graphic. The TRVP algorithm performs the
following functions:
Monitors the health of each Valve Positioner module (see page 635).
Detects a deviation in the reported position feedback (see page 635).
Determines the state of each Valve Positioner module (see page 636).
Computes the integral component of the PI algorithm (see page 637).
Scales the PI control output for bumpless transition when modules fail or are required to fail
for reliable control of the process (see page 638).
Accesses Status Register 1 of each Valve Positioner module (see page 639).
Writes to the Command Register 10 of each module (see page 639).
Runs a synchronized calibration sequence to calibrate all the RVP modules simultaneously
(see page 640).
Resets failure flags (see page 642).
Reboots individual RVP modules without manually unplugging the module from the slot
(see page 642).
Determines the signal quality of the average feedback position and the voltage bias
(see page 642).
634 OW360_R1100
5.140 TRVP
If any failure is reported onboard, the Valve Positioner is capable of performing its own
diagnostics and sending a failure command to the Controller, which will be adjusting the scaling of
the other remaining healthy Valve Positioner modules controlling the valve.
If any failure condition is detected, the Valve Positioner module enters failure mode (its output
voltage is set to zero), and sends a failure command using the Status Register 1 to the TRVP
algorithm in the Controller. The algorithm will scale the output voltage of each active module to
ensure bumpless transition.
The feedback positions reported by all modules are received by the TRVP algorithm as inputs:
A_POSFB, B_POSFB, and C_POSFB. The algorithm computes the position difference between
every two modules and compares it to the maximum expected position deviation MAX_DEV [%].
If a position value is not consistent with the other two, then that corresponding RVP module will
be forced to fail. If the remaining two healthy modules detect an inconsistent position value (their
difference is larger than MAX_DEV), then the TRVP algorithm first checks if any of the modules
reported a failure condition. If one of the modules detected an onboard failure, then that particular
module fails, and the position reported by the only healthy module is assumed to be correct. If
neither of the modules detected a failure onboard, then both of them enter failure mode (there is a
50 percent chance that one of them is not working correctly).
Note: The feedback position deviation diagnostic is neglected during transient times (set point
change and after triggering an arming command). The tuning parameter DIA_DEL specifies how
many loop times are required to delay the diagnostic calculations after a setpoint change or an
arming command.
When a module is unplugged from the base unit, the position feedback point (A_POSFB,
B_POSFB, or C_POSFB) exhibits bad quality; the failure command is initiated inside the TRVP
algorithm to fail the module.
OW360_R1100 635
5.140 TRVP
The TRVP algorithm assigns a status to each Valve Positioner module. There are three operating
states for each Valve Positioner module, which are also available as outputs: A_STATE,
B_STATE, and C_STATE.
0 Failed The Valve Positioner module has reported a failure command to the Controller or
the TRVP algorithm has set the module in the failure state. The output voltage of
the module is forced to zero.
1 Ready The Valve Positioner module does not detect any failure conditions and its position
feedback is consistent with the other module(s). It is ready to be engaged and
control the process, but it is not (yet) controlling the process. The module is
assumed to be healthy, and the output voltage is zero volts.
2 Active The Valve Positioner module is healthy and participates in the control of the
process. A transition from Ready State to Active State is only possible by operator
intervention.
The Failed and the Ready states depend on the diagnostics of the module, and the transition
between these states depends on the health of the module. A transition from the Ready state to
the Active state is possible only by the arm command (rising edge for ARM_CMD) issued by the
operator given that the driving signal is TRUE.
The operator specifies which of the RVP modules are connected to a servo coil using the tuning
parameter associated with each module (A_DRIVE, B_DRIVE, or C_DRIVE). These driving
signals have the ability to accommodate the servo valves with less than three coils. In such a
case, the operator can specify which modules are controlling the process by setting A_DRIVE,
B_DRIVE, and C_DRIVE to either of the following options:
Yes - Connected.
No - Not Connected
636 OW360_R1100
5.140 TRVP
Each Valve Positioner module implements the proportional component of the PI algorithm.
However, the integral term is computed by the TRVP algorithm and is sent to the modules as a
voltage offset. The parameter scaling for bumpless transition (see Scaling output voltage for
bumpless control (see page 638) ) will scale both the PI gain and the total integral bias by the
number of active modules. Therefore, the control of the valve is uniformly distributed between the
active modules.
The integral calculations use the setpoint value from the Controller and the average feedback
position value obtained from the healthy modules.
where
and
equals the number of healthy modules. The PI reset time is a tunable parameter (INTTIME) in
seconds.
The integral calculations are enabled only when the difference between the average feedback
position (output: AVG_POS) and the setpoint (input: STPT) is less than the value specified by the
tuning parameter INT_ENB [%]. Otherwise, the previous integral value is held. The integral value
is held constant (frozen) in the following scenarios:
During Seating and Backseating.
During Retreat Seating and Retreat Backseating.
Outside the INT_ENB deadband.
When reaching the limits INT_MAX or INT_MIN.
The integral component is reset when any of the following conditions are true:
The input signal INT_RST is set to TRUE (it may be connected to a logic network or
manipulated by the operator).
All modules are in failed state.
During calibration and when in Local mode or Start mode.
Direct or indirect action can be tuned by setting INT_DIR to one or zero, respectively.
The integral component can have a lower and an upper limit specified by the tuning parameters:
INT_MIN and INT_MAX, respectively. The units are Volts.
A smoothing factor controls the slew rate of the integral component (INTSLEW) expressed in
Volts per second. A large value for this parameter allows a fast convergence of the integral
component estimation. A small value avoids the bumps in the integral calculations. The integral
component can be locked to a constant value by setting INTSLEW to zero.
The TRVP algorithm also accepts an additional voltage bias (V_BIAS) specified by the operator
as a constant. This value is added to the voltage computed by the integral calculations and sent
to the module as one voltage value. This voltage value is encoded into bits 0-12 of the TRVP
outputs: A_CTRL, B_CTRL, and C_CTRL. These outputs should be connected to the Channel 8
of the corresponding modules.
OW360_R1100 637
5.140 TRVP
The proportional component (piGain * error) will be performed by each RVP module, and the
integral calculations (Integral) and any additional voltage bias (voltageBias) are determined at the
Controller level and communicated the module.
The total output voltage (servoVoltage) sent to each coil will be distributed equally between the
active RVP modules. Therefore, a failure of one of the modules implies that the remaining active
modules will divide the total output voltage between them to ensure bumpless transition during
failovers. This will be achieved by scaling the proportional term and the integral term with the
number of active modules.
A scaling factor is sent to each module to inform the module if it is actively driving the servo value.
In addition, if the module is controlling the valve, the scaling factor will specify the total number of
modules controlling the valve:
Modules
0 No module is controlling the valve, and its total output is zero volts.
1 Only one module is controlling the valve, and its output is not scaled.
2 Two modules are controlling the valve and this module is one of them. The
output is scaled by a factor of 1/2.
3 Three modules are controlling the valve and this module is one of them. The
output is scaled by a factor of 1/3.
The scaling factor is packed with the integral value into the outputs: A_CTRL, B_CTRL, C_CTRL.
These outputs should be connected to the Channel 8 of the corresponding modules. Bits 13-15
include the scaling factor.
The proportional term, piGain * error, contributes to the output voltage during the transition period
from one setpoint value to another. The error is the difference between the setpoint and the
position feedback reported by the LVDT sensor for that particular module. After proper tuning, the
error will be minor during steady-state conditions.
The tuning parameter, piGain is scaled at the module level with the scaling factor specified by the
TRVP algorithm.
638 OW360_R1100
5.140 TRVP
The integral term contributes to the output voltage during stable valve control (maintaining a fixed
position), and it represents the voltage required to overcome the mechanical bias of the valve.
The TRVP algorithm determines the integral term and any additional voltage bias and sends the
value to each Valve Positioner module as a single value. The TRVP algorithm specifies the
scaling factor, and the integral term is scaled accordingly at the module level.
5.140.7 Status Register 1 points (inputs)
The TRVP algorithm has access to the Status Register 1 of each module through the following
inputs: A_STATP, B_STATP, C_STATP. The corresponding Ovation point assigned to Channel 9
can be connected directly to these inputs of the TRVP algorithm. The Status Register 1 uses the
following bit assignment:
Bits 0-3 – RVP mode
Bits 4-5 – Not used
Bit 6 – Hold integration (reflects Seating and Backseating status)
Bit 7 – Alive flag
Bit 8 – Not used
Bit 9 – Coil diagnostic flag
Bit 10 – Not used
Bit 11 – Feedback A trouble
Bit 12 – Retreat disabled flag
Bit 13 – Feedback B trouble
Bits 14-15 – Not used
The TRVP algorithm writes to the Command Register 10 of each module through the following
outputs: CMDREGA, CMDREG, CMDREGC. The corresponding Ovation point assigned to
Channel 11 can be connected directly to these outputs of the TRVP algorithm. The Command
Register 10 uses the following bit assignment:
Bits 0-2 – Calibration command
Bits 3-5 – Synchronized calibration command (see next section)
Bit 6 – Synchronized calibration enable flag
Bit 7 – Not used
Bit 8 – Reset failure flags (bits 9,11,13 from Status Register 1)
Bit 9 – Reboot command
Bits 10-12 – Not used
Bits 13-14 – Indicates the coil connection status:
0 – not connected to a servo coil.
1 – connected to a servo coil and driving the calibration.
2 – connected to a servo coil and not driving the calibration.
Bit 15 – Not used
OW360_R1100 639
5.140 TRVP
The TRVP algorithm runs a synchronized calibration sequence to calibrate all the RVP modules
simultaneously. During calibration, only one RVP module is driving the servo valve, while the
other modules are updating their calibration parameters when requested by the TRVP algorithm.
You choose which of the RVP modules (A, B, or C) will drive the calibration using the tuning
parameter CAL_DRV.
CAL_REQ is a packed digital input signal and determines what type of calibration should be
performed. The corresponding calibration procedure will be initiated when a rising edge is
detected by the following bits of the CAL_REQ parameter:
Bit 0 – Zero Hot Calibration
Bit 1 – Top Hot Calibration
Bit 2 – Full Calibration
Bit 3 – Calibration Cancel
Bits 4-16 – Not used
A KEYBOARD algorithm with a PACK16 algorithm can be connected to CAL_REQ to implement
the functionalities listed above.
The calibration sequence can run with three, two, or even one RVP module. If the driving module
is not inserted in the slot or it is set as not connected to a servo coil (X_DRIVE = No), then the
calibration will not start. In order to run a calibration with less than three modules, you must
manually disconnect the RVP modules from the slot (which are NOT to be calibrated) before
issuing the calibration request command (CAL_REQ). The calibration will be performed with the
RVP modules that are detected (those inserted in the slot) when the calibration command is
issued.
If an RVP module is inserted in the slot while calibration is being performed, then that module will
go to Normal mode with its output scaling set to zero until the current calibration sequence is
complete. This module will not be calibrated.
If a module is unplugged from the slot during calibration, than the other modules will enter Error
mode (bits 0-3 in the Status Register indicate the decimal value 4) after a certain timeout interval.
In this case, neither of the modules will be calibrated. In order to recover from Error mode, you
can issue a CALIBRATION CANCEL command using the CAL_REQ input pin (bit 3), or reboot all
the modules in Error mode. At this point, a new calibration command can be issued to calibrate
the remaining RVP modules.
The synchronized calibration sets the calibration parameters for all the RVP modules during the
same calibration sequence. This is orchestrated by the TRVP algorithm by writing the following
commands to Command Register 10 (bits 5-3) of each of the RVP modules:
000 – No calibration command (default value).
001 – Go to the Seated (0 percent) position – only the driving RVP module reacts to this
command while the other modules wait for the next command.
010 – Read the calibration parameter for the Seated (0 percent) position.
011 – Go to the Backseated (100 percent) position – only the driving RVP module reacts to
this command while the other modules wait for the next command.
100 – Read the calibration parameters for the Backseated (100 percent) position.
101 – Go to the Seated (0 percent) position – only the driving RVP module reacts to this
command while the other modules wait for the next command.
640 OW360_R1100
5.140 TRVP
110 – Read the calibration parameter for the Seated (0 percent) position.
111 – Record and update the calibration parameters command.
The decimal value of these commands is also available for display using the CAL_SEQ optional
output pin. Additionally, the optional output pin CAL_CLR indicates the exit from calibration. Its
value is set to 1 when one of the two following conditions is true:
Calibration has finished successfully and all the modules return to Normal mode.
User aborts the calibration using the CAL_REQ input pin (bit 3).
The above calibration commands issued by the TRVP algorithm reflect the steps for a Full
Calibration sequence. The Zero Hot and Top Hot Calibration sequences use only a subset of
these commands. The RVP modules reply to the above commands using the Status Register 1
(bits 0-3):
1011 – RVP module is driving to a requested position (Seat or Backseat) at a constant rate –
the driving RVP module will display this state.
1001 – At Seated (0 percent) position.
0101 – Finished reading the calibration parameters for the Seated (0 percent) position.
1010 – At Backseated (100 percent) position.
0110 - Finished reading the calibration parameters for the Backseated (100 percent)
position.
0111 – Calibration (successfully) finished.
0100 – Calibration error.
CALSTAT is a packed digital output signal used for displaying purposes:
Bit 0 – set to TRUE if the RVP module A is available to drive the calibration. "Available"
means that A_DRIVE = YES (tuning parameter indicates that RVP A is connected to a servo
coil) and that RVP A is inserted in the slot.
Bit 1 – set to TRUE if the RVP module B is available to drive the calibration.
Bit 2 – set to TRUE if the RVP module C is available to drive the calibration.
Bit 3* - set to TRUE if RVP module A is set to drive the calibration
Bit 4* - set to TRUE if RVP module B is set to drive the calibration
Bit 5* - set to TRUE if RVP module C is set to drive the calibration
* At any time, only one or none of the bits 3-5 is set to TRUE. All the bits are set to FALSE if the
driving RVP module (using CAL_DRV) is disconnected from the slot or if it is not to be connected
to a servo coil (X_DRIVE = No).
OW360_R1100 641
5.140 TRVP
You have the capability to reboot individual RVP modules without manually unplugging the
module from the slot. The corresponding RVP module will be rebooted when a rising edge is
detected by the following bits of the REBOOT packed digital input:
Bit 0 – Reboot RVP module A.
Bit 1 – Reboot RVP module B.
Bit 2 – Reboot RVP module C.
Bits 3-16 – Not used.
A KEYBOARD algorithm with a PACK16 algorithm can be connected to REBOOT to implement
the functions listed above.
The TRVP algorithm determines the signal quality of the average feedback position (AVG_POS)
and the voltage bias (OFFSET) based on the following conditions.
State description
0 GOOD At least one Valve Positioner module is healthy, and its position feedback
value can be trusted.
3 BAD Neither of the Valve Positioner modules are healthy; either the position
feedback values from all three Valve Positioner modules deviate by more
than MAX_DEV from each other, or all of the modules reported a failure
condition.
The signal quality value is also available as an optional output pin (SIGQUAL).
642 OW360_R1100
5.140 TRVP
Tuning diagram
DIAG LU Tuning Required 0
number
Coil Connection:
A_DRIVE G1 Tuning Required 1.0 -
1 = Yes; 0 = No
Coil Connection:
B_DRIVE G2 Tuning Required 1.0 -
1 = Yes; 0 = No
Coil Connection:
C_DRIVE G3 Tuning Required 0.0 -
1 = Yes; 0 = No
Calibration
CAL_DRV X4 Tuning Required 1 --
driver
Algorithm
T_EXEC R1 Tuning Required 0.01 Execution Time -
[sec]
Maximum
MAX_DEV R2 Tuning Required 1.0 Position -
Deviation [%]
Minimum Error
INT_ENB R3 Tuning Optional 5.0 for Integration to -
Start
Maximum Limit
INT_MAX R4 Tuning Optional 10.0 -
for Integral [V]
Minimum Limit
INT_MIN R5 Tuning Optional -10.0 -
for Integral [V]
Integral Reset
INTTIME R6 Tuning Required 10.0 -
Time [s]
Slew Rate of
INTSLEW R7 Tuning Optional 0.1 -
Integral [V/sec]
1 - Direct Action:
INT_DIR R8 Tuning Required 1.0 E = PV - STPT; -
0 - Indirect
Position
Diagnostic
DIA_DEL R9 Tuning Optional 200.0 -
Delay [loop
times]
rvpA: Position
A_POSFB - Input Required - LA
Feedback
OW360_R1100 643
5.140 TRVP
rvpB: Position
B_POSFB - Input Optional - LA
Feedback
rvpC: Position
C_POSFB - Input Optional - LA
Feedback
Engage ready
modules into
ARM_CMD - Input Required - LD
tRVP on rising
edge
rvpA: Status
A_STATP - Input Required - Register 1 LA
(Channel 9)
rvpB: Status
B_STATP - Input Optional - Register 1 LA
(Channel 9)
rvpC: Status
C_STATP - Input Optional - Register 1 LA
(Channel 9)
Voltage Bias
V_BIAS - Input Optional - Added to PI LA
output [V]
Integral Reset
INT_RST - Input Optional - Signal when set LD
to 1
rvpA: 1 = Reset
A_RST_F - Input Required - LD
all failure flags
rvpB: 1 = Reset
B_RST_F - Input Optional - LD
all failure flags
rvpC: 1 = Reset
C_RST_F - Input Optional - LD
all failure flags
Calibration
CAL_REQ - Input Required - request LP
command
rvpA: Connect
A_CTRL - Output Required - to Channel LA
8 point
rvpB: Connect
B_CTRL - Output Optional - to Channel LA
8 point
rvpC: Connect
C_CTRL - Output Optional - to Channel LA
8 point
rvpA: 0 - Failed;
A_STATE - Output Optional - 1 - Ready; LA
2 - Active
644 OW360_R1100
5.140 TRVP
rvpB: 0 - Failed;
B_STATE - Output Optional - 1 - Ready; LA
2 - Active
rvpC: 0 - Failed;
C_STATE - Output Optional - 1 - Ready; LA
2 - Active
Average
feedback
AVG_POS - Output Optional - LA
position of
healthy modules
Total voltage
offset sent to the
OFFSET - Output Required - LA
RVP modules
[V]
Signal quality:
0-Good;1-Fair;
SIGQUAL - Output Optional - LA
2-Poor;
3-Bad
Calibration
CALSTAT - Output Optional - LP
status
rvpA: Command
CMDREGA - Output Required - Register 10 LA
(Channel 11)
rvpB: Command
CMDREGB - Output Optional - Register 10 LA
(Channel 11)
rvpC: Command
CMDREGC - Output Optional - Register 10 LA
(Channel 11)
Calibration
CAL_SEQ - Output Optional - sequence LA
number
Calibration clear
CAL_CLR - Output Optional - LA
command
RVPMODA - Output Optional - rvpA: Mode LA
RVPMODB - Output Optional - rvpB: Mode LA
RVPMODC - Output Optional - rvpC: Mode LA
Note: When a parameter type is defined as "Optional," the Control Builder may default the
parameter to a value. However, for the control function to be executed properly, you must enter a
value for this parameter.
OW360_R1100 645
5.141 TRVPTUNE
5.141 TRVPTUNE
Description
The Triple Redundant Valve Positioner Tune (TRVPTUNE) algorithm provides upload and
download functionality for the G05 Valve Positioner module. This algorithm handles all "offline"
(configuration) functions. The TRVPTUNE algorithm is a part of the triple redundant RVP
configuration (G05 RVP). This algorithm inherits the tuning functionalities of the RVPSTATUS
algorithm.
Functional Symbol
LC field records
The TRVPTUNE algorithm uploads and downloads configurable parameters used by the G05
Valve Positioner module. The following table lists tuning parameters and the associated LC
record fields.
646 OW360_R1100
5.141 TRVPTUNE
OW360_R1100 647
5.141 TRVPTUNE
648 OW360_R1100
5.141 TRVPTUNE
2 Seating, Retreated Seating, Backseating, and Retreated Backseating are consistent with the
RSR module. Refer to the Servo Driver User Guide for Ovation (RSR) manual for more information.
An example of Seating and Retreated Seating is illustrated in the figure following this table
assuming DIRECT = 0. The output will retreat to a lower value (exitSeatVal) if the absolute value of
the error is less than seatDiagLimit. While in Retreat, if the absolute value of the error exceeds
seatDiagLimit, the Retreat Disable flag is set (bit 12 in Status Register 1) and the output will go to
the maximum value and hold this value until it exits the Seating state (i.e. setpoint demand is larger
than seatLimit). Backseating and Retreated Backseating are similar but using backSeatLimit
instead of seatLimit, and Umax instead of Umin.
3 Raw A/D counts can be used for manually calibrating the servo valve. For example, if the valve is
at fully closed position then the A/D raw readings provide the value for bottomCalPos = Raw_Fb_B
- Raw_Fb_A. If the valve is at fully open position then the raw A/D readings provide the value for
topCalPos = Raw_Fb_B - Raw_Fb_A.
Valve Retreat
OW360_R1100 649
5.141 TRVPTUNE
Commands
Command description
COMMAND DESCRIPTION
Enable Activates the TRVPTUNE algorithm. The value must be set to TRUE for the
algorithm to execute the upload and download requests.
Upload Retrieves the parameter values currently stored in the Valve Positioner
module (RVP card) memory.
Download Updates the parameter values currently stored in the Valve Positioner
module (RVP card) memory.
When the download command is requested, the values entered into the
graphic are stored in the 32-bit real number fields of the algorithm record.
Then the values in the selected fields of the algorithm record are written to
the RVP memory in the corresponding LC field.
Reset Acknowledges the finish of an upload or a download operation. If an error is
detected during the download or upload operation, the reset command will
clear the error and prepare the algorithm for the next command.
650 OW360_R1100
5.141 TRVPTUNE
State Logic
The output status of the TRVPTUNE algorithm provides information regarding upload and
download operations. The following State chart describes the possible value outcomes of the
TRVPTUNE output signal.
OW360_R1100 651
5.141 TRVPTUNE
# DESCRIPTION
Note: When a parameter type is defined as Optional, the Control Builder may default the parameter to
a value. However, for the control function to be executed properly, you must enter a value for this
parameter.
652 OW360_R1100
5.142 TSLH
5.142 TSLH
Description
TSLH calculates Temperature for Saturated Liquid given its Enthalpy (H). It is one of the functions
of the STEAMTABLE (see page 594) algorithm.
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
OW360_R1100 653
5.143 TSLP
5.143 TSLP
Description
TSLP calculates Saturation Temperature of Saturated Liquid given its Pressure. It is one of the
functions of the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
654 OW360_R1100
5.144 UNPACK16
The UNPACK16 algorithm specifies up to 16 optional, packed digital values in the A2 record field
of a packed LP point record as optional outputs of this algorithm. These outputs may be initialized
as any combination of LD and DD records. The bit in the A2 record field that corresponds to the
output digital point number is moved to the output digital point record.
Note: The UNPACK16 algorithm only takes LP and DP record types as inputs.
Functional symbol
Algorithm definitions
OW360_R1100 655
5.144 UNPACK16
656 OW360_R1100
5.145 VCLTP
5.145 VCLTP
Description
VCLTP calculates Specific Volume of Compressed Liquid given its Temperature and Pressure. It
is one of the functions of the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
OW360_R1100 657
5.146 VSLT
5.146 VSLT
Description
VSLT calculates Specific Volume of Saturated Liquid given its Temperature. It is one of the
functions of the STEAMTABLE algorithm (see page 594).
Functional symbol
The following table represents the lower and upper limits of valid values for the algorithm.
However, the calculated output values may be invalid even though the input values are valid.
658 OW360_R1100
5.147 XOR
5.147 XOR
Description
The XOR algorithm performs a mathematical exclusive OR function. For the XOR algorithm, the
output is the logical, exclusive “OR” of the two inputs (that is, if one input is TRUE and the other
input is FALSE, the output is TRUE; otherwise, the output is FALSE).
Functional Symbol
Algorithm definitions
Function
IF IN1 = IN2
THEN OUT = FALSE
ELSE
OUT = TRUE
OW360_R1100 659
5.148 X3STEP
5.148 X3STEP
Description
The X3STEP algorithm controls devices that must be kept within a certain tolerance and tuned by
an operator. The algorithm receives the Input demand (IN1) and the position feedback (IN2) of a
device (both are defined within a range of 0-100%). The difference (Error = IN11 - IN2), along with
other user-entered configuration parameters determine how the algorithm attempts to position the
equipment so that the error is zero.
The algorithm moves the equipment by energizing two digital outputs (DIG1 and DIG2)
associated with the device. The digital outputs may be energized in one of three ways (thus, the
algorithm's name X3STEP) to move the device to the demanded position:
Maintained steadily ON.
Pulsed (coarse-pulsed and fine pulsed) ON and OFF.
Maintained steadily OFF.
Functional symbol
The action of each digital output depends on the value of the error, and the user-entered
parameters: ON1, COR1, FNE1, ON2, COR2, and FNE2.
660 OW360_R1100
5.148 X3STEP
The parameters ON1, COR1, and FNE1, affect DIG1 when the error is above zero. The
parameters ON2, COR2, and FNE2, affect DIG2 when the error is below zero. The bar graph
below shows the relationship of the parameters with respect to the error.
where:
ON2 = If the error is below or equal to ON2, ON1 = If the error is above or equal to ON1 the
the digital output DIG2 is maintained ON. digital output DIG1 is maintained ON.
COR2 = If the error is below or equal to COR1 = If the error is above or equal to COR1, the
COR2, the digital output DIG2 is coarse digital output DIG1 is coarse pulsed.
pulsed.
FNE2 = If the error is below or equal to FNE1= If the error is above or equal to FNE1, the
FNE2, the digital output DIG2 is fine pulsed. digital output DIG1 is fine pulsed. If the error is
If the error is below zero, but above FNE2, above zero, but below FNE1, DIG1 is maintained
DIG2 is maintained OFF. OFF.
Operation
-----------------------------------------------------------
-15 -12 -8 8 12 15
If the initial error is above or equal to 15, the digital output (DIG1) is set ON. DIG1 is maintained
ON until the error falls below 15. At this point, the DIG1 output begins and continues coarse
pulsing until the error is below 12. Once this occurs, the DIG1 output begins and continues fine
pulsing until the error is below 8. When this occurs, DIG1 is set OFF. Please note that the
converse of the above definitions are TRUE when the error is below 0.
In general, X3STEP turns off both its digital outputs when it detects errors in configuration or
operation. They remain OFF until the error conditions clear. Also, when errors occur on input IN2,
OUT is not updated but retains its last valid value.
OW360_R1100 661
5.148 X3STEP
The digital outputs are both set OFF (DIGI1 = 0 and DIGI2 = 0) under any of the following
conditions:
The IN1 input has BAD quality, is an invalid real number, or is not being updated across the
Ovation network.
The IN2 input has BAD quality, is an invalid real number, or is not being updated across the
Ovation network.
The digital input DEVO (Operational Status of Device) is set indicating that there is a problem
with the device.
The error is zero or below FNE1 for DIG1. The error is zero or above FNE2 for DIG2.
An on time span of 0 or less is invalid. This invalid configuration is reported by setting the
quality of OUT to BAD and setting bit 3 of its 1W field. This error is reported at runtime.
The algorithm has been incorrectly configured by setting ON1, COR1, FNE1, or ON2, COR2,
and FNE2 all to zero. This invalid configuration is reported by setting the quality of OUT to
BAD and bit 3 of its 1W field. This error is reported at runtime. The outputs are set to 0 for one
execution loop under any of the following conditions:
The Controller is reset (hardware or software reset).
A failover occurs.
The algorithm is modified and downloaded.
Tracking Signals
This algorithm ignores the TRIN tracking signals. During first pass after a reset, or failover, and
anytime the DEVO digital is TRUE, Bit 16 of TOUT is set TRUE causing the upstream algorithm
to track OUT. Bit 16 of TOUT is set FALSE at all other times.
Bits 20 and 31 of TOUT are set ON when the IN2 value reaches 100 percent or greater. This
indicates the algorithm has reached the High Limit and requests the upstream algorithm to inhibit
raising the output.
Bits 19 and 30 of TOUT are set ON when the IN2 value reaches 0 percent or less. This indicates
that the algorithm has reached the Low Limit and requests the upstream algorithm to inhibit
lowering the output. All other bits (17-18 and 21-29) of TOUT are not used.
The TOUT value output is set equal to OUT and its quality is always set to GOOD.
Algorithm Configurations
To maintain the digital outputs ON at all times when the error is not zero, the settings
presented in the following tables are required:
Example for DIG1 is ON all time, coarse and fine pulsing is eliminated
ON 0.1 0 0 0.00001
662 OW360_R1100
5.148 X3STEP
Example for DIG2 is ON all time, coarse and fine pulsing is eliminated
ON -0.1 0 0 -0.00001
To eliminate coarse pulsing of a digital the settings presented below in the tables are
required.
If the error is initially above ON1 (or below ON2), the digital remains ON until the error falls below
ON1 (or above ON2). When this occurs and COR1 (or COR2) equals zero, coarse pulsing is
ignored and fine pulsing begins. Fine pulsing continues until the error falls below FNE1 (or above
FNE2). At this point the digital is maintained OFF.
ON 11 2 0 10
Fine pulsing 5 2 0 10
OFF 1 2 0 10
OW360_R1100 663
5.148 X3STEP
ON -11 -2 0 -10
Fine pulsing -5 -2 0 -10
OFF -1 -2 0 -10
To eliminate fine pulsing of a digital the settings presented below in the tables are required.
If the error is initially above ON1 (or below ON2), the digital remains ON until the error falls below
ON1 (or above ON2). At this point, coarse pulsing begins and is maintained until the error falls
below COR1 (or above COR2). When this occurs and FNE1 (or FNE2) equals zero, fine pulsing is
ignored and the digital is maintained OFF.
ON 11 0 2 10
Coarse pulsing 5 0 2 10
OFF 1 0 2 10
ON -11 0 -2 -10
Coarse pulsing -5 0 -2 -10
OFF -1 0 -2 -10
664 OW360_R1100
5.148 X3STEP
To eliminate maintaining the digital outputs ON steady when the error is not zero, the settings
presented below in the tables are required.
Assumes a non-zero value for COR1, COR2, FNE1, or FNE2. If the error is initially above COR1
(or below COR2), the digital is pulsed coarsely until the error falls below COR1 (or above COR2).
When this occurs, fine pulsing begins and continues until the error falls below FNE1 (or above
FNE2). At this point the digital is maintained OFF.
Coarse pulsing 11 2 5 0
Fine pulsing 3 2 5 0
OFF 1 2 5 0
Fine pulsing -3 -2 -5 0
OFF -1 -2 -5 0
OW360_R1100 665
5.148 X3STEP
The ON and OFF times for the coarse and fine pulses are determined from the user-entered
off-time and on-time span tuning fields.
OUT is assigned the value of IN2, where IN2 is the position feedback of device defined and
should be defined in range 0-100 percent.
If IN2 is less than zero, OUT is assigned a value of zero. If IN2 is greater than 100, OUT
is assigned a value of 100. Otherwise, OUT is assigned the value of IN2.
If IN2 has BAD quality, or is an invalid real number, OUT retains its last valid value and its
quality is set to BAD.
The quality of OUT and its 1W field report algorithm error conditions are described below:
Quality
Tuning Constants
For proper operation, ON2 < COR2 and COR1 < ON1, if any of ON2, COR2, COR1 and ON2
have non-zero values. The algorithm does not check for this invalid configuration and
algorithm results may be improper for the wrong configuration.
For proper operation, COR2 < FNE2 and FNE1 < COR1, if any of COR2, FNE2, FNE1 and
COR1 have non-zero values. The algorithm does not check for this invalid configuration and
algorithm results may be improper for the wrong configuration.
Set CTM1, CTM2, FTM1, FTM2 (time spans for pulsing) in multiples of the control task’s loop
time.
If CTM1, CTM2, FTM1, and FTM2 and the accompanying ON and OFF times that are less
than one loop time, the algorithm assumes those times are equal to one loop time.
Algorithm definitions
666 OW360_R1100
5.148 X3STEP
OW360_R1100 667
5.148 X3STEP
668 OW360_R1100
5.149 2XSELECT
5.149 2XSELECT
Description
The 2XSELECT algorithm monitors two analog transmitter inputs for quality and deviation from
each other. The output is either one of the two input values; the higher value, the lower value, or
the average of the two values, depending on the mode selected. You select the mode using the
use of the TMOD and MODE tracking inputs, the Operator’s Keyboard function keys, or the
Control Builder.
Functional symbol
The Control Indicator Word is used to specify which of the Average, Lower and Higher modes are
inhibited, and the type of quality of the input that sets the Quality Alarm for that point. The
Average, Lower, and Higher modes cannot be selected if they are inhibited by the Control
Indicator Word, or when either of the transmitters is in Quality Alarm, or when the deviation
between the two transmitter values is greater than the Control Deviation Deadband tuning
constant (CNDB).
The Transmitter A mode cannot be selected when Transmitter A is in Quality Alarm and
Transmitter B is not in Quality Alarm. The algorithm goes to Transmitter A mode when both
transmitters are in Quality Alarm, or when Transmitter B is in Quality Alarm. The Transmitter B
mode cannot be selected when Transmitter B is in Quality Alarm. The algorithm goes to
Transmitter B mode when Transmitter A is in Quality Alarm and Transmitter B is not in Quality
Alarm.
OW360_R1100 669
5.149 2XSELECT
On the first pass of the algorithm, if the Tracking Input (MODE) is initialized by the user, the mode
is set according to the rounded value of the tracking input as follows:
Modes
1 Average
2 Lower
3 Higher
4 Transmitter A
5 Transmitter B
If the rounded value of the tracking input is not 1 through 5, or if the tracking input was not
initialized, the mode is set to Average mode. If the mode selected on the first pass is inhibited, or
if it is blocked by a Quality Alarm or a Deviation Alarm, as described above, the mode is set to the
next lowest priority mode (where the Average mode has the highest priority and Transmitter B
mode has the lowest priority) until a mode is selected that is not inhibited or blocked. If both
transmitters are in Quality Alarm, the output of the algorithm latches onto the last good value and
the mode is set to the Transmitter A mode.
If the Tracking Mode Request digital input (TMOD) is initialized, the mode is set according to the
rounded value of the tracking input and the above table when the Tracking Mode Request signal
is TRUE and there are no Quality Alarms. The mode remains unchanged if the rounded value of
the tracking input is not 1 through 5 when the Tracking Mode Request signal is TRUE.
You may select a different mode by using the function keys on the Operator’s Keyboard when the
Tracking Mode Request signal is FALSE. The value of the analog output (OUT) is according to
the mode of the algorithm:
Modes
The Transmitter Deviation Alarm digital output (XDEV) is set TRUE when the deviation between
the two transmitter values is greater than the Alarm Deviation Deadband tuning constant (ALDB),
or when one or both transmitters contain invalid real numbers.
The Transmitter A Quality Alarm digital output (XABQ) is set TRUE when the quality of the
Transmitter A analog input goes BAD or NOT GOOD, depending on the Quality Alarm Type flag.
The Transmitter B Quality Alarm digital output (XBBQ) is set TRUE when the quality of the
Transmitter B analog input point goes BAD or NOT GOOD, depending on the Quality Alarm Type
flag.
670 OW360_R1100
5.149 2XSELECT
The Transmitter Malfunction Alarm digital output (XALM) is set TRUE when there is a Quality
Alarm on either of the two signals, when one or both input points contain invalid values, or when
the deviation between the two transmitter values is greater than the Control Deviation Deadband
tuning constant (CNDB).
The Manual Reject digital output (MRE) is set TRUE when both transmitters are in Quality Alarm,
or when the deviation between the two transmitter values is greater than the Control Deviation
Deadband tuning constant (CNDB). The P3 function key on the Operator’s Keyboard toggles the
inhibiting of the deviation check. For example, by pressing the P3 function key on the Operator’s
Keyboard, the Manual Reject output is only set TRUE when both transmitters are in Quality
Alarm. Then, by pressing the P3 function key again, the Manual Reject output is set TRUE when
both transmitters are in Quality Alarm or when the deviation is too large.
The packed digital output signal (PBPT) contains the Quality Alarms for both transmitters, the
Manual Reject output, the Transmitter Malfunction Alarm, the Tracking Request signal, the mode
of the algorithm, and the state of the Inhibit Control Deviation Alarm Check for the MRE digital
output feature.
The HOLD parameter holds the output value and quality for a desired number of loops when a
manual reject occurs.
Note: The information in the packed digital output signal is also stored in the B7 field of the
algorithm record.
OW360_R1100 671
5.149 2XSELECT
Function keys
The transmitter input values to the algorithm are checked for invalid real numbers. If a transmitter
contains an invalid value, its Quality Alarm digital output is set TRUE.
If both transmitters are in Quality Alarm, or contain invalid values, the value of the algorithm
output (OUT) quality is set to BAD.
If the algorithm calculates an invalid real number for the output, the quality of the output is set to
BAD and the output value is invalid.
INSEL parameter
The INSEL parameter determines which inputs of the 2XSELECT algorithm are being used to
calculate the output. The Signal Diagram application displays green circles around the active pins.
If none of the pins are selected, then nothing will display. You can also view this information via
the Process Diagram System graphics as well. Refer to Ovation Operator Station User Guide for
more information on the Signal Diagrams application and the Process Diagram System graphics.
The 2XSELECT algorithm activates individual bits in the Y0 field depending on the conditions in
the description field. If a signal is active, that signal is being used in the output calculation.
672 OW360_R1100
5.149 2XSELECT
Algorithm definitions
OW360_R1100 673
5.149 2XSELECT
674 OW360_R1100
5.149 2XSELECT
OW360_R1100 675
Index
OW360_R1100 677
Index
LOSELECT • 357
F LOWMON • 362
FACEPLATE • 278
M
FACEPLATE -- DIGITAL DEVICE template •
282 MAMODE • 363
FACEPLATE -- MASTATION template • 285 MASTATION • 366
FIELD • 287 MASTERSEQ • 376
Fieldbus algorithms • 27 Mathematical and Statistical algorithms • 32
FIFO • 289 MEDIANSEL • 389
Filtering algorithms • 28 Migrated special function algorithms • 33
First Pass Startup Options • 231 Modulating Control algorithms • 34
FIRSTOUT • 291 Module Reboot • 643
FLIPFLOP • 296 Monitor Function algorithms • 35
FUNCTION • 298 Monitoring the health of each Valve
Functions • 402 Positioner module • 636
MOTOR (Simple Controlled Motor) • 206
G MOTOR 2-SPD (Two Speed or
GAINBIAS • 302 Bi-Directional Controlled Motor) • 209
GASFLOW • 306 MOTOR 4-SPD (Two Speed and
General algorithm user information • 3 Bi-Directional Controlled Motor) • 212
MOTOR NC (Non-Controlled Motor) • 204
H MULTIPLY • 397
MULTISWITCH • 400
Hardware addressing • 3
Hardware Interface algorithms • 29 N
HEARTBEAT • 313
HIGHLOWMON • 316 NLOG • 405
HIGHMON • 317 NOT • 406
HISELECT • 319
O
HSCLTP • 324
HSLT • 325 OFFDELAY • 407
HSTVSVP • 326 ONDELAY • 409
HSVSSTP • 327 ONESHOT • 411
Operations • 349
I Operator Interface algorithms • 36
Input, FNUM parameter, and Output pins OR • 415
(IN, FNUM, and OUT[1-8]) • 221 Output points quality • 66
Integral term scaling • 640
P
Internal and External Control • 228
INTERP • 328 PACK16 • 416
Introduction to the Ovation standard PERSISVAL • 418
algorithms • 1 PID • 420
Invalid number checking and quality PIDFF • 435
checking • 5 PNTSTATUS • 447
Point Format Conversion algorithms • 37
K Point Quality • 231, 352
KEYBOARD • 332 POLYNOMIAL • 449
PREDICTOR • 451
L PRIORITY • 455
PRIORITY Algorithm Package • 455
LATCHQUAL • 335
Priority Deadband (PDB) • 225
LEADLAG • 337
PRIORITY-EXT • 471
LEVELCOMP • 341
PRIORITY-REJ • 476
Link Controller Module Interface algorithms •
Propagated point quality • 4
30
Proportional term scaling • 639
LOG • 345
PSLT • 479
LONGACC • 346
PSVS • 480
Loop Interface Module algorithms • 31
678 OW360_R1100
Index
OW360_R1100 679
Index
680 OW360_R1100