Documente Academic
Documente Profesional
Documente Cultură
Experion LX
Release 110
Honeywell
While this information is presented in good faith and believed to be accurate, Honeywell disclaims
the implied warranties of merchantability and fitness for a particular purpose and makes no
express warranties except as may be stated in its written agreement with and for its customers.
In no event is Honeywell liable to anyone for any indirect, special or consequential damages. The
information and specifications in this document are subject to change without notice.
Honeywell, PlantScape, Experion LX, and TotalPlant are registered trademarks of Honeywell
International Inc.
Other brand or product names are trademarks of their respective owners.
ii
R110
February 2014
Release Information
Document Name
Document ID
Release
Number
Publication
Date
EXDOC-XX16-en-110A
R110
February
2014
R110
February 2014
iii
Email:
iv
R110
February 2014
Symbol Definitions
Symbol Definitions
The following table lists those symbols used in this document to denote certain conditions.
Symbol
Definition
ATTENTION: Identifies information that requires special
consideration.
CAUTION
R110
February 2014
Symbol Definitions
Symbol
Definition
ESD HAZARD: Danger of an electro-static discharge to which
equipment may be sensitive. Observe precautions for handling
electrostatic sensitive devices.
Protective Earth (PE) terminal: Provided for connection of the
protective earth (green or green/yellow) supply system conductor.
vi
R110
February 2014
Contents
1.
1.2
1.3
1.4
R110
February 2014
vii
Contents
1.5
1.6
1.7
2.
2.2
2.3
3.
2.4
2.5
3.2
3.3
viii
R110
February 2014
Contents
3.4
3.5
3.6
3.7
3.8
3.9
4.
4.2
4.3
5.
R110
February 2014
ix
Contents
5.2
5.3
5.4
6.
6.2
6.3
6.4
7.
x
R110
February 2014
Contents
7.1
7.2
8.
8.2
Option to specify a time delay for the REGCTL blocks to shed the mode
...................................................................................................................... 166
Enabling the option of specifying time delay for REGCTL blocks to shed the mode166
Description of values for Bad Output Connection Option .......................................168
Considerations for setting the BADOCOPT value ..................................................170
Applicability of BADOCOPT parameter for FANOUT blocks ..................................170
Simulation support for the BADOCOPT parameter ................................................171
Impact of BADOCOPT parameter on regulatory control functionalities ..................171
Effects of BADOCOPT value on delay timer in various scenarios ..........................172
Auxiliary memory usage for the parameters ...........................................................173
Detail Displays ........................................................................................................173
8.3
8.4
9.
R110
February 2014
xi
Contents
9.2
R110
February 2014
Contents
xiii
Contents
R110
February 2014
Contents
xv
Contents
R110
February 2014
Contents
13.10 PIDER (PID with External Reset Feedback) Block .................................. 442
Description .............................................................................................................442
Configuration example ............................................................................................443
Function..................................................................................................................458
Operating modes and mode handling .....................................................................459
Required inputs ......................................................................................................460
Input ranges and limits ...........................................................................................460
Initializable outputs .................................................................................................461
Control initialization ................................................................................................462
Output bias .............................................................................................................462
Output ranges and limits.........................................................................................464
Direct or reverse control .........................................................................................465
Set Point Ramping..................................................................................................466
PV tracking .............................................................................................................470
PID equations .........................................................................................................471
PIDER equation variations .....................................................................................473
Gain options ...........................................................................................................474
Output Indication Function......................................................................................476
Tuning Constant Change Considerations ...............................................................478
Timeout monitoring .................................................................................................478
Timeout processing ................................................................................................479
Windup handling .....................................................................................................479
Windup processing .................................................................................................480
Anti-Reset Windup Status ......................................................................................482
Override feedback processing ................................................................................483
R110
February 2014
xvii
Contents
R110
February 2014
Contents
xix
Contents
R110
February 2014
Contents
xxi
Contents
R110
February 2014
Contents
xxiii
Contents
R110
February 2014
Contents
xxv
Contents
R110
February 2014
Contents
xxvii
Contents
R110
February 2014
Contents
xxix
Contents
R110
February 2014
Contents
Parameters .............................................................................................................979
xxxi
Contents
R110
February 2014
Contents
xxxiii
Contents
R110
February 2014
Contents
Function................................................................................................................1118
Inputs....................................................................................................................1119
Outputs .................................................................................................................1119
Control logic .........................................................................................................1119
Open sequence logic ............................................................................................1121
Close sequence logic ...........................................................................................1123
Error handling .......................................................................................................1125
MAINIBV parameters............................................................................................ 1125
xxxv
Contents
xxxvi
R110
February 2014
Contents
xxxvii
Contents
R110
February 2014
Contents
R110
February 2014
xxxix
Contents
Tables
Tables
Table 1 Expression operators, functions, and strings reference ................................ 281
Table 2 Expression operators, functions, and strings reference ................................ 688
xl
R110
February 2014
Contents
Figures
Figures
Figure 1 Generic single-loop controller functions. ........................................................ 46
Figure 2 Simplified overview of Experion LX architecture. ........................................... 48
Figure 3 Typical linking of Function Blocks through Control Builder. ........................... 50
Figure 4 Component block names are dependent on container block tag name for
system wide recognition. ........................................................................................ 52
Figure 5 Sample Control Builder configuration with sample tag name assignments. .. 53
Figure 6 Sample PID cascade loop configuration ........................................................ 57
Figure 7 Cycle time loading for sample container block configurations for a 50 ms CEE.
................................................................................................................................ 66
Figure 8 Peer-to-peer is layered upon CDA connection-oriented communications. ... 117
Figure 9 Example of DEF and REF block functions in CB configuration using REMCAS
block. .................................................................................................................... 125
Figure 10 Configuration example using single CAB insertion for regulatory control block
.............................................................................................................................. 206
Figure 11 Configuration example using multiple CAB insertions for regulatory control
block ..................................................................................................................... 209
Figure 12 Configuration example using two CAB insertions of the same type for
regulatory control block ........................................................................................ 211
Figure 13 Example of CB configuration using AUTOMAN block. .............................. 229
Figure 14 Example of CB configuration using ENHREGCALC block. ........................ 258
Figure 15 Example of CB configuration using OVRDSEL block. ............................... 329
Figure 16 Simple cascade control loop example. ...................................................... 348
Figure 17 Functional block diagram of typical PID cascade operation. ..................... 365
Figure 18 Example of CB configuration using a PID block for single loop control. .... 366
Figure 19 Example of CB configuration using two PID blocks for cascade loop control.
.............................................................................................................................. 368
Figure 20 PID block with SP ramping parameters configured for monitoring. ............ 378
Figure 21 PIDER block used in a cascade control strategy with PID, AUTOMAN, and
NUMERIC blocks ................................................................................................. 444
Figure 22 PIDER block with SP ramping parameters configured for monitoring. ....... 469
Figure 23 Simple PID with feedforward control loop example. .................................. 486
Figure 24 PID block with SP ramping parameters configured for monitoring. ........... 512
Figure 25 Example of Position Proportional loop for controlling valve position. ........ 547
Figure 26 Example of Position Proportional loop for controlling valve position through
pulse length or pulse count function. .................................................................... 548
Figure 27 PID block with SP ramping parameters configured for monitoring. ........... 554
Figure 28 Example of pulse count control algorithm outputs ..................................... 566
Figure 29 Example of pulse length control algorithm outputs .................................... 570
R110
February 2014
xli
Contents
Tables
Figure 30 Functional diagram of ramp and soak (set point) programmer in PID control
loop. ...................................................................................................................... 585
Figure 31 Example CB configuration using RATIOBIAS block................................... 606
Figure 32 Example CB configuration using RATIOCTL block. ................................... 636
Figure 33 Functional block diagram of typical remote cascade operation. ................ 729
Figure 34 Example of CB configuration using REMCAS block .................................. 731
Figure 35 Example CB configuration using a SWITCH block to assign a different primary
to a secondary. ..................................................................................................... 760
Figure 36 Example CB configuration using multiple SWITCH blocks to assign a primary
to a different secondary. ....................................................................................... 761
Figure 37 Example CB configuration using AUXCALC block for range conversion... 784
Figure 38 Example CB configuration using AUXSUMMER block to calculate PV based
on three inputs. ..................................................................................................... 791
Figure 39 Example CNTUPFL parameter configuration using edge-triggered ........... 797
Figure 40 Example diagram for edge-triggered ........................................................... 797
Figure 41 Example CNTUPFL parameter configuration using level-triggered ............ 798
Figure 42 Example diagram for level-triggered............................................................ 799
Figure 43 Example of CB configuration using a TOTALIZER block in a flow control loop.
.............................................................................................................................. 874
Figure 44 Configuration example using single CAB insertion. ................................... 892
Figure 45 Configuration example using multiple CAB insertions ............................... 894
Figure 46 Configuration example using two CAB insertions of the same type........... 896
Figure 47 DEVCTL block major functions and parameters - See Figure 43 also. .... 918
Figure 48 More DEVCTL block major functions and parameters. .............................. 919
Figure 49 Example of CB configuration using a DEVCTL block to provide two status
outputs. ................................................................................................................. 921
Figure 50 Example of CB configuration using DEVCTL block to provide two on pulse
outputs. ................................................................................................................. 923
Figure 51 CHGEXEC block graphical representation in control drawing ................... 980
Figure 52 Control Modules With Cascaded CHGEXEC Instances ............................ 990
Figure 53 Primary Control Module in Cascaded CHGEXEC (CM_CHGEXEC_PRI). 991
Figure 54 Secondary Control Module in Cascaded CHGEXEC (CM_CHEXEC_SEC)991
Figure 55 Cascaded CHGEXEC Within Single Control Module ................................ 993
Figure 56 Wrong Use Of CHGEXEC: Downstream Logic Pulls Change Data Directly995
Figure 57 Correct Use Of CHGEXEC: Downstream Logic Pulls From CHGEXEC Output
.............................................................................................................................. 996
Figure 58 Sample CHECKBOOL Strategy linking Control Modules in Project Mode1006
Figure 59 Viewing Sample CHECKBOOL Strategy Linking Control Modules in
Monitoring Mode ................................................................................................. 1007
xlii
R110
February 2014
Contents
Figures
R110
February 2014
xliii
Independent Name
Dependent Name
Container Block
Self-Standing Block
Human Interface
Communications Driver
R110
February 2014
45
To/From
Field
Devices
Human
Interface
Communications
Driver
Control Data
Processor
I/O Interface
Description
The user's "window-on-the-process" as well as the
configuration for the controller's functionality. It usually
provides varying levels of access for viewing and changing
process related parameters, such as the:
Process Variable (PV)
Set Point (SP)
Output (OP)
Tuning Constants, and
Alarm Conditions
46
R110
February 2014
Function
Description
I/O Interface
The I/O interface links all analog and digital I/O to the
control data processor for communications with field
devices. It provides any signal conversion needed to
condition an input or output for use by the processor or field
device.
R110
February 2014
47
48
R110
February 2014
graphically build the exact control operations you need for your process. There are three
major types of blocks which are listed below.
Block Type
Description
Container
Component
Self-Standing (or
Stand-Alone)
In this document, we use "Function Block" as a generic term, which applies to all three
types of blocks, listed above. Once you begin using the Control Builder application, you
will be able to readily associate block type with the graphic style used to represent a
given Function Block on the display.
ATTENTION
The HANDLER blocks are component type blocks even though they do
contain STEP and TRANSITION function blocks. Within the CEE, they are
implemented as components of the SCM block and not as container type
blocks.
The following figure gives a block diagram view of how FBs are typically linked
through Control Builder configuration.
R110
February 2014
49
R110
February 2014
R110
February 2014
51
For example, the Full Tag Name for a PID block named PIDA in a Control Module
named CM1 is:
CM1.PIDA
Parameter names
The parameters associated with a given Function Block have pre-assigned names. These
parameter names are dependent type names. That is, you must prefix a parameter name
with its appropriate Tag Name or Full Tag Name when you need to provide reference to
a specific parameter on a system wide basis. A parameter name has one of these general
formats for system wide recognition depending upon whether it is associated with an
independent or a dependent type Function Block.
For example, to reference the output (OP) parameter of a PID block named PIDA in a
Control Module named CM1; you would identify the parameter as follows:
CM1.PIDA.OP
PIDLOOP.EXECSTATE
The main item to remember about naming is that you must specify a unique name for the
Function Block or parameter that should be recognized on a system wide basis.
52
R110
February 2014
The following figure illustrates some typical Tag Name assignments used in a sample
Control Builder configuration.
Description
Tag names CEE (CEEC300_11).
Note that the format for these tag names is used for example
purposes only.
R110
February 2014
53
Callout
Description
The name must be less than the maximum size allowed for a tagname:
16 for composites.
54
BOOLEAN
ENUM (Enumeration)
R110
February 2014
TIME
STRING
In most cases, only output and input parameters with matching data types can be
connected. One exception is with input and output connections for SCM blocks.
R110
February 2014
55
that the Control Module FB executes the transfer just before it starts the execution of the
block algorithm.
An active connector allows the block algorithm to read connection status as part of its
processing and take action based on that status. A passive connector does not allow a
block to determine its connection status and it returns a failsafe value in response to a
connection break caused by a communication or configuration error. Depending on the
data type, the failsafe value is OFF, 0 (zero), NaN (Not a Number), or blank.
For Control Module configuration, you can assume that the given failsafe value appears
for a passive input parameter when its connection is broken. Both active and passive
connectors can reference parameters on blocks within the given container block or
outside the container block. The active connector allocation is noted for each parameter
in the Control Builder Parameter Reference.
56
R110
February 2014
57
1.2
Supervisory
Networks per
Experion LXServer
Maximum Number of
Nodes allowed
Controllers per
Server
Transmission Rate
100 Mbits/sec
Media Redundancy
Redundant only
Notes:
1. SCADA PLCs do not count as "Controllers" against this limit on FTE.
50mSec CEE
FTE only
58
R110
February 2014
Configuration Options
50mSec CEE
IOTA Size
6 inches
50 ms
Redundancy Supported
Yes
50 ms
SNTP
1 minute
C300 Redundancy
The following table lists data pertinent to the configuration of C300 Controllers for
redundant operation.
Configuration Options for Redundancy
50mSec CEE
"Module is Redundant"
Ethernet STP
R110
February 2014
59
50mSec CEE
36, 48, 60, 84 inches
500 ms
200 seconds
300 seconds
300 seconds
Notes:
1
Dual I/O Link failures may cause longer interruption times in the order of several
seconds.
50mSec CEE
2500 PPS
50mSec CEE
4000 EPS
50mSec CEE
4000
R110
February 2014
50mSec CEE
50mSec CEE
Peer-to-Peer Performance
50mSec CEE
1000 PPS
1000 PPS
50mSec CEE
50 @ 100 ms
100 @ 200 ms
250 @ 500 ms
500 @ 1 sec
50mSec CEE
50 PPS
50 PPS
R110
February 2014
50mSec CEE
2500 EPS
1500 EPS
1000 EPS
1000 EPS
61
50mSec CEE
Peer-to-Peer Capacity
50mSec CEE
303
(Includes total of
other C300s and
SIM-C300s)
50mSec CEE
32
32
50mSec CEE
8
16
128
64
512
Notes:
1
2
There are 31 connections reserved for Peer-Peer in the C300. One
connection is reserved for Internal C300 use-only, leaving 30 connections
available for user peer-to-peer configurations.
62
Redundant devices that use two PCDI Master blocks count as only one device.
R110
February 2014
50mSec CEE
Incoming peer data benefits from the RBE (Report by Expection) comparisons
done at the data source, so only changed parameters contribute to the incoming
PPS load.
6
20%
60%
14820 MU
4095
R110
February 2014
63
50mSec CEE
C300 CEE
1.3
100
400
10
C300 IO capacity
The following table lists I/O configuration constraints you should observe to avoid
overloading the C300 Controller and impacting its ability to operate correctly.
Function
Maximum Number of IO UNITS per C3001,2
50mSec CEE
80
IO Units
R110
February 2014
IO Units
1
1.4
Component FB
The scheduling considerations for a given FB type are discussed in the following
sections.
65
interpretation of how the processing of some sample Control Module configurations are
scheduled across the timing cycles for a 50 ms CEE.
Timing Cycles
1 2 3 4 5 6 7 8 9 10
A
CM1
CM1
CM1
20
A
Loaded
Function
Blocks
CM2
CM2
CM2 CM2
SCM1
1000
2000
Time (Milliseconds)
A Control Module CM1 configured for Execution Phase of 0, Execution Period
of 200ms, and order in CEE of 10. It executes in timing cycles 0, 4, 8, 12,
16, 20, 24, 28, 32, 36.
B Control Module CM2 configured for Execution Phase of 1, Execution
Period of 500ms, and order in CEE of 10. It executes in timing cycles
1, 11, 21, and 31.
C Sequential Control Module SCM1 configured for Execution Phase of 0,
Execution Period of 2000ms, and order in CEE of 20. It executes
in timing cycles 0.
Figure 7 Cycle time loading for sample container block configurations for a
50 ms CEE.
For example, a Control Module block with an Execution Period of 200 milliseconds and
a Phase of 1 runs in cycles 1, 5, 9, ...,37. Another Control Module block with an
Execution Period of 200 milliseconds and a Phase of 2 runs in cycles 2, 6, 10, ...,38. The
66
R110
February 2014
entry value range for the Execution Phase is -1 and 0 to 39. However, the system accepts
and clamps values outside the appropriate range for a given Period as long as the value is
within the overall entry range. A block with an Execution Period of 50 milliseconds is
always evenly distributed, since it runs in every cycle. The following table identifies the
timing cycles in which a container FB executes for the given combination of Execution
Period and Phase values. For now, a Phase value of -1 is changed to 0. Later, a Phase
value of -1 instructs the CEE to assign Phase values that distributes the overallprocessing load.
50 ms CEE
R110
February 2014
50
0, 1, 2, 3, . . ., 39
100
0, 2, 4, . . ., 38
100
1, 3, 5, . . ., 39
200
0, 4, 8, . . ., 36
200
1, 5, 9, . . ., 37
200
2, 6, 10, . . ., 38
200
3, 7, 11, . . ., 39
500
500
1, 11, 21, 31
500
2, 12, 22, 32
500
3, 13, 23, 33
500
4, 14, 24, 34
500
5, 15, 25, 35
500
6, 16, 26, 36
500
7, 17, 27, 37
500
8, 18, 28, 38
67
50 ms CEE
68
500
9, 19, 29, 39
1000
0, 20
1000
1, 21
1000
2, 22
1000
3, 23
1000
4, 24
1000
5, 25
1000
6,26
1000
7, 27
1000
8, 28
1000
9,29
1000
10
10, 30
1000
11
11, 31
1000
12
12, 32
1000
13
13, 33
1000
14
14, 34
1000
15
15, 35
1000
16
16, 36
1000
17
17, 37
1000
18
18, 38
1000
19
19, 39
2000
R110
February 2014
50 ms CEE
2000
2000
2000
39
39
For blocks scheduled to start execution in the same cycle, you can configure the Order in
CEE parameter value (0 to 32767) on the Parameters Configuration form to stagger the
execution order of the container blocks within the cycle. That is, the block with the
lowest Order in CEE value configured executes first. If both blocks have the same Order
in CEE value, the CEE determines the order of execution and maintains it.
69
You can choose to display or conceal the value of ORDERINCM on the FB faceplate.
This setting is configured through the System Preferences dialog box (Control Builder
> Edit > System Preferences). By default, the option is disabled. If the option is
selected, the parameter value is displayed on the top-left corner of the FB faceplate. The
parameter value overlays any icon or FB name that appears on the top-left corner of the
faceplate. You can choose to display the block's Execution Order in CM value through
the block's ORDERINCM parameter.
You can configure the parameter through the FB configuration form or by doubleclicking the parameter on the FB faceplate. Note that any change made to the parameter
value is visible only on the project side. To view the configured value on the monitor
side, load the modified strategy.
70
R110
February 2014
ORDERINCM parameter does not apply to CM, IOM, SCM, or SCM component blocks.
It is applicable only for blocks that execute inside the CM.
A typical PID Loop CM should have component function blocks with ORDERINCM
value as displayed in the following figure.
Input Channels FBs do a sample and hold operation when they execute. IOCHANNEL
FBs read data from the associated IOM FB in CEE IOLINK and hold that data. If the
parent CM has an Execution Period greater than 50 milliseconds, the input
IOCHANNEL FBs will hold values static even if the corresponding data is changing at
the IOM FB.
Connection Execution Order in CM
Connections are processed in relation to a function block's execution order. Inputs are
fetched before the block executes and newly calculated values are available only after the
block executes.
R110
February 2014
71
72
R110
February 2014
IOM FB schedule
IOM FBs have a fixed Execution Period of 50 milliseconds, for 50 ms CEE, and
Execution Phase of 0. They execute ten times or once every 50 millisecond cycle at the
beginning of each cycle. This means the Order in CEE value does not apply either, since
the IOM FBs execute before all other blocks in the cycle.
IOM FBs collect and distribute I/O data as it passes between the Control Processor
module and I/O Module devices. They pack and unpack the data in preparation for input
and output operations.
CEEC300 FB schedule
CEEC300 FBs have a fixed Execution Period of 2000 milliseconds. The Execution Phase
is fixed at 19 for the CEEC300 FB. The CEEC300 FB executes after all other blocks in
the cycle.
R110
February 2014
73
The CEEC300 FBs handle housekeeping functions, which are not directly related to the
configuration of control strategies. These functions include maintaining instrumentation
statistics, maintaining state data, and reporting diagnostic alarms.
Cycle overruns
Cycle overruns occur when the scheduled processing for a cycle does not finish by the
start of the next cycle. Potential causes for overruns include the following:
Combination of block and communication processing is too large for a particular 50millisecond cycle.
Delays execution of the waiting cycle until the start of the next 50 millisecond time
interval.
The CEE issues a diagnostic alarm for cycle overruns that occur on a regular basis. The
conditions for reporting and clearing this alarm are summarized below based on the
controller running the CEE.
If Controller is . . .
C300 (50 ms
BASEPERIOD)
You must change a CEE configuration that causes regular overruns by reducing the total
load or improving the balance of the load across the timing cycles.
74
R110
February 2014
1.5
Data Categories
These considerations are briefly reviewed in the following sections to provide general
background information only.
Data categories
The major data categories found in the CEEC300 FB are summarized below.
Data Category
Live
Description
Data that is derived from the process, such as PV; or is
updated frequently as part of the control computation, such
as OP and SP.
This data can also be considered as the non-structural
type.
Tunable Constant
R110
February 2014
75
Data Category
Structural
Description
Data that is considered to make up the structure of the
block configuration. It includes parameters, which express
the containment of a component FB, connection
references, or the order of block execution. You can only
modify these parameters as part of the block load. The
Order in CEE and Order in CM parameters are examples of
this data type.
CEEFB. CEESTATE
CMFB.EXECSTATE
SCMFB.STATE
IOMFB.EXECSTATE
The following table summarizes the state parameter status versus FB load permissions.
If status is . . .
CEESTATE = Idle.
execution state.
Changing the CEESTATE to Idle causes
container FBs and their component FBs to
cease operation and set their live data to
failsafe values. The self-standing FBs (IOM,
CEE and C300) continue to execute unless
EXECSTATE is set to Inactive.
CMFB.EXECSTATE = Inactive
or Active
SCMFB.STATE = Inactive or
Active
state is Inactive.
76
IOMFB.EXECSTATE = Inactive
R110
February 2014
Description
Warning
Error
Severe Error
This error message generation applies for on-line parameter stores as well as block
configuration load related stores. For example, an error message can be generated for an
on-line parameter store if its value or other conditions are incorrect.
77
Upon the restoration of power, the C300 runs its startup diagnostics to verify that its
RAM was retained during the power interruption. If the C300 detects RAM errors, it
starts up with a "null" database. If the C300 detects no RAM errors, it starts up with the
database it had prior to the power interruption. In this case, the CEEC300 FB transitions
to its Idle state at startup so you can determine if other FB data needs to be changed
before you resume control by manually invoking the CEEC300 FB Run state. (Note that
the Idle to Run transition triggers output path initialization.)
If RAM errors were detected or you did not load the CEEC300 FB before the power
interruption, the CEEC300 FB state will be NotLoaded at startup.
Upon any C300 startup, the CEE reissues all active notifications as part of the Experion
LX notification recovery routine. The CEE also issues "state" transition notifications
from the CEEC300 FB that are logged in the event journal to show whether or not an
RRSU occurred.
REFERENCE - INTERNAL
Refer to the Control Builder Notifications Theory for more information.
1.6
Processing
Resource
1
Consumption
(Per Module)
Memory Resource
Usage
50 ms C300
(PU/Module
Execution)
50 ms C300
(MU/Module)
0.2
0.5
R110
February 2014
Processing
Resource
1
Consumption
(Per Module)
Memory Resource
Usage
50 ms C300
(PU/Module
Execution)
50 ms C300
(MU/Module)
4.4
7.2
0.5
1.0
3.1
3.8
5.0
6.2
1.2
1.5
0.2
0.5
1.3
2.3
1.3
3.6
6.0
21.0
2.6
18.8
R110
February 2014
79
Processing
Resource
1
Consumption
(Per Module)
Memory Resource
Usage
50 ms C300
(PU/Module
Execution)
50 ms C300
(MU/Module)
5.0
151.5
5.0
156.3
4.8
30.4
History items)
SCM has total of 20 Steps and 20
Transitions
Sequence Control Module with an alias
table size of 45 rows by 100 columns
(1 each of Main, Hold, Stop and Abort
Handlers, 10 Steps with 8 Outputs each, 10
Transitions with 5 Conditions each
interspersed in all the handlers, 10 Recipe
items, 5 History items)
SCM has total of 10 Steps and 10
Transitions among the 4 Handlers
Sequence Control Module with an alias
table size of 500 rows by 9 columns
(1 each of Main, Hold, Stop and Abort
Handlers, 10 Steps with 8 Outputs each, 10
Transitions with 5 Conditions each
interspersed in all the handlers, 10 Recipe
items, 5 History items)
SCM has total of 10 Steps and 10
Transitions among the 4 Handlers
Recipe Control Module A
(1 each of Main, Hold, Stop and Abort
Handlers; each handler has 1 Invoke
transition with 5 Conditions. Main Handler
contains 1 Step with 8 outputs, 4 Synch
blocks, and 2 Transition blocks with 1
Condition each, and 10 Phase blocks with
25 Formula parameters and 25 Report
parameters each.)
The RCM executes 5 Phases in parallel.
80
R110
February 2014
Processing
Resource
1
Consumption
(Per Module)
Memory Resource
Usage
50 ms C300
(PU/Module
Execution)
50 ms C300
(MU/Module)
2.8
19.3
1.5 (Note 2)
1.0 (Note 3)
R110
February 2014
81
1.7
2OO3
64
ABS
48
ADD
108
AICHANNEL
100
AIMODULECLS
552
AINIMODULECLS
684
ALMPANEL
212
ALMWINDOW
128
AND
44
AOCHANNEL
184
AOMODULECLS
588
AONIMODULECLS
668
AUTOMAN
1268
AUXCALC
536
AUXSUMMER
684
CABLOCK
82
CDBLOCK
164
CEEC300FB
30164
CHECKBAD
44
CHECKBOOL
976
R110
February 2014
Block Name
R110
February 2014
CHGEXEC
112
CONTACTMON
68
CONTROLMODULE
288
DATAACQ
680
DEADTIME
784
DELAY
48
DEVCTL
1104
DICHANNEL
100
DIGACQ
120
DIMODULECLS
280
DIV
56
DOCHANNEL
132
DOMODULECLS
968
ENHAUXCALC
932
ENHGENLIN
1784
ENHREGCALC
2628
EQ
80
EXECTIMER
120
EXP
48
FANOUT
2700
FIRSTOUT
204
FLAG
52
FLAGARRAY
44
FLOWCOMP
480
FTRIG
36
83
Block Name
84
GE
80
GENLIN
304
GRPCAPRBK
648
GT
80
HANDLER
44
HTMOTOR
1096
LE
80
LEADLAG
240
LEVELCOMP
240
LIMIT
140
LN
48
LOG
48
LT
80
LTMOTOR
992
MAINIBV
268
MAX
108
MAXPULSE
48
MESSAGE
212
MIN
108
MINPULSE
48
MOD
56
MUL
108
MUX
56
MUXREAL
108
MVOTE
68
R110
February 2014
Block Name
R110
February 2014
NAND
44
NE
80
NEG
48
NOON
100
NOR
44
NOT
36
NUMERIC
64
NUMERICARRAY
48
OFFDELAY
48
ONDELAY
48
OR
44
OVRDSEL
1864
PCDI_MASTER
25512
PCDI_FLAGARRCH
13512
PCDINUMARCH
9140
PCDINTEXTARRCH
3232
PHASE
420
PID
1892
PIDER
2016
PIDFF
2012
PID-PL
2904
POSPROP
2016
POW
56
PULSE
48
PULSECOUNT
336
85
Block Name
86
PULSELENGTH
316
PUSH
192
QOR
60
RAMPSOAK
1588
RATIOCTL
1768
RCM
3128
REGCALC
1988
REGSUMMER
1492
REMCAS
1492
ROC
156
ROL
40
ROR
40
ROUND
48
RS
36
RTRIG
36
SCM
3128
SEL
40
SELREAL
60
SHL
40
SHR
40
SIGNALSEL
520
SOLENOID
960
SQRT
48
SR
36
STARTSIGNAL
44
R110
February 2014
Block Name
R110
February 2014
STEP
200
SUB
56
SWITCH
2544
SYNC
176
TEXTARRAY
48
TIMER
72
TOTALIZER
248
TRANSITION
184
TRIG
36
TRUNC
48
TYPECONVERT
156
UCM
296
VALVEDAMPER
1120
WATCHDOG
48
XOR
44
87
2.2
R110
February 2014
89
Infrastructure services
The infrastructure services would consist of a variety of system enablers, two of the most
important are a Real Time Operating System, vendor purchased or custom developed,
and a set of Communication Services. Another important set of infrastructure services
provide a runtime environment and a set of utilities for use by the Application Program.
Application Program
Above these infrastructure services there might be a monolithic Application Program.
The end user develops this program and implements custom control strategies.
Supposing that multiple control strategies are supported within this program, all
applications implemented within it share certain properties since it is a single program.
For example, they are all loaded together and have the same timing properties. Assuming
that the timing properties have the potential to be fast, they are unregulated.
Comparison Consideration
The hypothetical controller does not regulate the execution period of the
application program. This can be an advantage in fast, discrete control
applications. End users deliberately choose to use a small application
program to get the fastest possible response time. However, it can be a
disadvantage in continuous applications where the scaling of time
constants required for time discretization works best under a well
regulated execution period.
In addition, the lack of a regulated execution period introduces a form of
coupling between control strategies. If the user wished to augment or
reduce a particular control strategy it might substantially impact the
execution time of the program as a whole. If this happened, execution
timing for all strategies are affected, not just the one modified.
Load / Unload
Data Reference
This coupling is designed into the application by the end user and is
90
R110
February 2014
Type of Coupling
Comparison Consideration
consistent with the control mission. Typically, various control applications
within the application program need to share data and this is performed
by holding references to data located within a common pool.
However, depending on the controller design, the impact of this coupling
can be greater or smaller. Let us assume that in the hypothetical
controller, access to data owned by the application program is not
possible unless that data is explicitly declared public within the program.
Under this assumption, custom displays cannot be developed without
potential impact to the application program. If it were necessary to build
a new display or change a display after the controller had been
commissioned, the controller needs to shut down and the application
program reloaded.
Memory Utilization
CPU Utilization
Communication
Bandwidth Utilization
R110
February 2014
91
2.3
CEE Architecture
The hypothetical controller described above may or may not resemble controller
products on the market today. But similar controllers have been sold in the past and may
impact the expectations of some control engineers.
The design of CEE and its hosting on the C300 controller is different. These differences
eliminate some of the potential couplings between control strategies and reduce others.
Some forms of coupling, in particular coupling that arises from a finite computing or
communication resource cannot be entirely eliminated in any controller design. But its
impact can be moderated.
Infrastructure services
As in the hypothetical controller, a CEE-based controller has a base software layer called
Infrastructure Services. These services are a combination of purchased and customdeveloped software components. They include a Real Time Operating System and
Communication Services. They set up an environment in which the execution and
communication requirements of control strategies can be met.
92
R110
February 2014
Application programs
The architecture of a CEE-based controller also resembles the hypothetical controller.
That is, it supports application layers which sit above the Infrastructure Services.
However, it differs in that the application layers are constructed with a built-in
partitioning. The controller application is partitioned in the following two different ways.
R110
February 2014
93
PHASE blocks
The advantage of Custom types is that a single piece of source code (the type) can be
created and used, unmodified, by multiple instances. At the same time, custom types
present an additional form of coupling within the application. Changing a block instance
has no impact upon the type it instantiates. But, when a custom type is changed, that
change must eventually be propagated to every instance of the type.
Coupling between custom types and Control Modules must be managed by the
application engineer. However, custom block types are independent of each other, which
makes the task a little easier. They are loaded independent of each other, with the load
happening implicitly upon load of the first instance. Any coupling between types is
limited to that which the application engineer creates between the instances. There is no
direct coupling between the types themselves.
R110
February 2014
Comparison Consideration
Execution Timing
No coupling
Load / Unload
Data Reference
R110
February 2014
95
Type of Coupling
Comparison Consideration
accessed data. Similarly, when supervisory or peer control strategies are
created which access data for the first time, no change or load of the
reference module is required.
Because of inherently external parameter linkage, CEE modules do not
need to be re-qualified if the set of data to be read is changed after the
initial qualification.
Memory Utilization
Modules are coupled in the sense that they all use memory from a
common pool. In general, changes in the memory requirements of one
module do not impact any other module. However, if the controller is very
full then the module which needs to be loaded may not fit into the
remaining memory. This occurs if an application engineer increases the
module's configuration so that it requires more memory. Or if the
application engineers have changed other modules so that on reload of
this module, enough memory is not available..
By design, memory allocations generally do not occur dynamically within
a CEE-based controller. It happens as a direct result of a user-initiated
module load. In all cases, the failure of a module to load is known
immediately by the return of an error message. When this occurs, there
are no adverse consequences other than the fact that the module itself
cannot be loaded. Modules which have already been loaded and which
are resident do not require any kind of re-qualification because a
different module has failed to load.
In general, application engineers should plan the configuration of a CEEbased controller so that there is always some amount of reserve
memory. Parameters TOTALMEM, USEDMEM and FREEMEM of the
CEE block should be checked from time to time to determine how much
memory remains unused.
The one exception to the CEE policy that memory allocations never
change except in connection with module load is the basic block type
PID-PL. Instances of this block can change their memory utilization as a
result of delay tuning. If PID-PL is heavily used it is possible for its
memory utilization to impact other modules the next time they are
loaded. If application engineers want to avoid this possibility, they should
allow plenty of spare memory in the initial configuration of CEE or they
should avoid the use of PID-PL.
CPU Utilization
96
R110
February 2014
Type of Coupling
Comparison Consideration
case of overrun.
The processing scheme is based on 40 cycles, each one 0.05 seconds
long. The start of each cycle is time regulated. Modules which run in
each cycle are selected by the application engineer in a balancing
procedure which distributes total load across the set of cycles. In a CEE
configuration which is balanced properly, and which is not overloaded, a
module can be added or removed without impact to any other module,
despite the use of a shared CPU resource.
On the other hand, if the controller as a whole is overloaded, or if one or
more cycles is overloaded, it is possible to incur processing overruns. An
overrun occurs when cycle N does not finish its processing in time for the
start of cycle N+1. If this happens, the start of cycle N+1 is postponed
until the time originally designated for the start of cycle N+2. The net
effect is to pause control processing by one cycle. No module's
processing is skipped. Some timing operations are extended. No timing
operations are shortened.
In general, a configuration which incurs one or a few overruns in the
space of an hour suffers no degradation of control. However, application
engineers should be conscious of the CPU resource when configuring a
controller and should design control configurations that do not incur
overruns. They should insure that the controller as a whole is not
overloaded and that no individual processing cycle is overloaded. This
activity does not require re-validation of individual modules. Instead it is
a standard procedure which should be followed for the controller as a
whole whenever its configuration is changed.
As a general guideline, the total, time-average, free CPU available within
the controller should be kept above 20%. This can be determined from
the value of the device block parameter CPUFREEAVG. The timeaverage CPU utilization of any individual cycle should be loaded in
accordance with the specifications of the C300 controller. Cycle loading
can be determined from the value of the CEE block parameter
CPUCYCLEAVG(I). In addition, during configuration, application
engineers should occasionally check the overrun statistics parameters
CRCYCLEOVRN(I) and LSCYCLEOVRN(I) of the CEE block to see
whether there have been any overruns within the controller or within any
particular cycle of the controller.
If a configuration error is made which causes repetitive overruns that
could degrade control, the host controller reportsan overrun alarm. This
alarm clears once repetitive overruns cease.
Communication
R110
February 2014
97
Type of Coupling
Bandwidth Utilization
Comparison Consideration
bandwidth for data transfer. Types of data transfer include:
communication with IO devices; communication with peer controllers;
communication with supervisory human interface and control devices;
alarm and event reporting.
Communication bandwidth can be viewed as a common resource shared
by all modules analogous to memory or CPU processing time.
Depending on this common pool introduces a potential coupling between
modules.
Adverse effects from sharing communication bandwidth do not occur, if
the CEE-based controller is configured within its specified operating
limits. Under these conditions, modules can be added and deleted and
all modules operate using their needed communication bandwidth with
no impact to other modules.
To construct CEE configurations which conform to the specified
operating limits, application engineers should refer to the Control
Capacity and Performance section in this document and Experion LX
product specifications for more information.
2.4
Type of Coupling
98
Test Consideration
R110
February 2014
Type of Coupling
Test Consideration
Execution Timing
Load / Unload
The fact that Experion LX CMs and SCMs can be loaded independently
as it continuously gets revalidated with every control configuration that is
created. The other modules that are unaffected is implicitly revalidated
when the control strategies behave as testers expect.
The programs associated with instances of custom block types are
loaded independently is tested extensively with the introduction of the
first Experion LX category of custom types, CAB. It has been retested
with the introduction of the new categories of CDB and PHASE. The
loading of a new version of a custom block type does not impact blocks
already running on a previously loaded version that is, tested with the
initial introduction of custom block types. It gets retested implicitly every
time an instance of a modified type is reloaded when pre-existing
instances are already present in the CEE.
Data Reference
The fact that CEE and Experion LX system support inherently external
parameter linkage gets continuously revalidated every time a tester
makes a custom display. Testers know that they can read any parameter
data supported by a module without having to change the module
configuration or reload the module.
CEE algorithm blocks support a policy of built-in fail-safe handling which
is known by system testers and is covered by numerous tests that they
have designed and run. That fail-safe handling applies to de-activation
which is also known and tested.
Memory Utilization
Explicit testing has been done on the behavior of the controller when
module configuration memory is exhausted. This testing has confirmed
that an explicit error message is returned and that there are no adverse
effects other than rejection of the load.
CPU Utilization
Communication
Bandwidth Utilization
Explicit testing has been done on the communication load that can be
handled by each of the communication channels used at run time by a
CEE-based controller. The capacities are consistent with published
Experion LX specifications.
R110
February 2014
99
2.5
Description
Programmatic Coupling
Resource Coupling
100
R110
February 2014
3. Relative References
This section describes the relative references, how they are displayed, and what Control
Builder functions support them. Also, mentioned below are some examples of how they
may be used.
3.1
3.2
A parameter reference on any block could refer to another parameter on the same
block.
Reference Is
Owned By
Basic Block
R110
February 2014
Tagged
Basic
Block
Container
with same
param name
as a basic
block
Same
Container
Other
basic block
within
container
param
$.tag.param
or
tag.param
$. param
param or
$.param
block.
param or
$.block.para
m
101
3. Relative References
3.2. Relative References structure rules
Tagged
Basic Block
(Hart enabled
channel
1
blocks)
param
FULLNAME
$.param
Param or
$.param
block.
param or
$.block.para
m
Tagged
Block
param or
$.param
FULLNAME
FULLNAME
FULLNAME
FULLNAME
Container
Block
param or
$.param
$.tag.param
or
tag.param
FULLNAME
param or
$.param
block.
param or
$.block.para
m
Notes
1. Tagged basic blocks are not in the same name space as the container that they reside in, but
short name entry is supported. A relative parameter reference could not be made from a
parameter reference on a tagged block to another tagged block within the same container.
102
R110
February 2014
3. Relative References
3.2. Relative References structure rules
R110
February 2014
103
3. Relative References
3.3. Display options for relative references
3.3
Reference Is
Owned By
Tagged
Basic
Block
Container
with same
param
name that
a basic
block has
Same
Container
Other
basic
block
within
container
Basic Block
param
FULLNAM
E
$. param
$. param
block.
param
Tagged
Basic Block
(Hart
enabled
channel
blocks)1
param
FULLNAM
E
$. param
$. param
block.
param
Tagged
Block
param
FULLNAM
E
FULLNAM
E
FULLNAM
E
FULLNAM
E
Container
Block
param
FULLNAM
E
FULLNAM
E
param
block.
param
104
R110
February 2014
3. Relative References
3.4. Control Builder functions supporting relative references
Reference Is
Owned By
Notes
1. Tagged basic blocks are not in the same name space as the container that they
reside in, so relative references are only displayed in short name format if the reference
is on the same block as the tagged basic block.
R110
February 2014
105
3. Relative References
3.4. Control Builder functions supporting relative references
3.4
3.5
Expressions
Parameter Connectors
3.6
AUXCALC
ENHAUXCALC
ENHREGCALC
REGCALC
STEP
TRANSITION
106
example_scm.COMMAND=3
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
3. Relative References
3.6. Example of TRANSITION block using relative references
COMMAND=3
The following example illustrations show how expressions would appear with Short
Name as the selected Relative Reference Display Option.
R110
February 2014
107
3. Relative References
3.6. Example of TRANSITION block using relative references
108
R110
February 2014
3. Relative References
3.7. Example of parameter connector using relative references
3.7
R110
February 2014
109
3. Relative References
3.8. Example of other parameters using relative references
3.8
110
R110
February 2014
3. Relative References
3.8. Example of other parameters using relative references
History, trend and group parameters that are defined on TAGGED blocks:
GROUP.PARAM
HIST.GATEPARAM
HIST.PARAM
TREND.PARAM
CURRVALREF
MONTASKREF
OP[].CURRVALREF
OP[].ENTRYVALREF
OP[].MONTASKREF
OP[].TARGETVALREF'
Parameters on the SCM and RCM associated with the alias table:
ALIASREF
In addition to these parameter references, Control Builder allows the origin parameter of
projected parameters to be entered as a relative reference
The following example illustration displays how other parameters appear if Short Name
is the Relative Reference Display Option selection.
R110
February 2014
111
3. Relative References
3.8. Example of other parameters using relative references
112
R110
February 2014
3. Relative References
3.9. Bulk Builder and Bulk Editor support
3.9
R110
February 2014
113
3. Relative References
3.9. Bulk Builder and Bulk Editor support
114
R110
February 2014
4. Peer-to-Peer Functionality
4.1
R110
February 2014
115
4. Peer-to-Peer Functionality
4.1. Basic Peer-to-Peer Design Concepts
The peer subscription period parameter defines the update period used for cyclic "get"
requests for peer references. The peer store response time expiration time parameter
defines the expiration time used in waiting for "store" responses. In addition to system
wide default values, the values for specific CEE peers can be adjusted by users with an
Engineer access level or higher in the Monitor mode of Control Builder.
116
R110
February 2014
Client Applications
Client Applications
Client Applications
4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation
Cache Update
Reads
& Write
Writes
Read &
CDA
Scattered
Pub/Sub List
Request/
Response
Ctrl Function
Ctrl Kernel
CPM
CDA
Mngr I/O Cnet
Mngr Transp
Ctrl Function
Ctrl Kernel
CPM
CDA
Mngr I/O Cnet
Mngr Transp
ICP Driver
ICP Driver
CPM0101
CEE0101
CPM0201
CEE0201
Publish/Subscribe
Cache Update
CDA
Scattered
Pub/Sub List
Publish/Subscribe
CDA
Scattered
Pub/Sub List
Publish/Subscribe
Pub/Sub
Manager
Cache Update
One Time
Request/Response
Read/Write Services
Ctrl Function
Ctrl Kernel
CPM
CDA
Mngr I/O Cnet
Mngr Transp
CDA
Response
Subscription List
Cache Manager
Request
ICP Driver
CPM0301
CEE0301
R110
February 2014
117
4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation
4.2
All the above parameters are present in the CEE block of the C300 controller. The
following procedures describe how to calculate the initiator rate of a controller. This rate
includes Publisher, Subscriber and Dynamic Fetch parameter requests per second by the
Initiator of the node. Two methods are used depending on whether peer connections are
configured using the Peer Environment Table.
NUMCCLRQU
SUBSCPERIOD in Seconds (for example, 500ms is 0.5 Sec
NUMCCLRQU parameter is the number of initiator requests from all connections and
gives the total initiator count. The NUMCCLRQU value is shown on the Statistics tab
and the value of SUBSCPERIOD is shown on the Peer Configuration tab of the CEE
configuration page.
118
R110
February 2014
4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation
total initiator rate of the node. Perform the steps below to configure the initiator rate of
the node.
Step
Action
For each Target node (Peer Environment Name) configured in the Peer
Environment Table (on the Peer Configuration tab), locate the same Target
Name in the Initiator Connections table (on the Peer Communications tab).
Note: The Peer Subscription Period is used in the Peer Environment table for
SUBSCPERIOD of the target node.
3
Repeat steps 1 and 2 for each node listed in the Peer Environment table to
calculate the individual initiator rate for each of the connections.
For target nodes that do not have an entry in the Peer Environment Table,
locate the connection index (y1) for these target nodes, which is obtained
from the Initiator Connections list on the Peer Communications tab.
Calculate the initiator rate for these target nodes using the formula below.
Initiator Rate for the connection y1 =
N [y1] =
Note: The global Subscription Period value is used for SUBSCPERIOD (on
the Peer Configuration tab).
6
Add the initiator rates obtained in the steps above for all the connections to
obtain the total initiator rate.
Total Initiator Rate N = N[x1] + N[x2] + + N[y1] + N[y2] +
Example:
This CEE block shows the Peer Environment Table with one target node configured,
C300_15, with a Peer Subscription Period of 500mS.
R110
February 2014
119
4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation
C300_59 is configured to use the Global Subscription Period which is 500sec. (shown
above) and is shown on the Peer Communications tab which lists both initiator
connections.
In Station, the number of initiator requests is listed for each indexed connection.
120
R110
February 2014
4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation
To calculate the Initiator rate for C300_15 find its connection index from the Peer
Communications tab which is 2. The Peer Subscription Period configured for this node is
500mS = 0.5 Seconds.
Initiator Rate for the connection to the target C300_15
To calculate the Initiator rate for C300_59, find its connection index from the Peer
Communications tab which is 1. This node uses the global Subscription Period which is
1sec.
Initiator Rate for the connection to the target C300_59 =
R110
February 2014
121
4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration
4.3
C300/CEE
122
R110
February 2014
4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration
C300/CEE
C300/CEE
C300/CEE
C300/CEE
R110
February 2014
123
4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration
124
R110
February 2014
4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration
R110
February 2014
125
4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration
The following table includes descriptions of the callouts in the figure above.
Callout
Description
The PID_PRIMARY block represents the remote primary control loop for a
cascade loop using the REMCAS block. It is contained in a CM named
REMCAS_PRIMARY, which is assigned to CEE0101.
The REMCAS block operates like any cascaded secondary loop except
that it can switch between two different primaries.
126
R110
February 2014
4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration
Callout
Description
Assign CMs with Series 8 Channels and their associated IOM blocks to the same
CEE.
If you delete and unassign a loaded CM containing a DEF block from one CEE and
reassign and load it to another, you must reload all CMs containing REF blocks
with peer-to-peer relationships to the DEF block in the reassigned CM. Otherwise,
the REF blocks continues to receive published failsafe data from the former CEE.
You can use the loaded version of the REF block CM for the reloading operation.
It is recommend that you assign CMs containing DEF and REF blocks to their
respective CEEs before you make the named parameter connections to the REF
blocks.
You must assign CMs with DEF blocks to their CEEs before you load CMs with
REF block relationships. Otherwise, the peer-to-peer connections are invalid.
You can add CMs with REF block relationships to CEEs online at any time.
Control Modules can contain any number of parameter references and also as any
mix of intra-CEE and inter-CEE (peer-to-peer) references.
R110
February 2014
127
4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration
128
A function block may have both DEF and REF relationships as shown in the
configuration example in the previous figure. This means a REF block can also be a
DEF block to another DEF block.
R110
February 2014
5.1
5.2
R110
February 2014
129
Time Source
Comments
CDA Time
No time
ATTENTION
All FTE System Preferences for all clusters must be configured with the
same information.
Once a device has obtained its IP Address and NTP Server IP Address(es), it retains
them until its Device Index is changed or firmware is reloaded.
130
R110
February 2014
5.3
R110
February 2014
131
When TIME parameters are transported from an EE to displays they are always
assumed to be in UTC. User algorithms must publish TIME parameters in UTC and
not in local time.
When HMI receives TIME parameters from an EE and displays them, they are
converted from UTC to local time. The conversion takes into account whether
daylight savings time is currently in effect.
When HMI receives user input of TIME parameters it is assumed that they have
been supplied as values consistent with the local time zone and with any seasonal
daylight savings adjustment currently in effect. They are converted to UTC before
transport to any EE or user algorithm.
TIMEOFDAY
As with TIME CDPs, use of TIMEOFDAY CDPs requires attention to issues of time
zone. In particular, users who create algorithms to manipulate CDPs of type
TIMEOFDAY must understand the Experion LX policy with respect to time zones and
daylight savings time. This policy is stated below.
When TIMEOFDAY parameters are transported from an EE to HMI they are always
assumed to be in UTC modulo 24 hours. User algorithms must publish
TIMEOFDAY parameters in UTC modulo 24 hours and not in local time.
When HMI receives TIMEOFDAY parameters from an EE and displays them, they
are converted from UTC modulo 24 hours to local time. The conversion takes into
account whether daylight savings time is currently in effect.
When HMI receives user input of TIMEOFDAY parameters it is assumed that they
have been supplied as values consistent with the local time zone and with any
seasonal daylight savings adjustment currently in effect. They are converted to UTC
modulo 24 hours before transport to any EE or user algorithm.
DELTATIME
Whenever a user algorithm manipulates CDPs of type DELTATIME, the algorithm is
implemented as a CAB program or as an SCM or calculator expression, behavior of the
datum is simple and intuitive with respect to HMI.
132
R110
February 2014
5.4
Action
Action
Code the CAB's VB.NET program with:
If DateTime.UtcNow = CAPTURETIME.Value
DoCapture();
R110
February 2014
133
Step
Action
End If
(The statement If DateTime.Now = CAPTURETIME.Value does not
work because until the CAB receives the value of CAPTURETIME it is in
UTC, not local time.)
Action
Setup Custom Data Block (CDB) located within a Control Module. Name the
Custom Data Block CDB2.
Locate CDB2 in a control module called CM2. The SCM uses CDB2 within
CM2 as a data repository.
The SCM's transition waits until the specified time before advancing. The
transition condition expression reads: UTCNOW = CM2.CDB2.STARTTIME
UTCNOW is the valid time parameter to use in this instance. UTC (Universal
Coordinated Time) is stored raw time with no time zone and no daylight
savings time adjustments. UTC is converted to local time when shown to the
user and then includes time zone and daylight savings time adjustments.
(The transition condition expression NOW = CM2.CDB2.STARTTIME does
not work even though the operator enters values for STARTTIME according
to the local time zone.)
134
Action
Create a Custom Data Block (CDB) called CDB1 in a Control Module called
CM1.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Step
Action
To capture the time the command was issued and save it in a proper format,
SCM1.STEP1 uses the output expression:
CM1.CDB1.CMDISSUETIME := UTCNOW
UTCNOW is the valid time parameter to use in this instance. UTC (Universal
Coordinated Time) is stored raw time with no time zone and no daylight
savings time adjustments. UTC is converted to local time when shown to the
user and then includes time zone and daylight savings time adjustments.
(The output expression CM1.CDB1.CMDISSUETIME := NOW is incorrect
because the display does not use the value of CMDISSUETIME according to
the local time zone.)
R110
February 2014
135
136
R110
February 2014
Overview
CEE Initial Startup
The initial startup occurs when a CEE is started by initial load of its parent controller /
device block. In this situation, the CEE starts out empty of algorithm blocks and is
basically inert. Cold and Warm Restart functionality is irrelevant to the start of a CEE
empty of algorithm blocks.
CEE Restarts
The two types of restarts are:
After restore of a checkpoint so that the CEE database is neither null nor newly
loaded from CB. In this case, a careful policy must be followed so that the data
is preserved and reinitialized.
The policy followed by cold restart assumes that much of the state data is stale. Any live
data which can be derived directly from the process is wiped out and much of the
operational data which was captured in the saved checkpoint is reinitialized. All
configuration data is saved across cold restart.
A typical example of operational data which is lost is the mode of a primary RegCtl
block connected to a direct analog output. In cases of CEE-to-CEE regulatory cascades
the mode is shed to manual upon cold restart.
Warm Restart is initiated on transition of CEESTATE from idle to run and its most
important application occurs after restore of a checkpoint. Warm Restart differs
from Cold Restart in the policy it applies in choosing data to preserve and data to
reinitialize. Warm restart preserves all data that cold restart preserves but preserves
additional operational data as well.
137
nothing prevents him from commanding warm start. In regulatory cascades MODE
values loaded as configuration data is retained across warm restart even if the cascade
terminates on a direct analog output.
138
Resumption of sequences
Depending on the particular sequence application it may be appropriate for an SCM
to remain inert awaiting operator command before it resumes execution. On the
other, in some special applications, it may be appropriate that an SCM restart
automatically. SCM supports a range of restart behaviors subject to configuration
options.
Resumption of totalizers
Within CEE totalizers always remain stopped after cold restart but can automatically
resume totalizing after warm restart. The warm restart behavior is configurable and
is coupled with the selection of bad input behavior.
Restart signals
In some cases it may be necessary for an application engineer to cause his control
strategy to go through a special initialization in response to restart. To enable this,
parameters are supported which allow SCM expressions or CM component blocks to
detect that a restart has just occurred and the kind of restart it is.
R110
February 2014
6.2
Planning
Invariant or Variant Restart Behaviors
CEE blocks can be broadly divided into two categories with respect to how they behave
on restart.
Blocks which perform the same start up initialization regardless of the type of restart
in progress.
The following broad principles generally apply to all blocks regardless of whether they
change behavior in response to cold or warm restart.
Data storage parameters and data storage blocks: hold on all restarts
There is a category of parameters whose purpose is to serve as data storage. For
these parameters there is no built-in algorithm implemented by the block underneath,
neither t the parameter value is read and processed by the algorithm, nor the value is
written by the algorithm. Instead, the parameter serves to hold data which can be
read or written by applications created by the end user. In some cases, there are
blocks (simple blocks) whose purpose is to establish the above mentioned
R110
February 2014
139
parameter. In other cases, parameters like this are implemented along with many
others within a block.
Examples of data storage parameters and their blocks are as follows: PV and PVFL
parameters on FLAG block; PV parameter on NUMERICARRAY block;
RECTARGET[ ] parameter on the SCM module; all parameters of Custom Data
Block (CDB) types created by end users.
For data of this kind the restart behavior is simply that the value is held. That is, if
the value was restored by checkpoint restore then it is held across restart.
140
R110
February 2014
Not all block types with invariant restart behavior are covered by the principles listed
above. For these, restart behavior is case specific and is prescribed by their functional
definition. A few examples are noted in the table below.
Special Case Blocks with Invariant Restarts
#
Library
Block Type
Summary Description
DEVCTL
DEVCTL
REGCTL
RAMPSOAK
R110
February 2014
141
Library
Block Type
Summary Description
ramping action to stop and await intervention by the
operator.
UTILITY
TIMER
<Custom
Libraries
Created By
End Users>
Custom
Algorithm Block
Types (CAB
Types)
Library
Block Type
Summary Description
SYSTEM
CEEC300
SYSTEM
CONTROLMODULE
SYSTEM
SCM
142
R110
February 2014
Library
Block Type
Summary Description
restart executed.
SCM
STEP
AUXILIARY
TOTALIZER
Same as above.
AUXILIARY
SIGNALSEL
REGCTL
AUTOMAN
REGCTL
ENHREGCALC
Same as above.
REGCTL
FANOUT
Same as above.
REGCTL
OVRDSEL
Same as above.
REGCTL
PID
Same as above.
REGCTL
PIDEXTRFB
Same as above.
REGCTL
PIDFF
Same as above.
REGCTL
PID-PL
REGCTL
POSPROP
REGCTL
PULSECOUNT
Same as above.
R110
February 2014
143
Library
Block Type
Summary Description
REGCTL
PULSELENGTH
Same as above.
REGCTL
RATIOBIAS
REGCTL
RATIOCTL
Same as above.
REGCTL
REMCAS
Same as above.
REGCTL
REGCALC
Same as above.
REGCTL
REGSUMMER
Same as above
REGCTL
SWITCH
Same as above.
LOGIC
STARTSIGNAL
144
R110
February 2014
6.3
CEE Block
Click here
Click here
Click here
Click here
Regulatory Cascades
Click here
Click here
Logic Block
Click here
CEE Block
The CEE function block does nothing that distinguishes warm restart from cold restart
except for notification reporting. Its behavior with respect to notification reporting is as
follows.
On Warm restart, the CEEC300 reports idle to run state change event occurred with
a warm restart.
On Cold restart, the CEEC300 reports idle to run state change event occurred with a
cold restart.
Configuration Options
ALWAYSCOLD (default)
145
CM Parameter
(Access Lock =
ENGR)
Configuration Options
component blocks to do a cold restart regardless of which
restart option has been selected for the CEE as a whole.
ALWAYSWARM
Logic Blocks
Startsignal
STARTSIGNAL is a Logic function block supported to aid in the handling of restarts
within Control Modules. It may be optionally used within any Control Module to give
the designer better control over how the module initializes in response to events such as
cold or warm restart. STARTSIGNAL is useful in logic gate configurations which hold
state.
Block STARTSIGNAL supports read-only parameters which may be accessed to drive
initialization actions. Each parameter has "pulse" semantics which means that each
parameter normally holds a value which indicates that no initialization is required. When
a transition occurs appropriate parameters acquire an informative value. This value lasts
until the end of the first block execution which follows the transition. After first
execution the parameter is reset to a value which indicates that no restart has occurred
since the last execution. A STARTSIGNAL instance must always be configured so that
its ORDERINCM parameter places its execution after that of any blocks which read its
parameters.
Parameter
146
Description
R110
February 2014
Parameter
RESTART
Description
An enumeration valued summary parameter. Following a
transition, it shows a value different from NONE until the end of
first block execution. For each of the values of RESTART, a
corresponding flag is set. The flag holds true until the restart
state changes. The possible values for RESTART and the
corresponding flags are:
NONE - normally shown.
CMLOAD - Holds CMLOADFL true for the first execution
Parameter RESTART may be displayed on the symbol faceplate of block RESTART for
monitoring purposes but it nly shows a value other than NONE until first execution.
R110
February 2014
147
Parameter RESTART may be used to drive initializations within the control module but
in many cases it is more convenient to use one of the associated Boolean-valued flag
parameters.
Run-time selection of warm or cold restart and resultant impact on SCM MODE
Under cold restart SCM comes up with MODE equal to Manual regardless of
previous value. This causes the SCM to remain inert until an operator takes
action. In contrast, when warm restart occurs MODE retains its last value. This
allows the SCM to resume execution automatically if triggered by an Invoke
handler.
Configuration time selection of whether or not to follow the restart selection made
for CEE as a whole
Configuration Options
ALWAYSCOLD
R110
February 2014
SCM Parameter
Configuration Options
regardless of the restart commanded for CEE as a whole.
This means that the previous MODE is retained. Other
parameters such as MODEATTR and STATE are also left
unchanged.
FOLLOWCEE
Configuration Options
ON
R110
February 2014
149
the top of the Check handler unless the operator commands execution to start at a
different handler. This is true even if CEETOPSTART = OFF.
The value of CEERESADDR[ ] can change as the SCM executes. It can either change
automatically, under the action of the STEP.UPDCEERESOPT parameters, or it can
change as a result of explicit store commands issued by SCM expressions. Whatever the
value of CEERESADDR[ ] is at restart, the SCM resumes execution at that step within
the Main handler unless the operator commands execution to start at a different handler.
STEP.UPDCEERESOPT for SCM
The STEP.UPDCEERESOPT is a Boolean parameter with an access lock of Engineer.
The functionality of STEP.UPDCEERESOPT approximately parallels that of
STEP.UPDRESOPT, which is used in connection with Exception handlers. The values
of STEP.UPDCEERESOPT have the following meanings.
Step Parameter
STEP.UPDCEERESOPT
(Access Lock = ENGR)
Configuration Options
ON
CEERESADDRN[ ]
The CEERESADDR[ ] parameter may be explicitly changed by SCM expressions, but
not through direct assignment to parameter CEERESADDR[ ]. This is because
150
R110
February 2014
SCM1.CEERESADDRN[1] := SCM1.Step2.NUM
Warm
Auto.
Operator sets SCM
COMMAND to Reset in
order to start Check handler
COMMAND to Reset in
order to start Check handler
or
or
the Check handler starts
automatically if it has been
configured with a non-null
invoke transition.
OFF
R110
February 2014
151
If SCM CEETOPSTART
Is . . .
Warm
value.
SCM location counter is set
152
None
Auto
R110
February 2014
If EXCMODEOPT
Value Is . . .
If a Check handler is the first handler executed after SCM restart, then parameter
RESTART is set to NONE after the Check handler finishes. Under this scenario, the
value of parameter RESTART is read within the Check handler.
If a handler other than the Check handler is the first to execute after SCM restart,
then parameter RESTART is set to NONE after the first execution cycle of the
SCM. Under this scenario, the value of parameter RESTART is read in Interrupt,
Hold, Stop or Abort handlers as appropriate to the planned configuration and usage.
The following table lists the possible values of the parameter RESTART.
If RESTART Value
Is . . .
NONE
R110
February 2014
Then, . . .
There has been no restart transition since the last execution of
the SCM/RCM.
153
If RESTART Value
Is . . .
Then, . . .
CMLOAD
The SCM/RCM has been loaded since its last execution. This
value also applies the very first time an SCM/RCM is executed.
CMACTIVE
The SCM/RCM has been stopped and reset since its last
execution.
CEECOLD
CEEWARM
CEESWITCH
There is an implicit priority to the values of RESTART, which insure that the condition
requiring the strongest initialization can always be seen. This allows SCM expressions to
be written so that they may always do the strongest initialization necessary. The priority
is as follows:
CMLOAD > CMACTIVE > CEECOLD > CEEWARM > CEESWITCH > NONE
SCM Blocks
SCM:STEP
SCM functions as an integrated whole with all component objects (handlers, transitions
and steps) behaving in consistent fashion. Of the various SCM components, only the
STEP has state which must be handled differently depending on whether the restart is
warm or cold. All STEP data is initialized appropriately based on the restart transition
and configuration options of the parent SCM. Specific functionalities of STEP are
described in the preceding Sequential Control Module (SCM) section.
R110
February 2014
Restart Behaviors of
Click here
Click here
Click here
Click here
Regulatory Cascades
CEE regulatory control (RegCtl) blocks can be organized in cascade relationships with
other RegCtl blocks and with non-RegCtl blocks. The cascades can be confined to a
single Execution Environment (EE) or they can extend beyond a single EE. In the
context of restart, cascade behavior generally falls into two broad categories.
a)
Resume automatic control without human intervention if automatic control was operative
before shut down.
b)
Do not resume automatic control until there has been some form of
acknowledgement from a human operator.
In all cases for all restart types and all topologies, CEE restarts eventually result in full
initialization of internal dynamics of RegCtl blocks. The general behavior is that the
output (OP) is initialized to match the downstream output value and the internal states of
difference equations are set to zero. Set Point (SP) is either initialized to track PV or is
held unchanged. Whether SP tracks PV or is preserved depends upon the setting of
parameters PVTRAKOPT and PVTRAKOPTAI.
R110
February 2014
155
When the node presenting the secondary rather than the node hosting the primary goes
through a restart and the primary and secondary are in separate nodes, the CEE-to-CEE
cascades have two additional behaviors. These behaviors are the same regardless of
whether the fault detected at the primary results from shutdown of the node hosting the
secondary or from interruption of communication. When a CEE Controller is
SHUTDOWN, Control Data Access (CDA) communication is lost between nodes or
peers. Putting a CEE Controller in IDLE, does not cause communication loss. If primary
CEE is IDLE, you can initiate a ColdStart without SHUTDOWN.
156
When the secondary is in Cascade, the primary receives the initialization value
from the secondary, but the initialization handshake is allowed to conclude and
both the controllers operate in unison forward control.
Upon recovery, the primary receives a Fail-Safe value on PV from peer I/O
which has not concluded initialization and primary is shed to Manual.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Type of Restart
CEE to CEE
Cold
Warm
Cold
CEE-to-Legacy
R110
February 2014
Behavior
157
Type of Cascade
Type of Restart
Warm
6.4
Behavior
Mode is preserved for all cascades. Outstanding
cascade requests at downstream secondaries are
honored.
Operations
Across Experion LX there are several different kinds of subsystems which respond to
"activation" or "start up" commands. Though similar, the manner in which these
subsystems respond is not equivalent in all cases. The table below illustrates the
differences.
Subsystem
Supports
Activation
Supports Warm
Start Idle to Run
Transition
Supports Cold
Start Idle to Run
Transition
Supports Generic
Idle to Run
Transition
CM
Yes
No
No
No
IOM
Yes
No
No
No
CEE
No
Yes
Yes
No
Because of the different types of startup transitions supported across different Experion
LX subsystems, the HMI which issues startup commands includes Restart functionality.
The following principles apply:
"Run", "Warm Start" and "Cold Start" are applied, as appropriate. to the idle to run
transition of Execution Environments
158
Step
Action
Open the CEE function block form either directly from Control Builder project
or monitor.
Choose the command from the CEE Command drop down menu. Drop down
menu choices are: None, Idle, WarmStart, and ColdStart.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Step
3
R110
February 2014
Action
To accomplish an Idle to Run transition, choose WarmStart or ColdStart.
Commanding None has no effect.
159
160
R110
February 2014
7.2
R110
February 2014
161
Choose the OPC server block as the Model Block for the given Alias.
For an Alias with the EXTREF parameter, the instance references can be
references to either OPC server data or FLOAT64 type system Server data.
For an Alias with the EXTRETSTRUCT parameter, the instance references can
be references to either the OPC server data or EXTREF_STRUCT type system
Server data.
The following figure shows a sample reference to OPC server data in a SCM Aliases
table. The first alias is for an OPC server block with an EXTREF parameter for an
Instance 1 data reference from an OPC server named OPC46. The second alias is for a
Numeric block with a PV parameter for an Instance 1 data reference from a Numeric
block named n1 in a Control Module named cm42.
162
R110
February 2014
R110
February 2014
163
How it works
Any condition that breaks the communication path between the physical I/O module and
the I/O function block initiates a control mode shed. The most common causes of loss
communications are as follows:
The diagnostic failure of an individual slot. Only applicable for slot status conditions
that truly indicate a broken output path. For example, a "Communication error"
indicating a failure in communication to the IOM or an individual hardware failure
on a slot. This means that a "Bad calibration" error does not initiate a shed (or back
initialization for that matter), since it does break the output path.
ATTENTION
These common actions do not break the communications path or initiate a
control mode shed:
R110
February 2014
165
8.2
The functionality of specifying a time delay to shed the mode is applicable only to the
regulatory blocks that are connected to the local analog and digital outputs.
This configuration is accomplished through a new parameter, BADOCOPT (Bad Output
Connection Option). This configuration is applicable to all the regulatory control blocks
except for the PIDER block. This is because the PIDER block does not support any
BACKCALC communication from the secondary.
Note: Only the users with an Engineer access level can change the BADOCOPT value.
For more information on BADOCOPT values, refer to the section Description of values
for Bad Output Connection Option.
ATTENTION
You can optionally enable this functionality of specifying a time delay for the
regulatory control blocks to shed the control mode in the event of an IO
communication loss. For more information on how to optionally enable this
functionality, refer to Enabling the option of specifying time delay for REGCTL
blocks to shed the mode.
166
Enable When this parameter is enabled, you can specify the time delay for the
regulatory control blocks to shed their mode.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Disable When this parameter is disabled, the regulatory control blocks shed their
mode to MANual immediately after an IO communication loss. This is the existing
functionality.
The following figure displays a sample Main tab in which the Enable Bad Output
Connection Option check box is selected (enabled). Note that only if this check box is
selected, you can enter a value in the Bad Output Connection Option field. If the Enable
Bad Output Connection Option check box is cleared (disabled), the Bad Output
Connection Option field is disabled (appears dimmed).
R110
February 2014
167
168
Restore Conditions
After the IO communication is restored, the
initialization request is reset.
R110
February 2014
Value
Restore Conditions
R110
February 2014
169
Value
Restore Conditions
ATTENTION
In the event of a controller switchover, the secondary controller that assumes the
primary state retains the same BADOCOPT, BADOCOPTENB
UNCMDCHGALM.OPT, UNCMDCHGALM.PR, and UNCMDCHGALM.SV
parameter options as that of the primary controller, before the switchover
occurred.
Refer to the Control Builder Parameter Reference document for more information
on these parameters.
R110
February 2014
All the outputs connected to the block have lost communications with the IO.
However, if even one of the outputs resumes communication with the IO, the
initialization of the block happens.
All the outputs are connected to an AO and all the secondaries connected to the
block have lost communications with IO. However, if one of the outputs resumes
communication with IO, re-initialization of the block is requested.
For a Fanout block with mixed OP connections to the AO and the regulatory blocks,
the BADOCOPT parameter is applicable when the following conditions exists.
All the outputs connected to the block are not communicating with their
secondaries.
However, if the last output connected to an AO channel loses communication with the
IO, the block sheds mode based on the option configured in the BADOCOPT.
The output channel is in a Control Module different than the primary regulatory
block.
Note that inactivation or deletion of the associated IO module does not cause a mode
shed but sets the INITMAN of the primary to ON.
For more information on the scenarios that result in IO communication loss, refer to the
Basic Control Mode Shed Design Concepts section.
R110
February 2014
171
Scenario
Result
NaN
Between 1
60 secs
You change the mode to a nonMANual mode after the block has
shed to MANual after the specified
time delay or
Between 1
60 secs
Between 1
60 secs
172
R110
February 2014
Detail Displays
The Bad Output Connection Option (BADOCOPT) and UnCommanded Mode Change
(UNCMDCHGALM) parameters appear in the Station detail displays only if the
BADOCOPTENB parameter is enabled in the Main configuration form of the regulatory
control blocks.
The BADOCOPT and the UNCMDCHGALM parameters appear in the following details
displays of the regulatory control blocks.
SysDtlRegctla.htm
sysdtlpida.htm
sysdtlpide.htm
sysdtlpidpla.htm
sysdtlpidplf.htm
sysdtlpidplaltf.htm
sysdtlpidplalta.htm
sysdtlrampa.htm
sysdtlrampd.htm
The following figure displays the detail display of the Main tab of a regulatory control
block.
R110
February 2014
173
The following figure displays the detail display of the Alarms tab of a regulatory control
block.
174
R110
February 2014
Operators Guide
R110
February 2014
175
8.3
8.4
176
REMCAS Block
R110
February 2014
Export functionality
It may help to think of the Export function as a dynamic copy operation for the ERDB
being accessed through Control Builder. This function lets you export a portion of the
ERDB or the whole ERDB as viewed through the Project Tree in Control Builder. The
exported or copied portion of the ERDB is automatically stored in the C:\Program
Files\Honeywell\Experion\Engineering Tools\Ixport directory location by default. The
following figure shows how an exported ERDB viewed in the Project Tree appears in the
Ixport file folder for example purposes only.
R110
February 2014
177
By default, the ERDB used by Control Builder is stored in SQL Server under the
filename ps_erdb (default name). This is the ERDB that is being viewed in the Project
Tree.
178
R110
February 2014
Import functionality
It may help to think of the Import function as a dynamic paste operation for the ERDB
being accessed through Control Builder. This function lets you import a portion of an
exported ERDB or the whole exported ERDB as viewed through the Import dialog box.
The imported or pasted portion of the exported ERDB is automatically written to the
Project Tree, which is associated with the ps_erdb file in the SQL Server. If an imported
block has the same name as one already in the Project Tree, the configuration data for the
same named block in the Project Tree is overwritten by configuration data for the
imported block. The following figure shows the informational type messages generated
for the Import of an exported block named AIM_Backup into the Project Tree for
example purposes only.
R110
February 2014
179
Control Builder
Control Builder
(Control Session 1)
(Control Session 2)
Control Strategy
Configuration
Control Strategy
Configuration
Project Tree
Project Tree
Database
ps_erdb
(paste)
Database
ps_erdb
(copy)
Export
Data
Engineering
Repository
Import
Data
Ixport
File
180
R110
February 2014
9.2
It is always a good idea to make a backup copy of your primary ERDB in the Er
folder. The default backup filename is ps_erdb.bak.
Always use the primary ERDB for export or import functions, when using
Redundant Servers.
Can not initiate an export or import function while Engineering Repository (ER)
synchronization is in progress for Redundant Servers.
R110
February 2014
181
182
R110
February 2014
R110
February 2014
183
The following figures show how a configured SCM chart named example_scm appears
in the Monitoring Tab of Control Builder and in the Chart Tab of the example_scm
Detail display in Station for example purposes only.
For more information on colors and their meanings, see Operator's Guide.
<TF><F608
15></TF>
184
R110
February 2014
R110
February 2014
185
186
R110
February 2014
R110
February 2014
187
188
A tool button
on the chart Detail display lets you change the scale factor of the
chart for viewing as well as cancel or resume the Chart Automatic Tracking feature
for an SCM chart display.
You can display the same SCM or CM chart on multiple Stations at the same time.
You can display different SCM or CM charts on multiple Stations at the same time.
Since the operator security level can be changed through Station, it is possible that
the security level for Station is different than the security level for Control Builder.
A communications failure results in question marks (?) being shown in place of live
values until the fault is cleared.
R110
February 2014
I/O Functions
Series 8 I/O: in conjunction with Input/Output Termination Assemblies (IOTSs), the
IOMs perform input and output scanning and processing for field I/O.
A redundant I/O Link is standard for added security.
R110
February 2014
189
Then, Cable is . . .
Ok
Warning
Error
Bad. Either the cable errors detected during the last pass of periodic
channel swap or the sum of errors detected for the last 10 passes of
periodic channel swap on this cable exceeds the periodic swap
threshold setting of 10 errors per minute.
When the status of a cable transitions to the error state, a cable error alarm is generated
and the periodic channel swap function is automatically disabled. The status of the other
cable changes to unknown, since cable statuses cannot be validated until the periodic
channel swap function is re-enabled.
Once the cable fault is corrected, the periodic channel swap is enabled, and the cable
status returns to Ok, the cable status alarm returns to normal.
190
R110
February 2014
R110
February 2014
191
192
R110
February 2014
Regulatory Control
Auxiliary Functions
Device Control
Logic Functions
Math Functions
Utility Functions
Sequential Control
R110
February 2014
193
To minimize repetition of data, this document does not include topics specific to the
physical equipment type blocks (self-standing FBs) and the Control Module FB, and it
does not list all the parameters associated with a given FB. This information can be
found in the Experion LX Control Builder Components Reference.
194
R110
February 2014
Block
Description
Auto Manual
AUTOMAN (Auto
Manual) Block
Enhanced
Regulatory Control
Calculator
ENHREGCALC
(Enhanced
Regulatory Control
Calculator) Block
Input Description
Enable/Disable Switch
FANOUT Block
Override Selector
OVRDSEL
(Override Selector)
R110
February 2014
195
Block
inputs.
Proportional, Integral PID Block
& Derivative
-SP).
Integral-only (acts on the error PV -
SP).
Proportional & integral (act on error PV
196
R110
February 2014
Pulse Count
PULSECOUNT
Block
Pulse Length
PULSELENGTH
Block
Ramp Soak
RAMPSOAK Block
RATIOBIAS Block
Ratio Control
RATIOCTL (Ratio
Control) Block
R110
February 2014
197
REGCALC
Lets you write up to eight expressions for
(Regulatory Control creating custom algorithms for Calculated
Calculator) Block
Variable (CV) calculations. Provides an
interface to windup, initialization and
override feedback processing, so you can
add user-defined control blocks to your
control strategies.
Regulatory Summer
REGSUMMER
Remote Cascade
REMCAS (Remote
Cascade) Block
Switch
SWITCH Block
198
You cannot use CAB insertion programs with the following Regulatory Control
blocks.
POSPROP
PULSECOUNT
PULSELENGTH
REGCALC
R110
February 2014
You can use CAB instances for standalone operation or as programs whose
execution is inserted into the flow of other compatible blocks. For standalone
operation, you must configure the CAB for an Access Level of PROGRAM. For
insertion program operation, you must configure the CAB for an Access Level of
CONTCONTROL.
You must insert CAB instances in the same Control Module that contains the
regulatory control block.
If you insert multiple CAB programs at the same point, the order in which the
insertions are configured determines their execution order. During configuration, the
ORDERINCM parameter of the inserted CAB instance changes automatically to
match the calling regulatory control block and the INSERTION parameter of the
inserted CAB instances is set to TRUE.
CAB instances configured for insertion execute only when they are called during the
regulatory control block execution and are not executed as part of the normal
Control Module execution.
CAB instances configured for insertion should normally have no outside pin
connections configured. If you need to share CAB instance data with blocks other
than the one with inserted CAB programs, you can use parameter connectors or
direct wire connections to configured pin connections for custom data parameters on
the CAB instance. See the Pin connections to inserted CAB instances section for
more information.
The Control Builder application does not allow you to configure the same CAB
instance as an insertion by more than one Regulatory Control block.
Function
Provides the capability of performing custom
functions such as:
Custom calculations on inputs,
Custom timeout processing function, and
Enable/disable external mode switching
199
Insertion Type
Function
It is normally used to perform calculations on
the fetched input data. This means that Post
Input insertion programs must check if the
fetched input data is valid before using the data
in calculations. The fetched data is valid only if
the associated input status is Normal. For
example, before performing calculations using
X1, the parameter X1STS should be checked
for Normal status. If the status is not normal,
the fetched X1 value is not valid.
R110
February 2014
Insertion Type
Function
calculation for output values.
Requirement
The CAB program must not abort when the regulatory control
block goes into a bad control state. The output value CV must be
set to NaN, when the value of the required input is bad. This
causes the regulatory control block to go into a bad control state.
The regulatory control block algorithm generates a BADCTL
alarm during control output processing when CV is NaN.
Initialization
Windup
R110
February 2014
201
Function
Override Feedback
Requirement
If the regulatory control block is part of an override strategy, the
CAB program must set the appropriate override status and
calculate the override value to be propagated to its primary. The
override status to be propagated is written to the parameter
PRIMDATA.ORFBSTS and the override feedback value is stored
in the PRIMDATA.ORFBVAL parameter. The following is a high
level implementation detail for the override propagation.
BEGIN
IF PRIM.INITIALIZABLE { if primary is initializable}
PRIMDATA.OROFFSET = SECDATAIN.OROFFSET
PRIMDATA.HISELECT = SECDATAIN.HISELECT
PRIMDATA.PROPOVRD = TRUE
IF ORFBSTS = NOTSELECTED {If the override status is
not selected }
PRIMDATA.ORFBVAL = SECDATAIN.ORFBVAL
Calculate ORFBVAL for primary and store the value in
PRIMDATA.ORFBVAL
ELSE {if the status is selected }
PRIMDATA.ORFBVAL = NaN
IF CV = Nan {if the CV value is bad, propagate Notconnected
status and a feedback value of NaN }
PRIMDATA.ORFBSTS = NOTCONNECTED
PRIMDATA.ORFBVAL = NaN
ELSE { If CV is good, propagate the status received from
secondary }
PRIMDATA.ORFBSTS = SECDATAIN.ORFBSTS
END
202
R110
February 2014
Function
Floating Bias
Requirement
The standard Regctl algorithms include a floating bias function so
that output is bumpless during mode changes. If this function is
required, the floating bias functionality has to be implemented in
the CAB program.
The standard regulatory control block algorithms store the
calculated floating bias value in the parameter OPBIAS.FLOAT.
This parameter allows CAB write access, so it is available for use
in CAB programs.
Timeout
Description
Associated Block
INITREQ[1..8]
All Regulatory
Control blocks that
support insertion
points.
INITVAL[1..8]
All Regulatory
Control blocks that
support insertion
points.
OPBIAS.FLOAT
ENHREGCALC,
PIDER,
RATIOCTL,
REGSUMMER
OPBIAS[1..8].FLOAT
FANOUT
PV
Process Variable
PID,
PIDFF,
R110
February 2014
203
Parameter
Description
Associated Block
PVSTS
PID,
PIDFF,
RAMPSOAK,
RATIOCTL
TMOUTFL
All Regulatory
Control blocks that
support insertion
points
X [..]
OVRDSEL,
REGSUMMER,
SWITCH
XKB[..]
ENHREGCALC
X1
Input Value
AUTOMAN,
FANOUT,
RATIOBIAS
RATIOCTL,
REMCAS
X2
Input Value
RATIOCTL,
REMCAS
X1STS
AUTOMAN,
FANOUT
RATIOCTL
X2STS
RATIOCTL
R110
February 2014
CAB instance. If pin connections are configured, then the data transfer operates as
follows:
Pin connections always transfer data into a CAB insertion program just before
execution of the calling block.
Pin connections always transfer data out of a CAB insertion program just before
execution of the block that is pulling the CAB Custom Data Parameter (CDP).
Considerations
Program Termination
Exception Failures
205
For example, if a Ctl_Alg insertion program fails, control output processing, windup
processing, and so on is not performed. The parameter INITMAN is set to TRUE, which
causes the regulatory control block to go to INIT state.
206
R110
February 2014
Callout
Description
R110
February 2014
207
Callout
Description
If the CAB program encounters a termination failure (example execution time is too
long), CAB_1A returns a termination status to the calling master pida. In this case,
pida sets INITMAN to true and skips the rest of its processing. On the next execution
cycle, pida remains in INIT unless the problem has been corrected and the program
returns a NORMAL status.
With a termination failure, the CAB instance does not execute again unless manually
restarted. You should correct the defect in the program before reactivating the control
strategy. If you just try restarting a terminated CAB program, it will most likely
terminate again.
208
R110
February 2014
Description
R110
February 2014
209
Callout
Description
4A are added to the Control Module containing the AUTOMANA
block.
R110
February 2014
Callout
Description
Description
Experion LX Control Builder Components Theory
Honeywell
211
Callout
Description
The CAB instances named CAB_1A and CAB_2A are added to the
Control Module containing the pida block.
212
R110
February 2014
Equation
Reference
Number
PID Type
Equation
Interactive
CV( s )
e( s )
Non-Interactive
CV( s )
e( s )
=K
(T1 s + 1)(T2 s + 1)
T1 s (T2 s + 1)
= K ni (1 +
1
s
)
+ TD
(Tdf s + 1)
TI s
If the rate limiters are ignored, the transfer functions take on the following forms:
3
Interactive
CV( s )
e( s )
Non-Interactive
CV( s )
e( s )
=K
(T1 s + 1)(T2 s + 1)
T1 s
= K ni (1 +
1
+ TD s )
TI s
CV( s )
e( s )
=K
(T1 + T2 )
T1T2
1
(1 +
s)
+
T1
(T1 + T2 ) s (T1 + T2 )
Comparing the respective coefficients of equations 4 and 5, gives the Non-Interactive PID
tuning coefficients in terms of the Interactive PID tuning parameters as follows:
R110
February 2014
213
Equation
Reference
Number
K ni = K
PID Type
(T1 + T2 )
;
T1
TI = T1 + T2 ;
Equation
TD =
T1T2
(T1 + T2 )
where,
Kni non-interactive gain (CEE)
TI non-interactive integral time constant (CEE)
TD non-interactive derivative time constant (CEE)
K interactive gain
T1 interactive integral time constant
T2 interactive derivative time constant
214
R110
February 2014
Then, Action Is . . .
NoShed
ShedHold
ShedLow
ShedHigh
ShedSafe
R110
February 2014
215
The Mode will be shed but the OP will not be set based on
this case.
The user has to execute the program to pulse the SIFL to
216
R110
February 2014
The function block clears the Safety Interlock alarm (if one
was issued).
If mode was shed and the mode remains in Manual mode,
condition .
If SI alarming is enabled, and SIFL is ON, an alarm indicator appears next to SIFL
on the function block detail display. In addition, the regulatory control block issues
an alarm when SIFL goes ON, and clears the alarm when it goes OFF. (If the user
sets the alarm priority (SIALM.PR) to "NoAction", no alarm is issued. However, an
alarm indicator still appears next to SIFL on the detail display.)
If SI alarming is disabled, an alarm indicator does not appear on the detail display
and an alarm will not be issued.
R110
February 2014
217
218
R110
February 2014
Each AUTOMAN block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
219
Configuration Tab
Description
NONE.
Mode (MODE) - Lets you set the block's current MODE.
R110
February 2014
Configuration Tab
Description
selection is Enabled (checked, do not ignore).
Timeout Time (TMOUTTIME) - Lets you specify a time in
221
Configuration Tab
Description
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output
R110
February 2014
Configuration Tab
Description
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify
223
Configuration Tab
Alarms
Description
Type - Identifies the types of alarm this block supports.
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
224
R110
February 2014
Configuration Tab
Description
deadband value that applies to all analog alarms to
prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in
R110
February 2014
225
Configuration Tab
Description
Note: This parameter is available for configuration only if
the Enable Bad Output Connection Option is enabled.
SCM
None
ONESHOT
SEMICONT
CONTRTN
CONT
226
NONE - No changes.
R110
February 2014
Configuration Tab
Description
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
The block calculates the output value (CV) using the following equation:
CV = K X1 + OPBIAS.FIX + OPBIAS.FLOAT
Where:
K
X1
OPBIAS.FIX
R110
February 2014
227
OPBIAS.FLOAT
K and OPBIAS.FIX may either be fixed (that is, stored manually or by the program)
or external (that is, brought from another block).
Function
The AUTOMAN block is typically used:
in a cascade control strategy where one of the upstream blocks may not accept an
initialization request from its secondary.
ATTENTION
The AUTOMAN block:
Configuration example
The following figure and its companion callout description table show a sample
configuration that uses an AUTOMAN block between a FANOUT block and a
downstream PID block for quick reference.
228
R110
February 2014
R110
February 2014
Description
229
Callout
1
Description
You can use the FANOUT block to distribute a single primary output to
multiple secondaries. (Note that the individual
BACKCALCIN/BACKCALCOUT connections for each FANOUT output
used are automatically built by Control Builder as implicit/hidden
connections.)
Since the FANOUT block only initializes when all of its secondaries request
it, insert an AUTOMAN block for individual downstream blocks (like PIDB in
this example) to ensure bumpless transfer during mode changes.
You can specify a gain and bias for each of the FANOUT block outputs.
X1 + OPBIAS.FIX + OPBIAS.FLOAT
where:
K = gain for CV
X1 = input value
Inputs
The AUTOMAN block requires one input - X1:
230
X1 = initializable input which, if used, must be pulled from another block (it cannot
be stored).
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
(Note that this block applies no range checks and assumes that X1 is within the XEUHI
and XEULO range.)
Output
The AUTOMAN block has the following initializable outputs:
R110
February 2014
231
Output ranges
CVEUHI and CVEULO define the full range of CV in engineering units.
If the AUTOMAN block has a secondary, it brings the secondary's input range through
BACKCALC and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).
OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range. These are user-specified values.
OP is clamped to these limits if the algorithm's calculated result (CV) exceeds them
or another block or user program attempts to store an OP value that exceeds them.
However, the operator may store an OP value that is outside these limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range. These are user-specified values. The operator is prevented
from storing an OP that exceeds these limits.
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.
232
R110
February 2014
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). That is, the total bias eventually equals the
OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
R110
February 2014
233
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down. As previously mentioned, you can reset the OPBIAS.FLOAT to
zero by manually entering a value for OPBIAS.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
OPBIAS.FLOAT
Where:
cycles_per_min
234
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output occurs, if the primary does not
accept this block's initialization value.
R110
February 2014
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
R110
February 2014
235
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter will then view OPHILM = 100 - 20.
236
R110
February 2014
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
R110
February 2014
237
Mode Handling
The AUTOMAN block supports both the Cascade and Manual modes:
If Mode is MANual: an operator or a user program (X1 is ignored) may store OP.
Timeout Monitoring
If mode is CAScade, the AUTOMAN block performs timeout monitoring on X1. If the
X1 value is not updated within a predefined time (TMOUTTIME), the AUTOMAN
block invokes timeout processing as follows:
Note that the AUTOMAN block does not support mode shedding on timeout.
The maximum time between updates is specified by TMOUTTIME (in seconds).
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME and
the CDA timeout time. The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE subscription rate is 100
milliseconds and the TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Control Initialization
The AUTOMAN block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to the block.
If the secondary is requesting initialization, the AUTOMAN block
238
R110
February 2014
= On
INITVAL(X1) =
CV - OPBIAS.FIX
K
Where:
INITREQ(X1)
INITVAL(X1)
CV
K
OPBIAS.FIX
= calculated value
= Output gain
= user specified fixed bias
ATTENTION
Following a return to cascade, each secondary provides an initialization
request to its primary and in most cases the primary adjusts its output
accordingly. However, if the primary is a FANOUT block, it may ignore the
initialization request. The AUTOMAN block compensates for this by applying
a floating bias to the output.
R110
February 2014
239
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
R110
February 2014
241
Hi
LO
242
R110
February 2014
Standard Computation
Logic Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
R110
February 2014
ARWNET or ARWOP
Parameter Is . . .
243
AUTOMAN parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the AUTOMAN block.
Expands existing arrayed input parameters XSTS and X from six to ten.
These arrayed parameters are added to correspond to each of the ten inputs.
Input Description
Enable/Disable Switch
An initializable Set Point (SP) input parameter with limit checking and SP ramping
is added. Also, the X[1] input is converted to a general purpose input.
Both the ENHREGCALC and REGCALC blocks are optimized so that expressions
use memory based on the number of expressions configured, pcode size of each
expression and the number of references in the expression.
244
R110
February 2014
Each ENHREGCALC block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
245
Configuration Tab
Description
Bad Control Option (BADCTLOPT) - Lets you specify
R110
February 2014
Configuration Tab
Description
PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets
default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value
for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
R110
February 2014
247
Configuration Tab
Description
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value
for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Setpoint Engineering Units High Range (SPEUHI) - Lets
R110
February 2014
Configuration Tab
Description
the SP ramping function, when it is enabled. This lets an
operator start the SP ramping function without specifying
a ramp time. The default selection is Not a Number
(NaN). See the Set point ramping section for this block
for more details.
Input
R110
February 2014
249
Configuration Tab
Description
the output extended high limit as a percent of the
Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify
R110
February 2014
Configuration Tab
Description
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias
251
Configuration Tab
Description
selection is NONE. The ENHREGCALC block uses
different values for this parameter depending upon
whether or not a source is assigned and a secondary
exists as follows.
252
R110
February 2014
Configuration Tab
Description
exist.
Alarms
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
253
Configuration Tab
Description
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm
R110
February 2014
Configuration Tab
Description
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALM.DBU) - Lets you specify if the
R110
February 2014
None
ONESHOT
SEMICONT
CONTRTN
255
Configuration Tab
Description
CONT
NONE - No changes.
R110
February 2014
Configuration Tab
Description
a short descriptive text for each expression.
See the Guidelines for writing expressions section for
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
Function
Each expression can contain any valid combination of inputs, operators and
functions; and may perform arithmetic or logic operations.
You can write expressions for calculating CV under normal, initialization and
override feedback conditions. Or, you can write expressions which produce
initialization and override feedback values for this block and its primaries.
You can assign the result of an expression or an input to any assignable output,
which produces the same outputs as every other regulatory control block. You can
assign the same input to multiple outputs.
Configuration example
The following figure shows a sample configuration using an ENHREGCALC block in a
ratio control loop.
R110
February 2014
257
258
Then,
Manual (MAN)
Automatic (AUTO)
R110
February 2014
If Mode is . . .
Cascade (CAS)
Then,
the SP input comes from another function block.
The initialization request occurs when the MODE changes from CAScade to MANual,
but not from MANual to CAScade. When the block is put in MANual mode, it initializes
itself and requests its primary to initialize.
Inputs
The ENHREGCALC block has the following inputs.
XKB[1..10] individual inputs with gain and bias values applied to them.
XSUB[1..10] individually configurable substitute value for each X/PX input, when
corresponding X input is disabled.
Since SP is an initializable input, the block can have one primary. There is one primary
for each initializable input.
Initializable input
Since SP is an initializable input, the block can have one primary. There is one primary
for each initializable input. The ENHREGCALC block performs the following
processing functions.
SP limit checking
R110
February 2014
259
This function provides a smooth transition (ramp) from the current SP to a target SP. It is
invoked through the configuration option, SPTVOPT.
SP limit checking
SP Limit Processing makes sure the SP value does not exceed configured limits. These
limits are configured with the following parameters:
SPHILM
SP high limit
SPLOLM
SP low limit
If the input SP value is outside the range specified by SPHILM and SPLOLM, the
function block clamps SP to the appropriate limit and sets the appropriate limit exceeded
flag (SPHIFL or SPLOFL).
SPHILM and SPLOLM are configured in the same engineering units, as SP. Crossover
of set point limits is not allowed. SPHILM and SPLOLM can be changed even when the
Control Execution Environment (CEE) is in RUN and the Control Module (CM) is
Active.
When the SP limits are violated or the SP returns to normal, the network Anti-Reset
Windup status (ARWNET) is recomputed and the primary's windup status is set.
260
SPTVOPT
SPTV
SPTVNORMRATE
SPTVRATE
SPTVTIME
SPTVSTATE
R110
February 2014
Preset, Run)
Store a target SP value (SPTV). To store to SPTV, target value processing must
be enabled but not running, so SPTVOPT equals Enable, and SPTVSTATE
equals Off or Preset. When SPTV is stored, and the function block is active, the
following occurs:
The system calculates a ramp time (SPTVTIME), based on the normal ramp
rate
SPTVSTATE goes to Preset.
You may start ramping without specifying a ramp time. If you do this, the function
block calculates a ramp time and rate (SPTVTIME and SPTVRATE) as follows:
If SPTVNORMRATE is not NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
R110
February 2014
261
Otherwise,
SPTVRATE = NaN
SPTVTIME = 0, or do a step change
If you specify a ramp time (SPTVTIME), the function block calculates a ramp rate
(SPTVRATE) as follows:
If SPTVTIME is non-zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise,
SPTVRATE = NaN
If the user changes the normal ramp rate (SPTVNORMRATE), the function block
recalculates the ramp time and rate (SPTVTIME and SPTVRATE) as follows:
If SPTVTIME is non-zero:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,
SPTVRATE = NaN
SPTVTIME = 0 or do a step change
262
R110
February 2014
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you do not have to
create them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
R110
February 2014
263
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.
For example, if you connect the output from a ENHREGCALC block
(ENHREGCALC.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to ENHREGCALC.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single
ENHREGCALC output.
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent of
the CV range. You must specify these values.
264
R110
February 2014
OP is clamped to these limits if the algorithm's calculated result (CV) exceeds them, or
another function block or user program attempts to store an OP value that exceeds them.
However, the operator may store an OP value that is outside these limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. You must specify these values.
The operator is prevented from storing an OP value that exceeds these limits.
Assignable outputs
You can assign expression results and/or inputs to the following parameters.
For example, you can assign the result of the second expression to CVSRC and the result
of the fourth expression to CVINITSRC and CVORFBSRC. You may assign the same
input to multiple outputs. You may also assign inputs directly to outputs, such as
assigning X[1] and X[2] to INITVALSRC and INITREQSRC, respectively.
The assignable expression and input parameters are as follows:
C[1..8] - Expressions
CSTS[1..8] - Expression Status
X[1..10] - Inputs
XSTS[1..10] - Input Status
R110
February 2014
265
ATTENTION
The ENHREGCALC block does perform data conversions, if the source and
target parameters are of different types. For example, if you assign the
INITREQSRC to X[2], the block converts the real type data from X[2] into
Boolean type data for INITREQ[1] that it sends to its primary. You must be
careful when making assignments that the resulting data conversions do not
make sense. For example, if you assign XSTS[1] to ORFBSTSSRC, the two
statuses are entirely different and they cause the block to produce
unexpected results.
266
CVSRC - Since this parameter controls CV under normal conditions, when the
block is not initializing and its mode is CAScade, always assign this parameter.
If this parameter is left blank or unassigned, the Control Module containing the
block is allowed to go Active, but CV is NaN and OP has a value of zero.
The following parameters are provided to the primary through this block's
BACKCALC data.
INITREQSRC
INITVALSRC
ORFBVALSRC
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
ORFBSTSSRC
If a Parameter is . . .
And, a Secondary. . .
assigned
unassigned
exists
unassigned
Control initialization
The ENHREGCALC block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the ENHREGCALC block:
builds an initialization request for the designated primaries using the assignable
output parameters INITREQSRC and INITVALSRC. If you configure no
assignments for these parameters, the block behaves like other regulatory control
blocks, using the corresponding values brought from its secondary.
267
25.0. This means that the next time the ENHREGCALC block runs it receives an X[1]
value of 25.0 from the primary, resulting in C[1] = CV = 35.0. Thus, each cycle that
ENHREGCALC runs, its CV increments by 10.0, producing seemingly wrong results.
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
268
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). That is, the total bias eventually equals the
OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down OPBIAS.FLOAT.
R110
February 2014
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
Zero:
If OPBIAS.RATE is zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it never ramps
down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
R110
February 2014
269
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output occurs, if the primary does not
accept this block's initialization value.
After initialization, the ENHREGCALC block calculates the floating bias using the
following equation.
OPBIAS.FLOAT
Where:
CVunbiased
OPBIAS.FIX
270
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
R110
February 2014
If OUTIND Enumeration
Selection Is . . .
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
R110
February 2014
271
Equals This . . .
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
272
R110
February 2014
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Timeout monitoring
If mode is CAScade, the ENHREGCALC block performs timeout monitoring of the
initializable input, SP If the SP value is not updated within a predefined time
(TMOUTTIME), the block invokes timeout processing as noted in the following section.
The maximum time between updates is specified by TMOUTTIME (in seconds)
R110
February 2014
273
Timeout processing
If SP times out, the ENHREGCALC block does the following:
You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL.
If you want to disable the automatic return to CAScade, you may do one of the
following:
274
The ENHREGCALC block sets its cascade request flag (CASREQFL), if SP times
out and sheds to AUTOmatic mode. This indicates that the block is waiting to return
to the CAScade mode, and it will as soon as it fetches a good SP value. When it
receives a good SP value, the block does the following:
Store to CASREQFL.
If a block sheds to MANual mode, it will not set CASREQFL. Consequently, it will
not return to CAScade when it fetches a good value from the primary.
R110
February 2014
If the ORFBVAL and ORFBSTS are not assigned and this block has a secondary, the
ORFBVAL and ORFBSTS received from the secondary are used to compute ORFBVAL
for the primary. When the override status from the secondary changes from selected to
unselected, this block does the following:
feedback value for primary = feedback value received from secondary.
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.
You can customize the override feedback computation and propagation using the
following block parameters.
ORFBSTSSRC - If you make an ORFBSTSSRC parameter assignment, the
ENHREGCALC block computes the override feedback status from the assignment and
uses it for override processing and propagation to the primary. If you do not make an
assignment, the ENHREGCALC block uses the override status received from the
secondary for override processing, just like other regulatory control blocks do.
R110
February 2014
275
Windup handling
The ENHREGCALC block derives the ARWOP from a combination of the following
parameters and the secondary's windup status.
CV
XWHIFL
XWLOFL
The following table summarizes how the block derives ARWOP for some given
conditions.
If XWLOFL and/or XWHIFL
are. . .
276
And a Secondary. . .
R110
February 2014
And a Secondary. . .
True
False
exists
False
CV only.
When the ENHREGCALC block computes its ARWOP windup status for its primary
(ARWNET[1]), which is computed based on ARWOP, it will be propagated to the
primary just like other regulatory control blocks.
ATTENTION
The ARWNET[1] computation is independent of whether gain (K) is positive
or negative.
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
277
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
278
R110
February 2014
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
LO
R110
February 2014
279
280
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
R110
February 2014
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. Table 1 lists the expression operators
and functions supported by this block for reference as well as some case sensitive strings
that can be used for special value constants in expressions.
ATTENTION
Do not use equality operands = and <> to compare FLOAT64 and FLOAT32
floating point values in expressions. Use inequality operands Less Than (<),
Less Than or Equal To (<=), Greater Than (>), or Greater Than or Equal To
(>=) instead.
Description
Unary
+-
Binary Arithmetic
+ -
Logical
AND OR NOT
Relational
Conditional
Parenthesis
()
Array Syntax
[]
Unary Functions
ABS
R110
February 2014
absolute value
LOG
281
Operators
ATN
1
COS
Description
arc tangent
RND
round value
cosine
SGN
EXP
e to the power of x
SIN
sine
INT
convert to integer
SQR
square of a number
ISFIN
is finite
SQRT
square root
ISNAN
is Not a Number
TAN1
tangent
LN
Natural logarithm of a
number (log to the base of
e)
Multiple Argument Functions
MIN
minimum of n arguments
(ignore bad values)
MID
MAX
maximum of n arguments
(ignore bad values)
MUL
product of n arguments
AVG
average of n arguments
SUM
sum of n arguments
NUMSTR
MIDS
STRNUM
282
R110
February 2014
Operators
Description
NOW
NUMDTIM
NUMTIM
STRTIM
TOD
Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and
not degrees.
Case Sensitive Strings for Special Value Constants
NAN
+INF
-INF
PI
PI (3.14159. . .)
e (2.718. . .)
R110
February 2014
283
Parameters in Expressions
You must specify a parameter by its full tag name (for example,
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression.
Hard limit of six parameter references in an expression is not documented. In fact,
Knowledge Builder states, "In effect, tag names allow expressions to have an unlimited
number of inputs, and work with any data type." Customer is concerned that the KB
statement is extremely misleading. This issue applies to AUXCALC, ENHAUXCALC,
REGCALC, and ENHREGCALC; and releases R210 and R300.
Expression descriptor parameters (EXPRDESC[1..8]) are used with the expression
constant parameters (CONST[1..8]) for providing a short description for the expressions.
The EXPRDESC[1..8] parameter can be modified only during the strategy configuration,
and is available even if CONSTENABLE is set to FALSE.
The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:
TagName.'text'
TagName is the name of the external reference component (i.e. an OPC Server). Text can
contain any characters, space, and special characters except for the delimiter character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
responsibility to ensure that the text is something that the external reference component
will understand. If this text is incorrect, runtime errors will occur.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.
284
Must include full tag.parameter name for X inputs in the expression and enclose
identification number in brackets instead of parentheses. For example,
CM151.REGCALC_1.X[1] CM151.REGCALC_2.X[2] is valid.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
You can mix and nest all operators and functions (including conditional
assignments) in any order as long as types match or can be converted.
You can use blanks between operators and parameter names, but they are not
required.
You can use all data types in expressions, including enumerations. They are all
treated as numeric types.
TIP
You can use the integer parameters YEAR, MONTH, DAY HOUR, MINUTE,
and SECOND that provide local date and time for the controller in all
expressions, just like other integer parameters.
The expression constant parameters (CONST[1..8]) are used with the expressions as
follows:
R110
February 2014
285
Example:
CM1.CALC1.CONST[1] * CM1.CALC1.X[2] + CM2.REGCALCA.CV
The results of the expressions, which use the CONST [1...8] parameters, are affected if
you change the values of these parameters on the Constants tab.
Description
Assignment - used only in the SCM Step Output blocks to assign the
results of an expression to a reference.
Example:
CM.block.mystringparam := "This is a string constant"
286
R110
February 2014
Operator
Description
CM.block.mystringparam := CM.desc
Concatenation
Example:
CM.block.mystringparam + CM.desc
Equal to
Example:
CM.block.mystringparam = CM.desc
<>
Not equal to
Example:
CM.block.mystringparam <> "This is a string"
Delta Time - Is also stored as a 64-bit integer and it represents an Absolute time
difference in tenths of milliseconds.
Time of Day - is an unsigned 32 -bit integer that represents a time of day in tenths of
milliseconds.
Time constants
You can use the following valid time constants in expressions.
R110
February 2014
287
Description
:=
Assignment - used only in the SCM Step Output blocks to assign the
results of an expression to a reference. The data type in the
expression result must agree with the data type of the reference.
If both operands are of the same time data type the result is the
same data type. Delta time or Time of Day can be added to an
absolute time, which results in absolute time. Time of day can be
added to delta time, which results in a delta time. See the next
section Adding time data types. .
One operand can be a delta time or time of day data type and the
second operand must be a number. The result is a delta time data
type.
=, <>, <=,
>=, <, >
DAYS1
HOURS
MINS1
SECS1
The DAY, HOURS, MINS, SECS Operators are not case specific.
288
Delta Time
Time of Day
R110
February 2014
Absolute Time
Absolute Time
Absolute Time
Absolute Time
Delta Time
Absolute Time
Delta Time
Delta Time
Time of Day
Absolute Time
Delta Time
Time of Day
Delta Time
Time of Day
Absolute Time
Delta Time
N/A
N/A
Delta Time
Absolute Time
Delta Time
N/A
Time of Day
Absolute Time
Delta Time
Time of Day
CEE01.CURRTIME + 2 DAYS
TIMNUM(CEE01.CURRTIME)
NUMTIM(1000.0)=NOW
NOW - MyCM.myblock.todparam
ABSTOD(CEE01.CURRTIME)
2.
289
CEE01.CURRTIME + 2
CEE01.CURRTIME > 5.0
REFERENCE - INTERNAL
Refer to Time Support in Experion LX System for more information about time
support in the system
ENHREGCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the ENHREGCALC block.
290
R110
February 2014
Each FANOUT block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
R110
February 2014
291
Configuration Tab
Description
Engineering Units (EUDESC) - Lets you specify a text
R110
February 2014
Configuration Tab
Description
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.
293
Configuration Tab
Description
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option
R110
February 2014
Configuration Tab
Description
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify
295
Configuration Tab
Description
means the OP is held at its last good value.
Gain High Limit (GAINHILM) - Lets you specify gain
296
R110
February 2014
Configuration Tab
Alarms
Description
Type - Identifies the types of alarms this block supports.
R110
February 2014
Experion LX Control
Builder Components
297
Disable
An alarm is Theory
not notified whenever a mode
Honeywell
shed happens in the event of an IO communication
loss.
Note: This parameter is available for configuration only if
the Enable Bad Output Connection Option is enabled.
Configuration Tab
SCM
Description
SCM Mode Tracking Option (MODETRACK) - Lets you
None
ONESHOT
SEMICONT
CONTRTN
CONT
298
NONE - No changes.
R110
February 2014
Configuration Tab
Description
this block).
Configuration
Parameters
Monitoring Parameters
Block Preferences
Each output value (CV [1..8]) is calculated using the following equation:
CV(n) = X1
where:
X1
K(n)
(n)
OPBIAS(n).FIX
OPBIAS(n).FLOAT
R110
February 2014
= input value
= gain for output CV(n) (user-specified)
= output channel (number1 to 8)
= fixed bias for output CV(n) (user-specified)
= floating bias for output CV(n) (calculated)
299
A separate gain [K(n)] and bias [OPBIAS(n).FIX] may be specified for each output.
K(n) and OPBIAS(n).FIX may either be fixed (that is, stored manually or by the
program) or external (that is, brought from another block). You can specify a
different gain and fixed bias value for each output.
The OP% is the CV expressed as a percentage of the CV range for that secondary.
The CV may be used to calculate the OP which is given by:
OP = (CV - CVEULO) /CVEUSPANBY100
where:
CVEUSPANBY100 = (CVEUHI-CVEULO)/ 100.
The values for CVEUHI and CVEULO are set to be the same as the values for
PVEUHI and PVEULO for the secondary. The PVEUHI and PVEULO values are in
turn input by the user.
After an initialization, the block calculates OPBIAS(n).FLOAT for each output as:
OPBIAS(n).FLOAT = CVINIT(n) - [K(n) X1 + OPBIAS(n).FIX]
where:
(n)
CVINIT(n)
ATTENTION
The FANOUT block is the only Regulatory Control Block that can have
multiple secondaries.
Function
The FANOUT block provides a "bumpless" output for each of up to eight outputs
following initialization or mode changes.
Configuration example
See the previous Example of CB configuration using AUTOMAN block. figure for an
example of a FANOUT block being used to provide multiple outputs from a single PID
block.
300
R110
February 2014
Inputs
The FANOUT block requires one input - X1:
X1 = initializable input which must come from another block (it cannot be set by an
operator or a program).
You must specify an engineering unit range (XEUHI and XEULO) for X1. The
block applies no range check. It assumes that X1 is within the specified range.
Outputs
The FANOUT block may have up to 8 initializable outputs as follows:
R110
February 2014
301
For a given secondary, a connection to OP or OPEU may be created, but not to both.
(The default OP connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter (OPX/OPEUX) when
it is required.)
Gain limits may be configured with negative values, thereby making it possible to
reverse outputs by using negative gains.
The FANOUT block provides the X1 input range (XEUHI/XEULO) to the primary
through BACKCALC. The primary uses this for its output range
(CVEUHI/CVEULO).
Output ranges
302
The FANOUT block does separate ranging for each output by maintaining a
separate CV range for each output which tracks the input range of the
corresponding secondary.
The CV range for each output must be the same as the input range of each
secondary. The FANOUT block brings the input range from each secondary
(through BACKCALC) and stores it as the corresponding CV range. As a
result, each output may have a different CV range. For example, a FANOUT
block has its outputs OP[1] and OP[2] connected to blocks PID1 and PID2,
respectively. It brings the input ranges of PID1 and PID2 and sets its CV ranges
of OPX[1] and OPX[2] to these input ranges, respectively.
OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range. These are user-specified values. The same limits apply to all
outputs.
R110
February 2014
OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range. These are user-specified values. The same limits apply to
all outputs. The operator is prevented from storing an OP that exceeds these limits.
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output. Since the FANOUT block can have up to eight
outputs, a separate output bias is determined for each output. This means that the
parameters referenced in this discussion are actually indexed to the given output. For
example, OPBIAS[1] and CV[1] are indexed to OP[1], and so on for the other seven
outputs numbered 2 to 8.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the
FANOUT block is the first initializable block.
When the function block initializes (for example, the secondary requests
initialization).
When the mode changes to Cascade (as applicable for the given block).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
R110
February 2014
303
ATTENTION
When the function block goes Active or the Mode changes to Cascade (as
applicable for the given block), OPBIAS and OPBIAS.FLOAT are
recomputed.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store it to OPBIAS.FIX only if the function block is inactive or the MODE
is Manual; or if it is a PID or PIDFF function block with the CTLEQN is set to E.
When you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
CVINIT
CVUNBIASED
OPBIAS.FIX
Where:
304
R110
February 2014
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output will occur, if the primary does not
accept this block's initialization value.
Mode handling
The FANOUT block supports both the Cascade and Manual modes:
Timeout monitoring
If mode is CAScade, the FANOUT block performs timeout monitoring on X1. If the X1
value is not updated within a predefined time (TMOUTTIME), the FANOUT block
invokes timeout processing as follows:
R110
February 2014
305
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME and
the CDA timeout time. The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE subscription rate is 100
milliseconds and the TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Control initialization
The FANOUT block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to the FANOUT block.
If all secondaries are requesting initialization and the SECINITOPT for corresponding
outputs is enabled, the FANOUT block
= On
INITVAL(X1) =
306
CV - OPBIAS(last).FIX
K(last)
Where:
R110
February 2014
(last)
CV
OPBIAS(last).FIX
K(last)
INITREQ(X1)
INITVAL(X1)
ATTENTION
R110
February 2014
Where:
307
(Index)
Since the FANOUT block can have up to eight secondaries, you can selectively
enable/disable the SECINITOPT for each output.
BACKCALC processing
BACKCALC contains initialization, windup, and range data from each secondary. The
FANOUT block always uses the secondary's windup status and range data, and you may
specify whether to ignore initialization through the SECINITOPT parameter. There is 1
SECINITOPT per secondary.
Since initialization and windup data may be received from multiple secondaries, the
FANOUT block applies the following rules to decide what it should propagate from its
secondaries:
308
c)
Initialization is propagated only if all secondaries are requesting it. The FANOUT
block uses the initialization value from the last secondary to request it.
SECINITOPT may be used to ignore initialization requests from selected
secondaries.
d)
R110
February 2014
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab supports the output direction of the
block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
R110
February 2014
309
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
310
R110
February 2014
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
If all secondaries are in high windup, the FANOUT block propagates a high windup
status to its primary (ARWNET = Hi).
R110
February 2014
311
If all secondaries are in low windup, the FANOUT block propagates a low windup
status to its primary (ARWAY = Lo).
Note that if the gain is reversed for one of the outputs, then high windup on that output is
the same as low windup on the others.
The FANOUT block propagates a normal windup status to its primary under the
following conditions:
Note that the FANOUT block checks the windup status from all secondaries, regardless
of SECINITOPT selection.
Normal
Hi
Lo
HiLo
R110
February 2014
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status does is to stop integral action in
one or both directions on PID blocks. For any other regulatory control type block,
ARWNET is not used for any kind of limiting. The ARWNET is computed as follows,
assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
R110
February 2014
313
Hi
LO
314
R110
February 2014
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
R110
February 2014
ARWNET or ARWOP
Parameter Is . . .
315
FANOUT parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the FANOUT block.
Each OVRDSEL block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
316
R110
February 2014
Configuration Tab
Description
Description (DESC) - Block descriptor of up to 132
characters long.
Engineering Units (EUDESC) - Lets you specify a text
317
Configuration Tab
Description
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you
R110
February 2014
Configuration Tab
Description
configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Safety Interlock Option (SIOPT) - Lets you specify
range limit that represents 100% full scale input for all
the block inputs (X[1..4]). The default value is 100.
Low Limit (XEULO) - Lets you specify the low input
range limit that represents the 0 full scale input for all the
block inputs (X[1..4]). The default value is 0 (zero).
Enable Input Bypassing (ORBYPPERM) - Lets you
319
Configuration Tab
Description
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME and the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Description - Lets you enter up to a 15-character
R110
February 2014
Configuration Tab
Description
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify
321
Configuration Tab
Description
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value.
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
Configuration Tab
Description
BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:
323
Configuration Tab
Description
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you
None
ONESHOT
SEMICONT
CONTRTN
CONT
R110
February 2014
Configuration Tab
Description
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:
NONE - No changes.
Configuration
Parameters
Monitoring Parameters
Block Preferences
R110
February 2014
325
Configuration Tab
Insertion Type
Description
Lets you include an insertion type from a CAB instances in
the block. See CAB insertion configuration considerations
for regulatory control blocks for more information
Function
This block always forces the unselected inputs to track the selected input by enabling the
override feedback option. You select the override option by setting the parameter
OROPT to ON or by selecting the Enable Override Option check box on the block's
parameter configuration form.
If OROPT is . . .
Then, . . .
ON
OFF
With initialization, the upstream blocks set their output based solely on the
initialization value from their secondary. They do not fetch inputs or perform their
normal algorithm calculations.
326
Action
R110
February 2014
Step
Action
The cascade executes as normal, where each block fetches its input and
performs its normal algorithm calculation.
As previously stated, this block "provides" override feedback data to every block in an
upstream cascade. It doesn't matter how many blocks are upstream, or whether they are
on-node or off. However, the keyword here is "provides" because it may take several
execution cycles for the data to reach the furthest block. The OVRDSEL block will
propagate the data to a limited number of on-node blocks. (See limitations below.)
When it reaches that limit, it will interrupt the propagation and pass the data to the next
upstream block through BACKCALC. When the upstream block fetches BACKCALC,
it detects that override propagation was interrupted, and resumes propagating (subject to
the same limitations).
Limitations:
For a given path, propagation is interrupted at a block with an off-node primary. The
primary resumes propagation on its next execution cycle.
For a given path, propagation is interrupted after five upstream blocks. The sixth
block resumes propagation on its next execution cycle.
Example: Assume an OVRDSEL block has four inputs, where one input is a cascade of
nine upstream blocks, and each of the others is a cascade of four upstream blocks. Also,
assume that all of the blocks are on-node. Then, the OVRDSEL block will propagate to
the first five blocks in the first cascade, and to every block in the other cascades. The
next time the sixth block runs, it will bring BACKCALC from the fifth, determine that
propagation was interrupted, and resume propagation to the remaining blocks in that
cascade.
ATTENTION
The system's ability to interrupt and resume override propagation has
advantages and disadvantages.
R110
February 2014
327
If you have an override strategy where all blocks must have their override
data in sync, then that strategy must be on the same node, and have no more
than five blocks in each input cascade.
This block provides a bypass flag for each input, which allows the operator, another
function block, or a user program to exclude any input from being selected. Inputs may
be bypassed regardless of whether OROPT is On or Off.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether OROPT is On or Off.
Configuration example
The following figure and its companion callout description table show a sample
configuration that uses an OVRDSEL block to provide override feedback data to
upstream PID blocks for quick reference.
328
R110
February 2014
Description
Use the PV parameter connection to carry data from the analog input to the
PID block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.
R110
February 2014
329
Callout
Description
The Enable Override Option (OROPT) is selected for the OVRDSEL block.
This means that the Not Selected primary PID's output is initialized to the
same value as the Selected PID's output. You must configure the OP
parameter to appear on the faceplate of the block through the Monitoring
Parameters tab in the block configuration form.
330
You can configure the OVRDSEL block to select the lower of the two
primary inputs by selecting Equation B or the higher of two inputs by
selecting Equation A.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Configuration considerations
Keep the following considerations in mind when configuring control strategies using
OVRDSEL blocks.
When possible, load control strategies using OVRDSEL blocks in the same CEE.
Only the most downstream OVRDSEL block in the cascade propagates the override
feedback value to its primaries. When this strategy is in the same CEE, the
propagation of override feedback value to the unselected primaries of an OVRDSEL
block takes place in one execution cycle of the block. The means the override
feedback value and other feedback data are the most recent values.
In any control strategy that includes OVRDSEL blocks, the sequence of execution
of all blocks is very important. All the primaries should run before the OVRDSEL
block that propagates the feedback gets a chance to execute. This another reason for
loading control strategies that include OVRDSEL blocks in the same CEE. The
following configuration scenarios outline some typical execution settings for
reference.
If all the blocks are contained in the same Control Module, all the primaries
should execute before the OVRDSEL block does. This means the
ORDERINCM parameter of the OVRDSEL block must be larger than the
corresponding number for all its primaries. For example, if Control Module
CM01 has blocks PID01, PID02, PID03, PID04, and OVRDSEL05, the
suggested settings for the ORDERINCM parameter are PID01.ORDERINCM <
PID02.ORDERINCM < PID03.ORDERINCM < PID04.ORDERINCM <
OVRDSEL05.ORDERINCM.
If primaries are residing in different Control Modules within the same CEE, the
previous scenario still applies for the Control Module containing the OVRDSEL
block. Plus, the ORDERINCEE parameter setting for the Control Modules that
contain other primaries should be smaller than the ORDERINCEE parameter
for the Control Module that contains the OVRDSEL block. For example, if
Control Module CM01 contains a PID cascade loop with an OVRDSEL block
and Control Modules CM02 and CM03 contain other primaries of the
OVRDSEL block, the suggested settings for the ORDERINCEE parameter are
CM01.ORDERINCEE > CM02.ORDERINCEE > CM03.ORDERINCEE.
The strategy includes a cascade loop with an OVRDSEL block that propagates
only 5 on-node regulatory control blocks in its one execution cycle. The
propagation then continues through the BACKCALC connection , when the
primary runs the next time. The override feedback value could be old for any
primaries that are off-node or beyond the limit of 5.
R110
February 2014
331
Inputs
The OVRDSEL block accepts one to four inputs - X[1] through X[4]. It requires at least
two inputs, but they can be any of the four.
The inputs must be pulled from other function blocks; you cannot store to them.
This block may have two to four primaries, depending on the number of inputs that
are configured. (There is one primary per initializable input.)
Input ranges
XEUHI and XEULO define the full range of inputs.
This block assumes that all X-inputs are within XEUHI and XEULO. It applies no range
checks.
Input descriptors
You can define descriptor (name) of up to 15-characters for each input. The descriptors
reside in the XDESC parameter, and when an input is selected, the corresponding
descriptor is copied to SELXDESC.
When SELXINP is updated, then SELXDESC is automatically updated.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter, and when you create a connection between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a PID block to an OVRDSEL block or an
AOCHANNEL block, Control Builder automatically creates the BACKCALCOUT to
BACKCALCIN connection.
The OVRDSEL block has the following initializable outputs:
332
R110
February 2014
You may create a connection to OP or OPEU but not to both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter connection when required.
For example, if you connect the output from a PID block (PIDA.OP) to the input of an
OVRDSEL block (OVRDSEL1.X1), the implicit/hidden connection is made to
PIDA.OPX to provide value/status data.)
This block doesn't have CVEUHI and CVEULO as configurable parameters for the
reasons given below:
If this block has a secondary, it brings the secondary's input range through
BACKCALCIN and sets its CV range to that.
ATTENTION
This block fetches the secondary's input range regardless of SECINITOPT
(i.e., regardless of whether the secondary's initialization and override data will
be used).
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. These are user-specified values.
R110
February 2014
The operator is prevented from storing an OP value that exceeds these limits.
333
OPTOL allows the user to configure a tolerance limit for the manually entered OP.
If the difference between the new OP value and the current OP value is greater than
OPTOL, then confirmation is required from the user to store this new value.
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
334
R110
February 2014
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
R110
February 2014
335
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
336
R110
February 2014
Mode handling
This function block supports the Cascade and Manual modes.
If MODE is . . .
Then, . . .
Cascade
Manual
The initialization request occurs when the MODE changes from CAScade to MANual,
but not from MANual to CAScade.
Timeout monitoring
If MODE is CAScade, this block performs timeout monitoring on all inputs (X[1..4])
that are not bypassed. (See Bypass Processing paragraph below.) If an input value is not
updated within a predefined time (TMOUTTIME), the block invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)
Timeout processing
This function block only performs timeout monitoring on inputs that are not bypassed.
(See Bypass Processing paragraph below.)
If MODE is CAScade and an input times out, this block does the following :
337
CEE subscription rate. For example, if the CEE subscription rate is 100
milliseconds and the TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Bypass processing
You may explicitly bypass (ignore) any input. The primary will initialize if it is
bypassed. The following parameters support this:
ORBYPASSFL[1..4] - Override Bypass Flags. A flag for each input; used to specify
which inputs should be bypassed. If a flag is set, the corresponding input is not used
in the selection process. If all bypass flags are set, this block holds CV at its last
value. This block uses the bypass flags regardless of whether OROPT is ON or OFF.
BADINPTOPT- Bad Input Option enable. Indicates if the function block should
include bad inputs (NaN) in the selection process.
When an input goes bad and its BADINPTOPT(i) is set to IncludeBad, then the
OVRDSEL's CV is set to NaN.
When an input goes bad and its BADINPTOPT(i) is set to IgnoreBad, then the
OVRDSEL ignores that input in its processing and will select one of the other inputs
based on its configured equation (High or Low selector).
Equations
The OVRDSEL block selects one of the inputs according to the following user-selected
equations:
338
R110
February 2014
This block stores the number of the selected input in parameter SELXINP, and sets or
resets the input selection flags SELXFL(1..4). There is one selection flag per input; ON
means the input was selected, and Off means it was not.
This block compares the currently selected input against the other inputs. In the case of
equal values, the current input remains the selected input. For example, assume that
X[2] and X[3] have the same value and X[3] is the selected input. If that value is
selected, the selected input remains X[3].
Input switching
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether OROPT is On or Off.
Output bias
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output will occur, if the primary does not
accept this block's initialization value.
Bad CV processing
If the selected input is bad and MODE is Cascade, this block does the following:
When the selected input returns to normal, this block does the following:
R110
February 2014
339
Control initialization
This block brings initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one-shot initialization requests to this block.
You can use SECINITOPT to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:
If this block is in the Manual mode, it requests all primaries to initialize. Otherwise, it
only requests the bypassed primaries to initialize. It builds initialization requests as
follows:
INITREQ(n) = On
INITVAL(n) = CV
where:
(n)
INITREQ
INITVAL
340
Requests all primaries to initialize (That is set all INTREQ flags On, and set
INITVAL = CV).
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
OROPT is ON.
If these conditions are true, this block provides the following data to every upstream
block:
Override status - This status indicates if the upstream block is on the selected input
path or not. Possible values are:
Value
SEL (Selected)
Override feedback value: The OVRDSEL block sends its current CV to each of its
primaries.
Sent to
Override offset flag: This flag only applies to upstream PIDs; it indicates if the PID
should apply a calculated offset to the override feedback value.
If the offset flag is Off, the PID doesn't apply an offset; it initializes its CV as
follows:
CV = override feedback value
If the offset flag is On, the PID applies an offset; it initializes its CV as follows:
CV = (override feedback value) + Gain (PVP - SPP) for direct control action.
CV = (override feedback value) - Gain (PVP - SPP) for reverse control
action.
Gain (PVP - SPP) > 0.0 and the downstream OVRDSEL block is a High
selector. Or,
R110
February 2014
341
Gain (PVP - SPP) < 0.0 and the downstream OVRDSEL block is a Low
selector.
If override propagation is interrupted, the blocks above the interrupt point are using
override data that is older than the blocks below it. Override data above this point
typically lags by one or two function block cycles.
If you have an override strategy where all blocks must have their override data in
sync, then that strategy must be on the same node, and have no more than seven
blocks in each input cascade.
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
342
R110
February 2014
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
R110
February 2014
343
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
LO
344
R110
February 2014
Standard Computation
Logic Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
R110
February 2014
ARWNET or ARWOP
Parameter Is . . .
345
346
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
R110
February 2014
OVRDSEL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the OVRDSEL block.
The PID block has two analog inputs - a process variable (PV) and a set point (SP). The
difference between PV and SP is the error and this block calculates a control output (OP)
that should drive the error to zero.
The following equations are supported:
Proportional and Integral (PI) on the error and Derivative (D) on changes in PV
Integral (I) on the error and Proportional and Derivative (PD) on changes in PV
R110
February 2014
347
The PID block may be used in a single control loop or with multiple PIDs in a cascade
strategy. The following figure shows two PID controllers being used for simple cascade
control where the output of a temperature controller is used as the set point of a flow
controller.
Fuel Flow
Controller
OP
PV
SP
Temperature
Controller
OP
PV
SP
R110
February 2014
document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
R110
February 2014
NOSHED - No changes.
349
Configuration Tab
Description
extended low limit (OPEXLOLM) value.
R110
February 2014
Configuration Tab
Description
enforce the MODE assignment. For example, if the
MODE is CAScade and the block is getting its SP from
another block, an operator is prevented from overwriting
the SP value. However, If there is a breakdown in the
cascade loop, the MODE can be changed so an operator
can write a value to the SP. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.
351
Configuration Tab
Description
interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify
352
R110
February 2014
Configuration Tab
Description
used for the derivative term in the control equation.
T2 High Limit (minutes) (T2HILM) - Lets you define the
R110
February 2014
353
Configuration Tab
Description
This applies to equations A, B, and C.
Overall Gain (K) - Lets you set the overall gain value
354
R110
February 2014
Configuration Tab
SetPoint
Description
SP (SP) - Lets you specify an initial set point value. The
default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value
for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value
for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired
355
Configuration Tab
Description
Enable PV Tracking (PVTRAKOPT) - Lets you specify if
R110
February 2014
Configuration Tab
Description
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output
357
Configuration Tab
Description
Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe
358
R110
February 2014
Configuration Tab
Description
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
359
Configuration Tab
Description
on the Alarm Summary display.
360
R110
February 2014
Configuration Tab
Description
specify if an alarm is to be notified in the alarm summary
whenever a mode shed happens in the event of an IO
communication loss. The selections are:
None
ONESHOT
SEMICONT
CONTRTN
CONT
361
Configuration Tab
Description
applicable for the given regulatory control function block:
NONE - No changes.
362
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
R110
February 2014
Configuration Tab
Insertion Type
Description
Lets you include an insertion type from a CAB instances in
the block. See CAB insertion configuration considerations
for regulatory control blocks for more information
Function
A PID requires two inputs - a process variable (PV) and a set point (SP):
A PID also has the following optional inputs. Typically, these are flags which may be
stored by the operator or user program to change the normal operation of the PID.
If ESWAUTO = On, the external source wants to change the Mode to Auto.
If ESWCAS = On, the external source wants to change the Mode to Cascade.
If ESWMAN = On, the external source wants to change the Mode to Manual.
If SI = On, the external source wants to invoke the PID's safety interlock logic.
R110
February 2014
363
The secondary builds BACKCALCIN when it receives a read request from the
primary. This way, BACKCALCIN is guaranteed to contain the most current status.
Functional scenario
This scenario is based on the functional block diagram of a typical cascade loop shown
in the following figure and it assumes the following:
The PID2's Mode is Cascade. As a result, SP is pulled from a primary (PID1), and
the PID2 must perform timeout checking on it.
Both PID1 and 2 pull PV from Data Acquisition (DATAACQ) function blocks as
shown in following figure.
The PID1 has an active output. As a result, it reads BACKCALCIN from and
provides OP to the secondary (PID2).
The PID2 will never be wound-up, and never request the PID1 to initialize. In
addition, the PID1 will never be wound-up, and never request its SP to initialize.
The PV, SP and OP connections are all good which means there are no
communication errors or timeouts.
Primary
BACKCALCIN
SP
PID1
PV
OP
DATAACQ
Secondary
P1
SP
PID2
PV
OP
PV
DATAACQ
P1
364
PV
BACKCALCOUT
Typically goes to
Analog Output
Channel FB
R110
February 2014
Action
The PID1 provides a value to the PID2 SP variable (before the PID1
executes).
The PID2 performs timeout checking on SP (to make sure the variable has
been updated). The SP timeout value is configurable.
The PID1 checks PVSOURCE and decides whether or not to fetch PV. If
PVSOURCE = Auto, it brings PV from the DATAACQ; otherwise, it simply
uses the current value of PV.
The PID1 reads BACKCALCIN from the secondary, and decides if windup or
initialization processing is required. The BACKCALOUT to BACKCALIN
connection is hidden.
The PID1 performs limit checking and alarming (if required) on OP.
10
11
Configuration examples
Single PID Loop: The following figure and its companion callout description table
show a sample configuration that uses a PID block to form a single control loop for
R110
February 2014
365
366
Callout
Description
Use the PV parameter connection to carry data from the analog input to the
PID block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.
R110
February 2014
Callout
Description
R110
February 2014
Use the OP parameter connection to send output data to the Analog Output
Channel (AOC) block. The default OP connection is exposed, but the
implicit/hidden connection function automatically makes a connection to a
value/status parameter (OPX/OPEUX) when it is required.
367
Cascade PID Loop: The following figure and its companion callout description table
show a sample configuration that uses two PID blocks to form a cascade control
loop for quick reference. The view in the following figure depicts a loaded
configuration in Monitoring mode.
368
Description
R110
February 2014
Callout
Description
Use the PV parameter connection to carry data from the analog input to the
PID block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.
MAN (MANual)
AUTO (AUTOmatic)
CAS (CAScade)
Required inputs
The required number of inputs is determined by the mode of the PID block.
R110
February 2014
369
The PID block may have one primary or none, depending on whether SP is
configured or not; there is one primary per initializable input.
PVEUHI and PVEULO also define the engineering unit range of SP - PV and SP
are assumed to have the same range.
The PID block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from a data acquisition (DATAACQ) block
which applies its own limit and range check.
SPHILM and SPLOLM define set point operating limits in engineering units.
The operator is prevented from storing a set point value that is outside these
limits; if the primary or a user program attempts to store a value outside of the
limits, the PID block clamps it to the appropriate limit and sets the primary's
windup status.
SP contains set point value in engineering units and SPP contains the value in
percent.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
370
R110
February 2014
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a primary PID block
(PIDA.OP) to the set point of a secondary PID block (PIDB.SP), the implicit/hidden
connection is made to PIDA.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single PID
output.
Control initialization
The PID block brings initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one-shot initialization requests to this block.
Note that SECINITOPT may be used to ignore initialization requests from the
secondary.
R110
February 2014
371
Output bias
If the PID block algorithm is configured as Equation E, the output bias (OPBIAS) is
added to the algorithm's Calculated Value (CV) and the result is stored in CV. CV is later
checked against OP limits and, if no limits are exceeded, copied to the output.
If the PID block algorithm is configured as Equation A, B, C, or D, no output bias
(OPBIAS) is applied.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the PID
block is the first initializable block.
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
372
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
R110
February 2014
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
R110
February 2014
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
373
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
OPBIAS.FLOAT
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output will occur, if the primary does not
accept this block's initialization value.
If the PID block has a secondary, its CV range must be the same as the
secondary's input range - if this PID function has a secondary, it brings the
secondary's input range through BACKCALC and sets its CV range to that.
If the PID block has no secondary, CVEUHI and CVEULO must be specified.
Note that this PID block brings the secondary's input range regardless of
SECINITOPT (that is, regardless of whether the secondary's initialization and
override data are used).
OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range - these are user-specified values.
374
OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range - these are user-specified values.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
The operator is prevented from storing an OP value that exceeds these limits.
With direct-control action, an increase in the error (PV - SP) increases the PID
output (CV).
With reverse-control action, an increase in the error (PV - SP) decreases the PID
output (CV).
For example, if SPP = 50% and PVP = 51%, then the error is 1%.
With direct-control action, if PVP changes to 52%, the error increases causing CV to
increase.
With reverse-control action, if PVP changes to 52%, the error increases causing CV
to decrease. .
R110
February 2014
Description
375
Parameter
Normal Ramp Rate
(SPTVNORMRATE)
Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:
If SPTVNORMRATE is a value other than zero or NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Deviation
(SPTVDEVMAX)
You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the PID Loop Point Detail display in Station.
Parameter
376
Description
R110
February 2014
Parameter
SPTV
Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME).
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PID
SPTVRATE
zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
If you change the SPTVNORMRATE, this block
R110
February 2014
377
Parameter
0SPTVSTATE
Description
SP target value state. The possible states are:
Off,
Preset, or
Run
decreases.
When SPTVTIME reaches zero, SP equals SPTV and the
SPTVSTATE goes to Off.
R110
February 2014
Callout
Description
Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.
You can only set a value for SPTV and SPTVTIME, when:
SPTVSTATE is Off or Preset, and
Mode is Auto or Manual.
ATTENTION
PV tracking
The PV Tracking option sets SP equal to PV when a cascade is broken due either to
function block initialization or operator or program action (such as, setting the mode to
Manual).
You select the Enable PV Tracking selection on the block configuration form to enable
the function (PVTRAKOPT = Track).
R110
February 2014
379
PID equations
The PID block provides five different equations for calculating the PID - the CTLEQN
parameter is used to specify the desired equation.
Equation A - all three terms (Proportional, Integral, Derivative) act on the error (PV
- SP) as follows:
CV = K * L
380
-1
1+
1
T2S
+
* PVPS - SPPS
T1S 1 + a * T2 S
Equation B - the proportional and integral terms act on the error (PV - SP) and the
derivative term acts on changes in PV as follows:
R110
February 2014
CV = K * L
-1
1+
T2S
1
+
T1 S 1 + a * T2 S
* PVPS - 1 +
1
T1S
* SPPS
This equation is used to eliminate derivative spikes in the control action as a result
of quick changes in SP.
Equation C - the integral term acts on the error (PV - SP) and the proportional and
derivative terms act on changes in PV as follows:
CV = K * L
-1
1+
1
T2S
+
T1S 1 + a * T2 S
* PVPS -
1
* SPPS
T1S
CV = L-1
1
* PVPS - SPPS
T1S
CV = K
Output bias processing adds a fixed bias (user specified) and floating bias
(calculated to provide bumpless transfer after initialization or mode change) to
the unbiased CV.
ATTENTION
To prevent a bump in the output, you must configure the OPBIAS.RATE
parameter for a value (in Engineering Units per minute) other than 0.0
(zero) or NaN (Not a Number) to enable the ramping function for the
floating bias.
R110
February 2014
381
If both options are selected, the unbiased CV is reversed first, and then the fixed
and floating bias are added - neither the bias nor the final CV are reversed
Where:
CV
-1
PV
PVP
PV in percent
La Place operator
SP
SPP
SP in percent
T1
T2
OPBIAS.FIX
OPBIAS.FLOAT
Gain options
If PID equation A, B, or C is selected, any of the following gain equations may be
chosen:
Linear Gain - provides a proportional control action that is equal to a constant (K)
times the error.
382
Gap Gain - used to reduce the sensitivity of the control action when PV is in a userspecified band (gap) around the set point.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Gap size and control action are specified at configuration time through the
following parameters:
KLIN
KMODIFGAP
GAPLOLM
GAPHILM
Nonlinear Gain - provides control action that is proportional to the square of the
error, rather than the error itself.
PV - SP
(PVEUHI - PVEULO)
Where:
KLIN
NLFORM
NLGAIN
External Gain - where, when gain (K) is selected, it is modified by an input value
that can come from either the process, another function block, or a user program.
R110
February 2014
The main use of this option is to compensate for nonlinear process gain - you can
tune the PID gain independently of the normal operating point of the process.
383
= KLIN KMODIFEXT
Where:
KLIN
KMODIFEXT
You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.
Timeout monitoring
If mode is CAScade, the PID block performs timeout monitoring on SP - if a good SP
value is not received within a predefined time (TMOUTTIME), the PID block invokes
timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)
Timeout processing
If mode is CAScade and SP times out, the PID block does the following:
384
R110
February 2014
The PID block sets its cascade request flag (CASREQFL), if SP times out and sheds to
AUTOmatic mode. This indicates that the block is waiting to return to the CAScade
mode, and it will as soon as it brings a good SP value. When it receives a good SP value,
the block does the following:
You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
Direct
(This is the default selection,
so legacy OP values remain
the same.)
R110
February 2014
385
If OUTIND Enumeration
Selection Is . . .
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
386
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
R110
February 2014
Equals This . . .
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
387
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Examples of OUTIND coordination with OPTDIR and CTLACTN parameters
The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a PID block can be used in
conjunction with the Output Direction (OPTDIR) parameter of an AOCHANNEL block
to achieve the desired configuration. The Control Action (CTLACTN) parameter on the
PID block is normally chosen independent of the OUTIND and OPTDIR values, so
CTLACTN is not included in the examples.
For This Scenario . . .
388
R110
February 2014
Windup handling
When a windup condition is reached, the PID block stops calculating the integral term,
but continues to calculate the proportional and derivative term.
R110
February 2014
389
PID block's output exceeds one of the user-specified output limits (OPHILM,
OPLOLM).
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
390
R110
February 2014
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
R110
February 2014
391
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)
Hi
LO
R110
February 2014
ARWOPIN parameters have on the ARWNET and ARWOP parameters, which are not
user configurable.
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
R110
February 2014
393
When the override status changes from selected to unselected, the PID block does the
following:
Recomputes CV:
= (PVP-SPP)
= K * (PVP-SPP)
Offset > 0.0 and the downstream OvrdSel block is a High selector, or
Offset < 0.0 and the downstream OvrdSel block is a Low selector
CV
394
R110
February 2014
PID parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PID block.
R110
February 2014
395
Range control - Processes where range control will be beneficial, such as tank
surge control. In this case, range control constrains the PV within a user
specified range (gap) rather than to a fixed set point
Graphic presentation
Modes
Configurable attributes
Benefits
Key benefits of Profit Loop PKS include:
Benefit
Discussion
Superior
control
Valve life
extension
Single tuning
handle
Uses a single tuning "knob," the performance ratio. If the controller is sluggish
and unresponsive, decreasing the performance ratio will improve
performance. If the controller is oscillatory or operating conditions change
frequently, increasing the performance ratio will slow the controller response
to gain robustness.
Using a single handle as compared to the traditional three mode PID
controller dramatically simplifies retuning of the loop while in service.
396
R110
February 2014
Benefit
Discussion
Integrated tools
Profit Loop PKS includes Profit Loop Assistant, a suite of tools for configuring,
monitoring, and maintaining Profit Loop PKS blocks.
The Profit Loop PKS Assistant is a companion intended to simplify your Profit
Loop PKS configuration activities. With the Assistant, a good understanding
of the math and concepts involved in model predictive control is not required;
the Profit Loop PKS Assistant will aid you in the development of the model.
In addition, the Profit Loop PKS Assistant provides diagnostic tools to assist
with troubleshooting loop performance problems. For example, you can check
for control valve stiction or enter specific tuning parameters for a PID-PL loop.
Efficiency
Profit Controller
Range control
Optimization
When the process is not constrained to a set point, Profit Loop PKS provides
freedom to choose the ultimate resting value for the process. The process
may completely float within the range, or a secondary "optimization" objective
may be imposed to drive the process to an optimal state.
Dual objective
control
The key advantage of optimization over set point control is that the response
of the optimizer and controller can be tuned separately, providing dual
objective control.
Discrete
analysis
R110
February 2014
397
Graphic presentation
The PID-PL block looks like this graphically:
Modes
The PID-PL operates in one of three distinct modes:
398
When CTLEQN is any one of the PID equations (EQA, EQB, and so on) and not
PROFITLOOP, this block behaves as a standard PID control block. (For help on the
this mode, see PID Block in the Reference Data for Functional Block Types,
Regulatory Control Blocks section of this document.)
R110
February 2014
can be applied to set the PV within the range, but specification of this objective is
optional.
The remainder of this discussion concentrates on the latter two operating modes. Where
appropriate, the term "setpoint control" will be applied to the second operating mode,
and "range control" will be applied to the third. These two modes are distinguished by
the setting of the CTRLMODE parameter.
Configurable attributes
Each PID-PL block supports the following user-configurable attributes. The following
table lists the given name of the tab in the parameter configuration form and then
describes the attributes associated with that tab. Several attributes parameters) are
identical to those for the PID block; references are made as appropriate. This information
is also included in Control Builder's on-line context-sensitive Help.
Configuration Tab
Description
Main
All attributes configured on this tab are the same as those for the PID
block. Refer to either the online Help in Control Builder for details, or to
Reference Data for Functional Block Types, Regulatory Control Blocks,
PID Block in this document.
Algorithm
Many attributes configured on this tab are the same as those for the PID
block. Attributes specific to the PID-PL block are as follows:
Control Equation Type (CTLEQN) - For the PID-PL block, the Control
399
Configuration Tab
Description
response to open loop response. Note:
time of greater than 0.1 minute for the desired closed-loop response
time. This is the expected settling time for the control loop, which is
the amount of time required to line out the controller after a setpoint
change or large disturbance.
For non-integration processes, CLOSEDLOOPRESP is the product
of the open loop response time, OPENLOOPRESP, and the
performance ratio, PRFRATIO. For details on non-integrating
processes, see the Performance Ratio entry above.
For details on remaining attributes on this tab, which are the same as
those for the PID block, refer to either the online Help for Control
Builder, or to Reference Data for Functional Block Types, Regulatory
Control Blocks, PID Block in this document.
SetPoint
Many attributes configured on this tab are the same as those for the PID
block. Attributes specific to the PID-PL block are as follows:
SP Range SP High (SPHI) - For PID-PL blocks with a Control Mode
of RANGE, this entry lets you specify the upper range limit, in
Engineering Units. The value must be greater than or equal to SPLO,
and less than SPHILM, that is: SPLO SPHI < SPHILM.
SP Range SP Low (SPLO) - For PID-PL blocks with a Control Mode
400
R110
February 2014
Configuration Tab
Description
(SPLORAMPRATE) - For PID-PL blocks with a Control Mode of
RANGE, enter the ramp rate to be applied to external (operator or
program) changes in the lower control limit, SPLO. The rate must be
greater than 0 and expressed in Engineering Units/minute.
When the active low limit, SPLOACTIVE, is below the operator-set
value (SPLO), the active limit ramps toward SPLO at the rate
specified here.
Setting this rate to NaN disables ramping.
ProfitLoop Range Control Ramping, SPHI Ramp Rate
Many attributes configured on this tab are the same as those for the PID
block. The attribute specific to the PID-PL block is as follows:
Valve Travel Reduction (VALVETRAVELRDCT) - Allows you to select
the level of noise filtering to be applied to model bias. Possible
selections are:
NORMAL: Apply no additional noise filtering.
MODERATE: Apply some additional filtering.
FULL: Apply maximum additional filtering.
Reducing the noise level leads to a reduction in valve travel with fewer
valve reversals. There is little impact on the responsiveness of the
control algorithm to fast disturbances.
This filter complements the PV filter on the data acquisition block.
For details on remaining attributes on this tab, which are the same as
R110
February 2014
401
Configuration Tab
Description
those for the PID block, refer to either the online Help for Control
Builder, or to Reference Data for Functional Block Types, Regulatory
Control Blocks, PID Block in this document.
Advanced
This tab is used for configuring the process model for your Profit Loop
PKS controller. This is manual entry of a model in Laplace form. In
addition, optimization, PV, and OP settings can be made, as detailed in
the following discussions.
Advanced,
Model area
The entries in this area of the Advanced tab allow you to define the
transfer function model of process dynamics to be used in the control of
your process. Use this form if you have a good understanding of the
math and concepts involved in model predictive control and you do not
wish to use the Profit Loop PKS Assistant.
Entries or changes in this area are treated differently, depending on
whether you are working in Project view or Monitoring view:
For Project mode: If entries or changes are made in the Model area,
area , they are displayed, but the function block is not updated until
the Update Model command is selected.
Attributes and actions possible on this tab should be considered.
Attributes include the following:
Transfer Function # of Numerator Coefficients - The number of
R110
February 2014
Configuration Tab
Description
the Laplace transfer function model of the process. D[1] is the
coefficient preceding the s 0 (constant) term, while D[5] is the
coefficient preceding the s 4 term.
Process Gain - A nonzero value, for the gain associated with the
process gain:
Actions that can be taken on this tab, related to the definition of your
model, include:
Update Model - (UPDATEMODEL) - The model defined in the PID-
403
Configuration Tab
Description
tools to help you with the model definition process.
IMPORTANT! If you have a defined model in the Control Builder,
PID-PL configuration form (Advanced tab), and you use the Profit
Loop PKS Assistant to redefine the model, then download the model
from the Assistant to the controller, the models will be different. As
with other types of changes to the controller, you can upload the
controller configuration to store the changes in Control Builder's
Monitor-side Engineering Repository Database (ERDB), and then
perform an update to store the changes in the Project-side ERDB.
Refer to the Experion LX Control Building Guide for information on
performing these procedures.
Advanced,
Optimization area
Algorithm form), you can allow the process to completely float within
the range, or you may impose a secondary "optimization" objective to
drive the process to an optimal state. Allowing the process to float
within the range may be acceptable for dynamic control, but it may
not be suitable for planning and long-term operations. The desired
optimization modes are:
NONE: No optimization.
404
R110
February 2014
Configuration Tab
Description
(SP).
Optimizer Speed - Dictates how fast the optimizer drives the process
Where:
CLOSEDLOOPRESP = Closed-loop response time
OPTSPEED = Optimization speed
OPTRESP = Settling time associated with changes induced
through optimization
405
Configuration Tab
Description
406
R110
February 2014
Configuration Tab
Description
The impact of this offset depends on the selected Optimizer
Mode.
Advanced,
PV Configuration
area
every execution period. Select this setting when the sensor involved
generates a continuously updated signal, such as a thermocouple or
strain gauge.
ONPVCHANGE: The PV measurement is updated when the PV
Most attributes configured on this tab are the same as those for the PID
block. Attributes specific to the PID-PL block are as follows:
Predicted PV High - Trip Point (PREDPVHIALM.TP) - For PID-PL
for the corresponding alarm type can be selected, using the following
categories:
R110
February 2014
407
Configuration Tab
Description
Note that the default selection is LOW, and that alarm levels are
prioritized as follows: JOURNAL --> LOW --> HIGH -->
URGENT (highest priority)
408
R110
February 2014
Configuration Tab
Description
annunciated.
Note that the default selection is LOW, and that alarm levels are
prioritized as follows: JOURNAL --> LOW --> HIGH -->
URGENT (highest priority)
For details on remaining attributes on this tab, which are the same as
R110
February 2014
409
Configuration Tab
Description
those for the PID block, refer to either the online Help for Control
Builder, or to Reference Data for Functional Block Types, Regulatory
Control Blocks, PID Block in this document.
SCM
All attributes configured on this tab are the same as those for the PID
block. Refer to either the online Help in Control Builder for details, or to
Reference Data for Functional Block Types, Regulatory Control Blocks,
PID Block in this document.
Identification
Dependencies
Block Pins
Lets you select the available parameters that you want to expose as
input/output pins on the function block graphic in Control Builder.
Configuration
Parameters
Lets you select the available parameters that you want to appear on the
face of the function block in the Project tab in Control Builder.
Monitoring
Parameters
Lets you select the available parameters that you want to appear on the
face of the function block in the Monitoring tab in Control Builder.
Block Preferences
Template Defining
Insertion Type
Lets you include an insertion type from a CAB instances in the block.
See CAB insertion configuration considerations for regulatory control
blocks for more information
Function
The Profit Loop PKS control algorithm belongs to a class of controllers known as
"model predictive control." These controllers rely on a dynamic model to predict future
movement in the process variable. If this predicted PV does not meet the control
objectives (maintain at current setpoint), control action is taken to realign the PV with its
objectives. In contrast, a PID controller uses past and current error trajectories to restore
the PV to its SP within one control move, regardless of the long-term consequences of
the move.
Additional functional details about Profit Loop PKS are provided in the following
discussions:
410
Model prediction
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Model biasing
Control action
Range control
Optimization
Predictive alarming
Model prediction
The first step in any model predictive control scheme is to predict the future trajectory
for the PV assuming no further movement in the OP. To make these predictions, Profit
Loop PKS uses a dynamic model to relate past OP movement to future PV movement.
Model prediction is shown graphically in the following figure.
In the preceding figure, the white line represents the predicted future PV trajectory. (This
is the line in the upper right quadrant of the graph.)
R110
February 2014
411
For Profit Loop PKS, the dynamic model is entered as a Laplace transfer function of the
form:
where
G is the process gain;
T is the deadtime;
n and
PID-PL buffers user entered model changes to prevent partial updating of the model.
Model changes are not accepted on a running function block until the UPDATEMODEL
flag has been set. This flag will automatically clear on completion of the update.
If you decide to abort the model update, the RESETMODEL flag can be set. This flag
resets the user interface to the active model and clears itself.
Model biasing
In practice, there will always be a mismatch between the model prediction and the real
process measurement. This difference can be attributed to a number of sources:
inaccuracy of the model, measurement noise, external process disturbances, etc. If the
model does not correct for this difference, the model prediction will slowly wander from
the actual PV and the function block's integral action is lost.
To account for the mismatch, Profit Loop PKS compares its PV prediction for the current
time to the current process measurement. The difference between these values is referred
to as the bias and is added to the future PV trajectory.
412
R110
February 2014
In practice, the above bias is susceptible to high frequency signal noise, which could
ultimately lead to excessive control action. To eliminate the noise effect, Profit Loop
filters the raw bias applying the filtered value to future PV trajectories.
For especially noisy measurements, Profit Loop PKS employs a proprietary noise
reduction filter to the bias. Unlike a simple PV filter, this filter eliminates measurement
noise but reacts quickly to persistent external disturbances.
MODELPV is the value the current model prediction without any biasing. Under normal
circumstances changes in the unbiased model prediction should track actual process
changes (both in magnitude and time). If there is a significant difference between the
responses, the process model should be updated using the Profit Loop Assistant tools.
To simplify model validation, a reset bias button is available on the detailed displays.
This button sets MODELPV equal to the current PV, for easy monitoring of further
changes in their values.
Control action
Once a future trajectory has been calculated, control action is implemented to force this
process trajectory toward its control objective. Typically, this involves the calculation of
the control actions necessary to bring the process variable to its setpoint over the course
of the trajectory. Alternatively, the controller minimizes future errors.
R110
February 2014
413
e1 e2 e3 e4 e5 e6
Past
Current
Future
While the exact calculation of the control action is too complicated for this document, it
involves the inversion of the process model thus relating error to control action. If the
error is zero (the control objective is met), no further control action is required in this
execution cycle, and the OP is unchanged.
When minimizing future errors, there are several ways to define optimality. For instance,
one algorithm may weight more heavily the initial errors, a second the final error, and a
third equally weight all errors. Using different optimality criteria leads to different
solutions.
Profit Loop PKS focuses on the later part of the trajectory from the closed-loop response
time onward. It then determines the minimum control action necessary to bring the
process variable to its setpoint (and keep it there) before the user-specified closed-loop
response time. Because this algorithm uses the minimum energy to meet its control
objective, it is more robust to inaccuracies in the model than other model predictive
control algorithms.
414
R110
February 2014
e1 e2 e3 e4 e5 e6
Past
Current
Future
To tune the function block, you must specify the closed-loop response time. To make
tuning simpler, this response time is normalized by the open loop response time, and the
ratio of the response times, the performance ratio is entered. A performance ratio of 1
indicates that the function block should bring the process to its setpoint value in
approximately open loop response time minutes. This function block action is similar to
the response from a steady-state-only controller.
When the performance ratio is less than 1, more aggressive control is required as the
process is driven to its setpoint faster than its natural (open loop) response. In contrast, a
performance ratio greater than 1 generates laxer control but is more robust to modeling
errors.
When the process is not self-correcting (contains an integrator), the open loop response
time is not defined, and consequently, the use of a performance ratio is meaningless.
Under these circumstances, you enter the closed-loop response time directly, and the
performance ratio is reset to 1.
Range control
With the above algorithm, it is possible to control the PV within a user-entered range
instead of to a hard target (SP). Errors then represent the deviation of the future
trajectory outside of the operating range. If the future trajectory lies inside the operating
range, there is no error.
R110
February 2014
415
Conceptually, Profit Loop's range control option is PID gap control with a gap gain
factor of 0. However, unlike gap control, Profit Loop PKS considers the long-term
process response and not the current process value, applying control action only when
the projected PV trajectory is out of bounds.
The parameters SPHI and SPLO define the operating range for the gap, in the same
engineering units as SP. This block ensures these values do not exceed the absolute SP
range limits, SPHILM and SPLOLM, capping the operating range limit when required.
Furthermore, if the input SP value is outside the range specified by SPHI and SPLO, this
function block clamps SP to the appropriate limit. This additional restriction on SP only
applies when the range control option is selected. Otherwise, the SPHI and SPLO
parameters track the current setpoint, SP.
The user-entered parameter, CTRLMODE, indicates whether Profit Loop PKS controls
within a range, (RANGE), or to a setpoint (SETPOINT). The parameter has no meaning
if PID control is selected.
Optimization
With range control, the steady-state operating conditions are allowed to float (within the
range); there is no unique resting value. While this may be acceptable for dynamic
control, it may not be suitable for planning and long-term operations.
To define the steady-state operations, Profit Loop PKS includes a small optimizer that
allows you to specify the desired steady-state operating conditions. Depending on the
control objectives (as specified by the OPTMODE parameter), you can minimize the
process variable (MINIMIZE), maximize this variable (MAXIMIZE), aim to a userentered target (OPTTARGET), or aim toward a narrower PV range but not to a unique
value (DUALRANGE). Furthermore, you can disable this option completely (NONE).
The rate at which the process approaches steady-state operations is typically slower than
the rate at which dynamic constraints are resolved. This allows Profit Loop PKS to be
configured for two control objectives - quick resolution of dynamic errors with a slower
approach to optimal operations.
The optimization rate is normalized by the closed-loop response time and specified by
the parameter, OPTSPEED:
416
R110
February 2014
When OPTSPEED = 6, the optimizer tries to bring the process to its steady-state value
by the end its control horizon. When OPTSPEED = 3, the optimizer is twice as slow;
when 12, twice as fast. The default value for OPTSPEED is 2.
If the optimizer is allowed to force the process against one of its operating limits, there
will be times when the optimizer overshoots the limit causing dynamic control action in
the opposite direction. If left unchecked, this can lead to process oscillations around the
optimal value.
To circumvent this problem, the optimizer is restricted to a narrower range than the
controller. User specified offsets dictate how narrow the optimization range is. For all
optimization modes except OPTTARGET, Profit Loop PKS calculates the optimization
limits as deviations from the function block high and low operating range (SPHI and
SPLO).
The following figures illustrate how Profit Loop PKS uses optimizer offsets to set high
and low optimization limits.
Optimization target for Minimization
Optimization Target = SPLOLMOPT = SPHILMOPT
Offset
SPLOOPTOFFSET
SPHIOPTOFFSET
R110
February 2014
417
Offset
SPHILMOPT
Target Range
SPLOLMOPT
Offset
SPLOOPTOFFSET
For OPTTARGET optimization, Profit Loop PKS calculates the optimization limits as
deviations from setpoint (SP). Using non-zero optimizer offsets is equivalent to DUAL
RANGE optimization but with the optimization range tracking any setpoint changes. The
following figure illustrates this situation.
Optimization Target for OptTarget
SPHILMOPT
Offset
SPHIOPTOFFSET
Offset
SPLOOPTOFFSET
SETPOINT (SP)
SPLOLMOPT
418
R110
February 2014
Because the gain multiplier is restricted to be greater than 0, the process model gain
never changes direction.
Similar to gain scheduling, the process deadtime can be altered through an external input.
Use this option to compensate for nonlinear process delay changes. Two methods of
deadtime updating are supported:
Configuration examples
Four examples are discussed in the following paragraphs:
R110
February 2014
419
Gain scheduling
Setpoint control
Range control
Discrete analyzer
Gain scheduling
Setpoint control
The following figure and table show a sample configuration that uses a PID-PL block to
form a single control loop set for setpoint control. Note that this configuration is nearly
identical to the single-loop PID configuration.
420
R110
February 2014
Description
Use the PV parameter connection to carry data from the analog input to the
data acquisition block.
Use the data acquisition block to filter and scale the PV input. This block
also maintains several PV alarms.
Use the PID-PL block for control. A separate SP block pin is exposed for
on-line parameter changes. To implement Profit Loop PKS control, the
control equation is set to PROFITLOOP and control mode to SETPOINT.
R110
February 2014
421
Callout
4
Description
Use the OP connection to transfer control block output to analog output.
Range control
The following figure and table show a sample configuration that uses a PID-PL block to
form a single control loop set for range control.
R110
February 2014
Callout
Description
Discrete analyzer
The following figure and table show a sample configuration for interfacing a PID-PL
block to a discrete analyzer. In this example, the analyzer maintains two digital signalsan on-off flag to indicate when the analyzer is in calibration, and a 30-second pulse
signal whenever a new measurement is available.
R110
February 2014
Description
423
Callout
Description
The calibration flag runs directly to the calibration pin on the PID-PL block.
As long as this signal is ON, the analyzer is presumed to be calibrating.
The new sample input is buffered by the FTRIG block before it links to the
new sample pin on the PID-PL block.
FTRIG captures the leading edge of the new sample pulse and sets the
new sample flag on the PID-PL block. The new sample parameter remains
ON for one execution period before it is reset by FTRIG.
Gain scheduling
The following figure and table show a sample configuration that uses gain scheduling
with PID-PL. In this example, the gain of a level controller depends on the level in the
tank. This may occur if the geometry of the tank changes as the level rises and falls.
424
R110
February 2014
Description
R110
February 2014
425
These modes apply regardless of whether the control equation is set for PID control or
Profit Loop PKS.
In addition to the block mode, Profit Loop PKS operates in the following control modes:
If range control is employed, Profit Loop PKS uses the optimization mode to determine
the desired steady-state operating conditions:
Required inputs
The PID-PL block requires two inputs: PV and SP. See Required inputs for the PID
block for details on these inputs.
426
R110
February 2014
For range control, the PID-PL block requires two additional inputs: SPHI and SPLO.
These parameters cannot be initialized. They can be pulled from another block, set
through operator entry, or stored by a user program.
PVEUHI and PVEULO define the engineering unit range for MODELPV, SP,
SPHI, and SPLO.
SPHILM and SPLOLM define the operating limits in engineering units for SPHI,
and SPLO. If a value is entered outside these limits but within the engineering unit
range, this block clamps the value at its appropriate limit. Otherwise, an out of
bounds error is generated.
SPHI and SPLO define the operating limits in engineering units for SP. The operator
is prevented from storing a setpoint value that is outside these limits. If the primary
or a user program attempts to store a value outside of the limits, this block clamps it
to the appropriate limit and sets the primary's windup status.
Initializable outputs
The PID-PL block supports a single initializable output. Like PID, this calculated output
can be either in percent, OP, or in engineering units, OPEU. See Initializable outputs for
the PID block for more details.
Control initialization
The PID-PL block brings initialization requests from its secondary through the hidden
BACKCALC connection. In addition, the secondary may propagate one-shot
initialization requests to this block.
R110
February 2014
427
Output bias
Profit Loop PKS does not support an output bias. For details on the biasing of PID
algorithms, see Output bias for the PID block.
R110
February 2014
over a period of time. The SPHI and SPLO ramp rates are independent and specified
through the parameters, SPHIRAMPRATE and SPLORAMPRATE (engineering units /
min). Entering NaN provides immediate ramping to the new limit, and consequently,
disables this option.
Mathematically, limit ramping can be represented as:
where
SPHIACTIVE and SPLOACTIVE represent the effective range limits at any given
execution period.
SP limit ramping only applies when the operating range becomes more restrictive
(Newly entered SPHI < Current SPHI or newly entered SPLO > Current SPLO).
Otherwise, the range limit change is immediately applied.
When the current range limit is far from its newly entered value, it may take a
considerable amount of time before the active value reaches its new limit. This is an
unnecessary delay if the process is operating well within the new operating range. To
avoid this delay, Profit Loop employs a proprietary algorithm to bring the active value
"close" to the newly entered limit before it starts ramping. This one shot correction
avoids bumping the process, yet applies ramping in a more meaningful fashion.
Furthermore, this feature eliminates problems associated with fat fingering (accidentally
depressing a key twice, e.g. entering 500 instead of 50) a range limit. For example,
consider an SPHI change from 99 to 100. If an operator enters 1000 instead of 100, the
SPHIACTIVE immediately moves to 1000. If the operator re-enters the limit as 100,
there may be a considerable delay before SPHIACTIVE ramps from 1000 back to 100.
One shot correction eliminates most of this delay.
PV tracking
The PV Tracking option sets SP equal to PV when automatic control is disabled (e.g.
cascade is broken, mode is manual). Having SP track PV avoids output bumps when
automatic control is reestablished. See PV tracking for the PID block for
implementation details.
For range control, SPHI and SPLO also track out of range PV values when automatic
control is disabled and PV tracking is enabled. The following rules apply:
R110
February 2014
429
SPHI and SPLO track the current SP (and only indirectly the PV).
PV Calibration
On occasion, one may wish to intentionally disable the PV measurement without
inactivating the control module or placing the function block in MAN. This is most
evident when the PV's sensor is recalibrated and such recalibration causes undesirable
control action. A calibration flag, CALIBRATION, is provided for this purpose.
430
R110
February 2014
Asynchronous PV Inputs
Many specialty process sensors are discontinuous, generating results on an infrequent
basis relative to the control execution period. This is especially true among gas
chromatographs where a new reading is generated every 2-40 minutes.
When these sensors are used in PID control, control error continues to integrate between
sensor updates. This may lead to unnecessary overshoot in the control action and
oscillation in the PV response.
With Profit Loop PKS, the PID-PL block updates only when a new sensor reading is
available. This has the effect of disabling integration between sensor readings
eliminating function block overshoot. Between sensor readings, Profit Loop
Profit Loop uses the parameter PVASYNCOPT to specify when and how a PV is
updated. When PVASYNCOPT set to:
Note: Avoid this setting if noise alters the PV value between analyzer updates.
External Sync - PV bias is updated when an external flag indicates a new analyzer
reading. This external flag should be connected to the Boolean parameter,
NEWSAMPLE.
ATTENTION
R110
February 2014
Logic blocks should be employed to set and reset the NEWSAMPLE flag.
It is the users responsibility to design and construct the appropriate logic.
431
Control Equations
The PID-PL block supports the standard 5 PID equations (EqA through EqE) found on a
PID block as well as the Profit Loop equation. You specify which equation to use
through the CTLEQN parameter.
To provide expansion for future PID type equations, the Profit Loop option is shown at
the bottom of the CTLEQN list after options EqF and EqG. EqF and EqG are provided
for possible future expansion of the PID equation set. If you select either of these
options, an error message is displayed indicating an invalid entry.
With standard PID-type function blocks, the control equation can only be altered while
the control module is inactive, preventing algorithm initialization errors. This
requirement is too restrictive for Profit Loop, which maintains a running initialization
value regardless of the mode of operation. Consequently, PID-PL supports the hot swap
from a PID equation to Profit Loop on an active control module. Hot swapping is
supported in one direction only; to revert back to PID control, user must first inactive the
control module.
For more information on PID equations, see PID equations for the PID block.
432
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
R110
February 2014
If OUTIND Enumeration
Selection Is . . .
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
R110
February 2014
433
Equals This . . .
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
R110
February 2014
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Examples of OUTIND coordination with OPTDIR and CTLACTN parameters
The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a PID block can be used in
conjunction with the Output Direction (OPTDIR) parameter of an AOCHANNEL block
to achieve the desired configuration. The Control Action (CTLACTN) parameter on the
PID block is normally chosen independent of the OUTIND and OPTDIR values, so
CTLACTN is not included in the examples.
For This Scenario . . .
Fail close valve; air to open - normal
case
R110
February 2014
435
436
R110
February 2014
You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.
Timeout monitoring
The PID-PL block monitors for communication timeouts between primary and secondary
controllers of a cascade pair. This block uses the same methodology as the PID block.
See Timeout monitoring for the PID block for implementation details.
Windup handling
Profit Loop PKS maintains integral action by updating a bias between its model
prediction and the current process measurement, PV. If the function block is in windup,
the input to the process model may not represent what was actually implemented by the
control loop - causing an additional bias.
To prevent this additional bias, Profit Loop PKS actively unwinds a secondary control
module in windup. To do this, the primary's OP is slowly moved in the direction to
relieve windup. When the primary reaches this value, the secondary function block will
be at the edge of its windup condition - oscillating in and out of windup.
To force the OP to unwind and to prevent OP moves that exacerbate windup, Profit Loop
temporarily adjusts its internal OP operating limits. These adjusted limits are displayed in
the OPHIACTIVE and OPLOACTIVE parameters. Ordinarily, these limits are identical
to the OPHILM and OPLOLM, respectively.
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
437
Hi
Lo
R110
February 2014
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
R110
February 2014
439
440
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
R110
February 2014
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
PID-PL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PID-PL block.
R110
February 2014
441
The PIDER block accepts five analog inputs - a process variable (PV), a set point (SP), a
reset feedback value (RFB), a tracking value (TRFB), and a tracking control switch (S1).
The difference between PV and SP is the error and this block calculates a control output
(OP) that should drive the error to zero.
The reset feedback (RFB) signal comes from the remote controller's PV, and the tracking
value (TRFB) comes from its PV or SP. By monitoring the remote controller's PV and
SP, the PIDER block can determine if the remote controller is responding. If the remote
controller is not responding, it can prevent its own output from winding up.
The tracking control switch (S1) determines the output of the PIDER block. The S1
parameter is usually stored through an output connection from another function block, or
by a user program. When S1 is Off, the PID control value output (CVPID) is combined
with the reset feedback (RFB) value to obtain the control value (CV); and when it is On,
CV is set equal to the tracking value (TRFB).
442
R110
February 2014
Proportional and Integral (PI) on the error and Derivative (D) on changes in PV
Integral (I) on the error and Proportional and Derivative (PD) on changes in PV
The PIDER block may be used in a single control loop or with multiple PIDs in a
cascade strategy.
Configuration example
The following illustration shows a PIDER block configured in a cascade control strategy.
R110
February 2014
443
R110
February 2014
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
R110
February 2014
NOSHED - No changes.
445
Configuration Tab
Description
extended low limit (OPEXLOLM) value.
R110
February 2014
Configuration Tab
Description
enforce the MODE assignment. For example, if the
MODE is CAScade and the block is getting its SP from
another block, an operator is prevented from overwriting
the SP value. However, If there is a breakdown in the
cascade loop, the MODE can be changed so an operator
can write a value to the SP. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.
447
Configuration Tab
Description
interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify
R110
February 2014
Configuration Tab
Description
clamped to this limit. The default value is 0.
Gain Options (GAINOPT) - Lets you select the type of
Overall Gain (K) - Lets you set the overall gain value
449
Configuration Tab
Description
PV input is within the user specified band (GAPLOLM GAPHILM) around the SP. The value range is 0.0 to 1.0.
Linear Gain Factor (KLIN) - Lets you specify the value to
default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value
for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value
for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired
R110
February 2014
Configuration Tab
Description
within a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in
451
Configuration Tab
Description
Enable SP Ramping (SPTVOPT) - Lets you specify if an
R110
February 2014
Configuration Tab
Description
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify
453
Configuration Tab
Description
CVEU Range High (CVEUHI) -Lets you specify the high
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
Configuration Tab
Description
or Disabled for Advisory Deviation and checked or Yes
(enabled) for Safety Interlock.
You can also configure the ADVDEVOPT and
SIALM.OPT parameters as a block pins, configuration
and/or monitoring parameters so they appear on the
block in the Project and Monitoring tree views,
respectively.
Trip Point - Lets you specify the following trip points for
455
Configuration Tab
Description
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Time (ALMTM) - Lets you specify a time in
None
ONESHOT
SEMICONT
CONTRTN
CONT
456
R110
February 2014
Configuration Tab
Description
block is to take when the SCM goes into an abnormal
state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:
NONE - No changes.
R110
February 2014
457
Configuration Tab
Description
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
Function
The PIDER block requires five inputs -- PV, SP, RFB, TRFB and S1. RFB is the reset
feedback value, TRFB is the tracking value, and S1 is a tracking control switch (a
Boolean input). S1 indicates whether the PID output should be combined with the RFB
or replaced by TRFB.
458
RFB signal comes from the remote (foreign) controller's PV, and the tracking value
comes from its PV or SP. If the PIDER block is used for external tracking features
only, this input is not required. You cannot store a value to this parameter.
TRFB is pulled from another function block. You cannot store a value to this
parameter.
R110
February 2014
(RFB) value to obtain the control value (CV); and when it is On, CV is set equal to
the tracking value (TRFB).
A PIDER also has the following optional inputs. Typically, these are flags which may be
stored by the operator or user program to change the normal operation of the PIDER.
If ESWAUTO = On, the external source wants to change the Mode to Auto.
If ESWCAS = On, the external source wants to change the Mode to Cascade.
If ESWMAN = On, the external source wants to change the Mode to Manual.
If SI = On, the external source wants to invoke the PIDER's safety interlock
logic.
The secondary builds BACKCALCIN when it receives a read request from the
primary. This way, BACKCALCIN is guaranteed to contain the most current status.
MAN (MANual)
AUTO (AUTOmatic)
R110
February 2014
459
CAS (CAScade)
Required inputs
The required number of inputs is determined by the mode of the PIDER block.
If Mode is CAScade, five inputs are required - PV, SP, RFB, TRFB and S1.
The PIDER block may have one primary or none, depending on whether SP is
configured or not; there is one primary per initializable input.
RFB and TRFB must be pulled from another block, you cannot store to them.
The RFB input is optional. If the PIDER block is used for external tracking
features only, the RFB input is not required.
460
PVEUHI and PVEULO also define the engineering unit range of SP - PV and SP
are assumed to have the same range.
R110
February 2014
The PIDER block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from a data acquisition (DATAACQ) block
which applies its own limit and range check.
SPHILM and SPLOLM define set point operating limits in engineering units.
The operator is prevented from storing a set point value that is outside these
limits; if the primary or a user program attempts to store a value outside of the
limits, the PIDER block clamps it to the appropriate limit and sets the primary's
windup status.
SP contains set point value in engineering units and SPP contains the value in
percent.
The RFB and TRFB values typically come from a remote controller. The PIDER
block applies no range check for these parameters.
The S1 input is a Boolean flag and the values are only On and Off.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
ATTENTION
The PIDER block does not support output initialization, and therefore cannot
have a secondary. Initialization only occurs when the tracking control switch
(S1) is On.
R110
February 2014
461
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single PID
output.
Control initialization
The PIDER block does not perform normal initialization and windup processing
associated with secondaries. Initialization occurs when the tracking control switch (S1) is
On.
This block provides the same initialization data to its primary as the normal PID block
Note that SECINITOPT may be used to ignore initialization requests from the
secondary.
Output bias
If the PIDER block algorithm is configured as Equation A, B, C, or D, no output bias
(OPBIAS) is applied.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the
PIDER block is the first initializable block.
462
When the function block initializes (for example, the secondary requests
initialization).
R110
February 2014
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
R110
February 2014
463
OPBIAS.FLOAT will be zero. However, if the primary does not accept this block's
initialization request because the primary is a FANOUT block or it was configured
to ignore initialization, then OPBIAS.FLOAT value will not be zero.
If OPBIAS.FLOAT is not zero, you can configure it to ramp down to zero through
the OPBIAS.RATE parameter.
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
OPBIAS.FLOAT
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output will occur, if the primary does not
accept this block's initialization value.
464
CVEUHI and CVEULO must be specified by the user. The specified values must
match the engineering units (EU) range of the RFB and TRFB signals, which
are the range of the remote (foreign) controller or secondary.
R110
February 2014
OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range - these are user-specified values.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range - these are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
With direct-control action, an increase in the error (PV - SP) increases the PIDER
output (CV).
With reverse-control action, an increase in the error (PV - SP) decreases the PIDER
output (CV).
For example, if SPP = 50% and PVP = 51%, then the error is 1%.
With direct-control action, if PVP changes to 52%, the error increases causing CV to
increase.
With reverse-control action, if PVP changes to 52%, the error increases causing CV
to decrease. .
R110
February 2014
465
Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:
466
R110
February 2014
Parameter
Max. Ramp Deviation
(SPTVDEVMAX)
Description
Lets you specify a maximum deviation in engineering units
per minute allowed between PV and SP during ramping.
The value can be NaN or greater than zero. If value is
NaN, it means no ramp deviation checking is done.
If the maximum ramp deviation value is other than NaN,
SP ramping stops when the absolute value of the
deviation (|PV - SP|) exceeds the maximum deviation. The
deviation flag (SPTVDEVFL) is set, and SP ramping state
(SPTVSTATE) remains in Run. Ramping resumes as
soon as the absolute value of the deviation returns within
the maximum deviation limit. This also resets the deviation
flag (SPTVDEVFL).
If you have entered a ramp time (SPTVTIME) and ramping
is interrupted by maximum ramp deviation, the actual
ramp time (SPTVTIME) will be greater than the time you
specified.
You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the PID Loop Point Detail display in Station.
Parameter
SPTV
Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME).
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PIDER
detail display in Station.
SPTVDEVFL
R110
February 2014
467
Parameter
SPTVRATE
Description
SP target value ramp rate. This rate is calculated as shown
above for the SPTVNORMRATE and as follows:
If you specify a ramp time (SPTVTIME) value other than
zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
If you change the SPTVNORMRATE, this block
SPTVSTATE
decreases.
When SPTVTIME reaches zero, SP equals SPTV and the
SPTVSTATE goes to Off.
468
R110
February 2014
Description
Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.
R110
February 2014
469
Callout
Description
You can only set a value for SPTV and SPTVTIME, when:
SPTVSTATE is Off or Preset, and
Mode is Auto or Manual.
ATTENTION
PV tracking
The PV Tracking option sets SP equal to PV when a cascade is broken due either to
function block initialization or operator or program action (such as, setting the mode to
Manual).
You select the Enable PV Tracking selection on the block configuration form to enable
the function (PVTRAKOPT = Track).
Typically, PV tracking is configured for PID blocks in a cascade configuration strategy.
This allows the PIDs to resume control with no error after initialization or when they are
taken out of Manual mode.
If PV tracking is configured, the block sets SP equal to PV (subject to SP limits) when
either of the following conditions exist:
470
R110
February 2014
ATTENTION
PID equations
The PIDER block provides four different equations for calculating the PID - the
CTLEQN parameter is used to specify the desired equation.
Equation A - all three terms (Proportional, Integral, Derivative) act on the error
(PV - SP) as follows:
CV = K * L
-1
1+
1
T2S
+
* PVPS - SPPS
T1S 1 + a * T2 S
Equation B - the proportional and integral terms act on the error (PV - SP) and the
derivative term acts on changes in PV as follows:
CV = K * L
-1
1+
T2S
1
+
T1 S 1 + a * T2 S
* PVPS - 1 +
1
T1S
* SPPS
This equation is used to eliminate derivative spikes in the control action as a result
of quick changes in SP.
Equation C - the integral term acts on the error (PV - SP) and the proportional and
derivative terms act on changes in PV as follows:
CV = K * L
R110
February 2014
-1
1+
1
T2S
+
T1S 1 + a * T2 S
* PVPS -
1
* SPPS
T1S
471
CV = L-1
1
* PVPS - SPPS
T1S
ATTENTION
To prevent a bump in the output, you must configure the OPBIAS.RATE
parameter for a value (in Engineering Units per minute) other than 0.0
(zero) or NaN (Not a Number) to enable the ramping function for the
floating bias.
If both options are selected, the unbiased CV is reversed first, and then the fixed
and floating bias are added - neither the bias nor the final CV are reversed
Where:
472
CV
-1
PV
PVP
PV in percent
La Place operator
SP
SPP
SP in percent
T1
T2
R110
February 2014
If the tracking switch (S1) is On, the PIDER block forces CV to track the tracking value
(TRFB) input as follows:
Where:
R110
February 2014
CV
CVPID
473
K1
-1
RFB
rfb
La Place operator
S1
TRFB
T1
Gain options
If equation A, B, or C is selected, any of the following gain equations may be chosen:
Linear Gain - provides a proportional control action that is equal to a constant (K)
times the error.
Gap Gain - used to reduce the sensitivity of the control action when PV is in a userspecified band (gap) around the set point.
474
Gap size and control action are specified at configuration time through the
following parameters:
KLIN
KMODIFGAP
GAPLOLM
R110
February 2014
GAPHILM
Nonlinear Gain - provides control action that is proportional to the square of the
error, rather than the error itself.
PV - SP
(PVEUHI - PVEULO)
Where:
KLIN
NLFORM
NLGAIN
External Gain - where, when gain (K) is selected, it is modified by an input value
that can come from either the process, another function block, or a user program.
The main use of this option is to compensate for nonlinear process gain - you can
tune the PID gain independently of the normal operating point of the process.
R110
February 2014
= KLIN KMODIFEXT
475
Where:
KLIN
KMODIFEXT
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse1
DirectDispInd
ReverseDisplnd
The PIDER block does not support the Reverse option selection.
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
476
R110
February 2014
R110
February 2014
477
You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.
Timeout monitoring
If mode is CAScade, the block performs timeout monitoring on SP - if a good SP value
is not received within a predefined time, the block invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)
478
R110
February 2014
Timeout processing
If mode is CAScade and SP times out, the block does the following:
The block sets its cascade request flag (CASREQFL), if SP times out and sheds to
AUTOmatic mode. This indicates that the block is waiting to return to the CAScade
mode, and it will as soon as it brings a good SP value. When it receives a good SP value,
the block does the following:
You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL. This allows you to disable the automatic return to Cascade mode.
The block only sets CASREQFL if the original mode was Cascade, the SP input
times-out, and TMOUTMODE = AUTO.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
Windup handling
When a windup condition is reached, the block stops calculating the integral term, but
continues to calculate the proportional and derivative term.
R110
February 2014
479
PID block's output exceeds one of the user-specified output limits (OPHILM,
OPLOLM).
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
480
R110
February 2014
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
R110
February 2014
481
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)
Hi
LO
R110
February 2014
ARWOPIN parameters have on the ARWNET and ARWOP parameters, which are not
user configurable.
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
If the tracking control switch (S1) is Off and the reset feedback value (RFB) is bad,
this block sets CV to NaN (Bad).
R110
February 2014
When the RFB returns to good, CV is initialized, and the dynamic PID terms
are returned to steady-state.
Experion LX Control Builder Components Theory
Honeywell
483
If S1 is On and the tracking value (TRFB) is bad, the block sets CV to NaN (Bad).
When the TRFB returns to good, CV is initialized, and the dynamic PID terms
are returned to steady- state. If configured, an initialization request is sent to the
primary.
PIDER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PIDER block.
The PIDFF block has three analog inputs - a process variable (PV), a set point (SP), and
a feedforward signal (FF). The difference between PV and SP is the error and this block
calculates a control output (OP) that should drive the error to zero. The feedforward
484
R110
February 2014
signal (FF) is included in the calculation of the PID's incremental output before the full
value output is accumulated.
The following equations are supported:
Proportional and Integral (PI) on the error and Derivative (D) on changes in PV
Integral (I) on the error and Proportional and Derivative (PD) on changes in PV
The PIDFF block may be used to provide feedforward response in a typical PID control
loop application. The following figure shows a PID with feedforward controller being
used with a lead/lag relay to provide dynamic feedforward control for a feed flow
application. In this case, the basic idea is to measure the feed flow variations and
feedforward this information to the appropriate control valve before the closed-loop
system senses that the disturbance has arrived.
The lead/lag relay adds a dynamic or time variable in the feedforward circuit. It can
either advance or delay a signal going through it. The "leads" and "lags" are adjustable so
that a signal going in comes out varying in time over a broad range of shapes.
You can easily configure this control strategy in Control Builder using the PIDFF block
in conjunction with IOCHANNEL and Auxiliary type function blocks, which include
DEADTIME and LEADLAG blocks.
R110
February 2014
485
3-Mode
Only
Uncontrolled
FF
PV
SP
Lead-Lag
Relay
P1
PV
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
486
R110
February 2014
Configuration Tab
Description
string of up to 16 characters to identify the variable
values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the
R110
February 2014
NOSHED - No changes.
487
Configuration Tab
Description
The default selection is SHEDHOLD.
The block requests its primary to initialize after a
mode shed or lets the primary know that it is
woundup, if it does shed its mode. An operator can
change the block's mode after it is shed, but, the
operator must first set PVMANOPT to NOSHED,
so the mode doesn't shed again.
When PVSTS returns to normal, the block clears its
primary initialization request but remains in MANual
mode after a mode shed. An operator must return
the block to its normal mode. If mode was not shed,
the block clears its windup condition and does a
one-shot initialization. It also requests the primary
to do a one-shot initialization.
Normal Mode (NORMMODE) - Lets you specify the
R110
February 2014
Configuration Tab
Description
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.
489
Configuration Tab
Description
Bad Output Connection Option (BADOCOPT) Lets you
R110
February 2014
Configuration Tab
Description
High Gain Limit (GAINHILM) - Lets you set a high limit
Overall Gain (K) - Lets you set the overall gain value
491
Configuration Tab
Description
Gap Low Limit (GAPLOLM) - Lets you define the low
492
R110
February 2014
Configuration Tab
Description
the feedforward input. The default setting is 0.
SetPoint
default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value
for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit (SPLOLM) - Lets you specify a low limit value
for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired
493
Configuration Tab
Description
deviation alarm.
Enable PV Tracking (PVTRAKOPT) - Lets you specify if
R110
February 2014
Configuration Tab
Description
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output
495
Configuration Tab
Description
Minimum Change (%) (OPMINCHG) - Lets you specify
R110
February 2014
Configuration Tab
Description
types are:
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
497
Configuration Tab
Description
on the Alarm Summary display.
498
R110
February 2014
Configuration Tab
Description
specify if an alarm is to be notified in the alarm summary
whenever a mode shed happens in the event of an IO
communication loss. The selections are:
None
ONESHOT
SEMICONT
CONTRTN
CONT
499
Configuration Tab
Description
NONE - No changes.
500
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
R110
February 2014
Function
A PIDFF requires up to three inputs - a process variable (PV), a set point (SP), and a
feedforward (FF):
SP is pulled from another function block, or you can store a value to it or use a value
from a user program.
If SP is pulled from a primary, the PIDFF's Mode must be Cascade; and if you store
a value or use a user program, Mode must be Manual or Automatic. If Mode is
Cascade, the PIDFF must perform timeout checking on SP (to make sure the primary
is periodically updating it). The SP is an initializable input.
A PIDFF also has the following optional inputs. Typically, these are flags, which may be
stored by the operator or user program to change the normal operation of the PID.
If ESWAUTO = On, the external source wants to change the Mode to Auto.
If ESWCAS = On, the external source wants to change the Mode to Cascade.
If ESWMAN = On, the external source wants to change the Mode to Manual.
If SI = On, the external source wants to invoke the PIDFF's safety interlock
logic.
R110
February 2014
501
The secondary builds BACKCALCIN when it receives a read request from the
primary. This way, BACKCALCIN is guaranteed to contain the most current status.
Functional scenario
This scenario is based on the functional block diagram of a typical feedforward loop
shown in the following figure and it assumes the following:
PIDFF pulls FF from the LEADLAG function block as shown in the following
figure.
The PV, FF, and OP connections are all good which means there are no
communication errors or timeouts.
PIDFF1
PV FF OP
PV
AOCHANNEL
OP
AICHANNEL
PV
LEADLAG
P1
PV
R110
February 2014
The functional steps associated with this PIDFF operating scenario are listed in the
following table.
Step
Action
The Operator provides a value to the PIDFF1 SP variable (before the PIDFF1
executes).
The PIDFF1 checks PVSOURCE and decides whether or not to fetch PV. If
PVSOURCE = Auto, it brings PV from the DATAACQ; otherwise, it simply
uses the current value of PV.
The PIDFF1 performs limit checking and alarming (if required) on OP.
10
MAN (MANual)
AUTO (AUTOmatic)
R110
February 2014
503
CAS (CAScade)
Required inputs
The PIDFF block requires both PV and FF inputs to provide its feedforward function.
The PV and FF inputs must be pulled from other blocks; you cannot store to them.
Typically, they are connected to the output of an auxiliary or data acquisition
(DATAACQ) block.
The SP input is not required, since it does not have to be pulled from another function
block.
If Mode is CAScade and the SP is pulled from another function block, it receives its
value from an upstream primary and it is an initializable input.
If Mode is CAScade and the SP is not connected to another function block, the
value of the SP is frozen at the last acquired value.
The PIDFF block may have one primary or none, depending on whether SP is pulled
from another block or not; there is one primary per initializable input.
504
PVEUHI and PVEULO also define the engineering unit range of SP - PV and SP
are assumed to have the same range.
The PIDFF block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from a data acquisition (DATAACQ) block
which applies its own limit and range check.
SPHILM and SPLOLM define set point operating limits in engineering units.
R110
February 2014
The operator is prevented from storing a set point value that is outside these
limits; if the primary or a user program attempts to store a value outside of the
limits, the PID block clamps it to the appropriate limit and sets the primary's
windup status.
SP contains set point value in engineering units and SPP contains the value in
percent.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a PIDFF block to a PID block or an
AOCHANNEL block, Control Builder automatically creates the BACKCALCOUT to
BACKCALCIN connection.
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a primary PID block
(PIDA.OP) to the set point of a secondary PID block (PIDB.SP), the implicit/hidden
connection is made to PIDA.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single PID
output.
R110
February 2014
505
Control initialization
The PIDFF block brings initialization requests from its secondary through BACKCALC.
In addition, the secondary may propagate one-shot initialization requests to this block.
Note that SECINITOPT may be used to ignore initialization requests from the
secondary.
Output bias
If the PIDFF block algorithm is configured as Equation E, the output bias (OPBIAS) is
added to the algorithm's Calculated Value (CV) and the result is stored in CV. CV is later
checked against OP limits and, if no limits are exceeded, copied to the output.
If the PIDFF block algorithm is configured as Equation A, B, C, or D, no output bias
(OPBIAS) is applied.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the
PIDFF block is the first initializable block.
506
When the function block initializes (for example, the secondary requests
initialization).
R110
February 2014
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
R110
February 2014
507
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
OPBIAS.FLOAT = OPBIAS.FLOAT - (OPBIAS.RATE / cycles_per_Min)
Where:
cycles_per_min = number of times the function block executes per
minute (calculated)
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output will occur, if the primary does not
accept this block's initialization value.
508
If the PIDFF block has a secondary, its CV range must be the same as the
secondary's input range - if this PIDFF function has a secondary, it brings the
secondary's input range through BACKCALC and sets its CV range to that.
If the PIDFF block has no secondary, you can configure the CVEUHI and
CVEULO values. The default values are 100 and 0, respectively.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range - these are user-specified values.
Note that this PIDFF block brings the secondary's input range regardless of
SECINITOPT (that is, regardless of whether the secondary's initialization and
override data are used).
OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range - these are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
With direct-control action, an increase in the error (PV - SP) increases the PID
output (CV).
With reverse-control action, an increase in the error (PV - SP) decreases the PID
output (CV).
For example, if SPP = 50% and PVP = 51%, then the error is 1%.
With direct-control action, if PVP changes to 52%, the error increases causing CV to
increase.
With reverse-control action, if PVP changes to 52%, the error increases causing CV
to decrease. .
R110
February 2014
509
Parameter
Normal Ramp Rate
(SPTVNORMRATE)
Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:
If SPTVNORMRATE is a value other than zero or NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Deviation
(SPTVDEVMAX)
You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the PID Loop Point Detail display in Station.
Parameter
510
Description
R110
February 2014
Parameter
SPTV
Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME).
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PID
SPTVRATE
zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
If you change the SPTVNORMRATE, this block
R110
February 2014
511
Parameter
SPTVSTATE
Description
SP target value state. The possible states are:
Off,
Preset, or
Run
decreases.
When SPTVTIME reaches zero, SP equals SPTV and the
SPTVSTATE goes to Off.
512
R110
February 2014
Callout
Description
Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.
You can only set a value for SPTV and SPTVTIME, when:
SPTVSTATE is Off or Preset, and
Mode is Auto or Manual.
ATTENTION
PV tracking
The PV tracking option sets SP equal to PV when a cascade is broken due either to
function block initialization or operator or program action (such as, setting the mode to
Manual).
PV tracking is configured by setting PVTRAKOPT = Track.
R110
February 2014
513
(FFn - FFn-1 )
514
R110
February 2014
FFn
(The CVn is computed based on equation E using SP and PV and includes the
OPBIAS terms.)
FFLGV
(The CVn is computed based on equation E using SP and PV and includes the
OPBIAS terms. This ensures that there is no "bump" in the output, when the
feedforward input goes from good to bad.)
(KFF
FFn + BFF)
(KFF
FFLGV + BFF)
(Note: FFLGV is initialized to 1.0. Therefore, if FFn is Bad from the start, then:
CV = CVPID
(KFF + BFF)
If FFn is okay but the status of FF n-1 is Bad, then CV is kept as is (to prevent a
bump) and CVPID is back-calculated as follows:
CVPID = CV / (KFF
FFn + BFF)
R110
February 2014
515
(KFF
FFn + BFF)
(Where CVPID is computed based on equation E using SP and PV and includes the
OPBIAS terms.)
(KFF
FFLGV + BFF)
(Note: FFLGV is initialized to 1.0. Therefore, if FFn is Bad from the start, then:
CV = CVPID
(KFF + BFF) )
If FFn is ok but the status of FF n-1 is Bad, then CV is kept as is (to prevent a
bump) and CVPID is back-calculated as follows:
CVPID = CV / (KFF
FFn + BFF)
Where:
BFF = Bias of the feedforward input
CV = Full-value output with FF term included
CVPID = full-value output of the PID block without the FF term (This
is a calculated value and not a user-visible parameter.)
DELCV = Incremental output of the PID function
KFF = Gain of the feedforward input that is clamped between
GAINLOLM and GAINHILM.
FF = Feedforward input value
FFLGV = Last good value of FF (This is a calculated value and not
a user-visible parameter.)
n
n-1
516
R110
February 2014
PID equations
The PIDFF block provides five different equations for calculating the PID - the
CTLEQN parameter is used to specify the desired equation.
ATTENTION
The CV term used in the following PID equations is the same as the CVpid
term used in the previous feedforward equations. It represents the full value
output of the PID function without the FF term added.
Equation A - all three terms (Proportional, Integral, Derivative) act on the error
(PV - SP) as follows:
CV = K * L
-1
1+
1
T2S
+
* PVPS - SPPS
T1S 1 + a * T2 S
Equation B - the proportional and integral terms act on the error (PV - SP) and the
derivative term acts on changes in PV as follows:
CV = K * L
-1
1+
T2S
1
+
T1 S 1 + a * T2 S
* PVPS - 1 +
1
T1S
* SPPS
This equation is used to eliminate derivative spikes in the control action as a result
of quick changes in SP.
Equation C - the integral term acts on the error (PV - SP) and the proportional and
derivative terms act on changes in PV as follows:
R110
February 2014
517
CV = K * L
-1
1+
1
T2S
+
T1S 1 + a * T2 S
* PVPS -
1
* SPPS
T1S
CV = L-1
1
* PVPS - SPPS
T1S
CV = K
Output bias processing adds a fixed bias (user specified) and floating bias
(calculated to provide bumpless transfer after initialization or mode change) to
the unbiased CV.
ATTENTION
To prevent a bump in the output, you must configure the OPBIAS.RATE
parameter for a value (in Engineering Units per minute) other than 0.0
(zero) or NaN (Not a Number) to enable the ramping function for the
floating bias.
If both options are selected, the unbiased CV is reversed first, and then the fixed
and floating bias are added - neither the bias nor the final CV are reversed
Where:
CV
518
R110
February 2014
-1
PV
PVP
= PV in percent
= La Place operator
SP
SPP
T1
T2
OPBIAS.FIX
OPBIAS.FLOAT
Gain options
If PID equation A, B, or C is selected, any of the following gain equations may be
chosen:
Linear Gain - provides a proportional control action that is equal to a constant (K)
times the error.
Gap Gain - used to reduce the sensitivity of the control action when PV is in a userspecified band (gap) around the set point.
Gap size and control action are specified at configuration time through the
following parameters:
KLIN Linear (normal) gain - to be used when PV is outside the
gap.
KMODIFGAP Gain-modification factor - to be used when PV is inside the
gap. Range of KMODIFGAP = 0.0 to 1.0.
GAPLOLM Lower limit of gap - in same engineering units as PV.
R110
February 2014
519
Nonlinear Gain - provides control action that is proportional to the square of the
error, rather than the error itself.
PV - SP
(PVEUHI - PVEULO)
Where:
KLIN
NLFORM
NLGAIN
External Gain - where, when gain (K) is selected, it is modified by an input value
that can come from either the process, another function block, or a user program.
The main use of this option is to compensate for nonlinear process gain - you can
tune the PID gain independently of the normal operating point of the process.
= KLIN KMODIFEXT
Where:
520
R110
February 2014
KLIN
KMODIFEXT
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
R110
February 2014
521
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
522
R110
February 2014
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
R110
February 2014
523
R110
February 2014
You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.
Timeout monitoring
If mode is CAScade, the PIDFF block performs timeout monitoring on SP - if a good SP
value is not received within a predefined time (TMOUTTIME), the PIDFF block invokes
timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)
Timeout processing
If mode is CAScade and SP times out, the PIDFF block does the following:
R110
February 2014
525
The PIDFF block sets its cascade request flag (CASREQFL), if SP times out and sheds
to AUTOmatic mode. This indicates that the block is waiting to return to the CAScade
mode, and it will as soon as it brings a good SP value. When it receives a good SP value,
the block does the following:
Clears CASREQFL.
You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
Windup handling
When a windup condition is reached, the PIDFF block stops calculating the integral
term, but continues to calculate the proportional and derivative term.
PIDFF block's output exceeds one of the user-specified output limits (OPHILM,
OPLOLM).
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
526
R110
February 2014
If the Value is . . .
Hi
Lo
HiLo
R110
February 2014
527
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
R110
February 2014
LO
Standard Computation
Logic Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
R110
February 2014
ARWNET or ARWOP
Parameter Is . . .
529
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
If the feedforward signal comes from an Auxiliary function block (Data Acquisition
or Auxiliary Calculator), set the Auxiliary block's PVSOURCE parameter to
MANual and do not manually change the PV. To resume feedforward action,
change the PVSOURCE to AUTOmatic.
If the feedforward signal comes from another Regulatory Control block, set the
mode of the other block to MANual and do not manually change the output (OP),
which is the FF input to the PIDFF block. To resume feedforward action, switch the
other block's mode to AUTOmatic or CAScade.
R110
February 2014
If the override offset flag is Off and the PID is using either direct or reverse control
action, then:
CV = (override feedback value from secondary)
CVPID = (override feedback value from secondary) / (KFF FF + BFF)
If the override offset flag is On and the PID is using direct control action, then:
CV = (override feedback value from secondary) + K
+ BFF)
(PVP
If the override offset flag is On and the PID is using reverse control action, then:
CV = (override feedback value from secondary) - K (PVP - SPP) (KFF FF +
BFF)
CVPID = (override feedback value from secondary) / (KFF FF + BFF) - K
SPP)
(PVP -
Where:
CV
CVPID
BFF
K
KFF
FF
R110
February 2014
PVP
PV in percent
SPP
SP in percent
531
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.
PIDFF parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the PIDFF block.
R110
February 2014
Equation
As described in the previous section, a PID block when configured for GAP or non
linear gain will include a gain change component in CV calculation if LEGACYGAP is
set to the default value of FALSE. The PID calculation performed is as follows
CV (t) = CV(t-l) + K * d/dt[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ] +
[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ] * dK/dt
where
CV (t) = Calculated CV during the current execution cycle
CV(t-l) = CV at the end of the last execution cycle
K = Gain
T1 = Integral time
R110
February 2014
533
T2 = Derivative time
E(t) = Current error (PV -SP)
If LEGACYGAP is set TRUE, the CV calculation will exclude the gain change
component in the CV calculation and the will be as follows
CV (t) = CV(t-l) + K * d/dt[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ]
Besides this there are no other changes to the behavior of the PID function blocks as a
result of the new LEGACYGAP parameter.
Configuration
The LEGACYGAP configuration parameter will be displayed as a checkbox on the right
side in the algorithm tab of the forms for PID type blocks as shown in the figure below.
The parameter is typically configured before loading the PID blocks. The user (with
ENGRINEER access) may change the value after loading if the FB is inactive or the
block is in Manual mode.
534
R110
February 2014
Migration
When PID type function blocks are migrated from older releases to R300, the
LEGACYGAP parameter of PID type blocks will be set to the default value of FALSE.
R110
February 2014
535
The POSPROP block requires a process variable (PV) and a set point (SP) as its inputs.
The digital outputs are pulsed at time intervals specified by the cycle time parameter and
the pulse width is proportional to the error signal. It looks like this graphically:
Each POSPROP block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
R110
February 2014
Configuration Tab
Description
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the
input range limit that represents 100% full scale input for
the block. The default value is 100.
PVEU Range Lo (PVEULO) - Lets you specify the low
input range limit that represents the 0 full scale input for
the block. The default value is 0 (zero).
Manual PV Option (PVMANOPT) - Lets you specify the
NO_SHED - Idle.
SHEDHIGH - Raise.
SHEDLOW - Lower
SHEDHOLD - Idle
537
Configuration Tab
Description
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.
R110
February 2014
Configuration Tab
Description
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify
539
Configuration Tab
Description
Manual Pulse Time (MANPULSETIME) - Lets you
default value is 0.
540
R110
February 2014
Configuration Tab
Description
High Limit (SPHILM) - Lets you specify a high limit value
for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value
for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired
541
Configuration Tab
Description
value to a new one. The default selection is box
unchecked (disabled). See the Set point ramping section
for this block for more details.
Normal Ramp Rate (SPTVNORMRATE) - Lets you
R110
February 2014
Configuration Tab
Description
respectively.
Trip Point - Lets you specify the following trip points for
543
Configuration Tab
Description
Note that this value is loaded to the individual alarm
parameters (for example, DEVHIALM.TM and
DEVLOALM.TM) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the
None
ONESHOT
SEMICONT
CONTRTN
CONT
R110
February 2014
Configuration Tab
Description
applicable for the given regulatory control function block:
NONE - No changes.
Configuration
Parameters
Monitoring Parameters
Block Preferences
R110
February 2014
545
Configuration Tab
Insertion Type
Description
Lets you include an insertion type from a CAB instances in
the block. See CAB insertion configuration considerations
for regulatory control blocks for more information
Function
The POSPROP block is typically used to step a valve open or closed, raise or lower a
rotary device, or move the plates of a pulp mill refiner together or apart.
The POSPROP block compares the error signal (PV - SP) with an error deadband for the
raise and lower directions at an interval based on the configurable cycle time parameter
(CYCLETIME). You can also configure the raise and lower deadband values that are
denoted as the parameters ERRORDBR and ERRORDBL, respectively.
The block generates a raise pulse, when the PV is less than the SP minus the raise error
deadband (ERRORDBR); or a lower pulse, when the PV is greater than the SP plus the
lower error deadband (ERRORDBL) to reduce the error.
The pulse duration determines the magnitude of a pulse - the longer the duration, the
bigger the pulse. The POSPROP block will not issue a raise or lower pulse that is longer
than the configured cycle time (CYCLETIME) or the respective maximum pulse time
parameter MAXPULSER or MAXPULSEL, whichever is smaller. The block uses the
following values in its pulse duration calculation.
The calculation uses the additional pulse time and minimum pulse width parameters to
keep noise from initiating continuous changes to the final control element. This block
prevents instantaneous reversals by adding backlash compensation time (BACKLASHR
or BACKLASHL) before commanding direction changes.
546
R110
February 2014
The following figures show examples of position proportional control loops to maintain
a desired valve position using raise and lower pulse outputs or pulsetime output in
conjunction with a pulse length or pulse count block, respectively. In these examples, the
set point (SP) is the desired valve position and the PV is the actual valve position.
Position Proportional
Controller
SP
PV
RAISETIME
LOWERTIME
100% of scale
0% of scale
R110
February 2014
547
Position Proportional
Controller
SP
PV
PULSETIME
Pulse Length or
Pulse Count
PULSETIME
PORAISE
POLOWER
100% of scale
0% of scale
MAN (MANual)
AUTO (AUTOmatic)
CAS (CAScade)
548
If mode is CAScade, SP is pulled from another function block; if the other block
is off-control (that is, inactive or initializing) or the connection is bad, the
POSPROP block invokes timeout processing.
R110
February 2014
Required inputs
The required number of inputs is determined by the mode of the POSPROP block.
The POSPROP block may have one primary or none, depending on whether SP
is configured or not; there is one primary per initializable input.
The optional raise and lower flag inputs (RAISELMFL and LOWERLMFL) may be set
externally to inhibit raise and lower pulses, respectively. These optional inputs can be
pulled from other function blocks.
You must specify a PV engineering unit range through the configurable PVEUHI
and PVEULO parameters.
SPHILM and SPLOLM define set point operating limits in engineering units.
The operator is prevented from storing a set point value that is outside these
limits. If the primary or a user program attempts to store a value outside of the
limits, the POSPROP block clamps it to the appropriate limit and sets the input
windup status.
SP contains set point value in engineering units and SPP contains the value in
percent.
R110
February 2014
549
Output
The POSPROP block has the following initializable outputs:
Output ranges
The POSPROP block uses the maximum and minimum pulse parameters to define pulse
duration ranges and limits.
550
R110
February 2014
MAXPULSER and MAXPULSEL define the maximum pulse time in the Raise and
Lower directions, respectively. The POSPROP block will not issue a Raise/Lower
pulse with a duration that exceeds these values. If the output and CYCLETIME are
greater than MAXPULSER/MAXPULSEL, the output is clamped to
MAXPULSER/MAXPULSEL.
MINPULSER and MINPULSEL define the minimum pulse time in the Raise and
Lower directions, respectively. The POSPROP block will not issue a Raise/Lower
pulse with a duration that is less than these values. If the output is less than
MINPULSER/MINPULSEL, the output retains its old value.
(Note that the POSPROP block does not use these common regulatory control block
range and limit parameters: CVEUHI, CVEULO, OPHILM, OPLOLM, OPEXHILM,
and OPEXLOLM.)
Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:
If SPTVNORMRATE is a value other than zero or NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
R110
February 2014
551
Parameter
Max. Ramp Deviation
(SPTVDEVMAX)
Description
Lets you specify a maximum deviation in engineering units
per minute allowed between PV and SP during ramping.
The value can be NaN or greater than zero. If value is
NaN, it means no ramp deviation checking is done.
If the maximum ramp deviation value is other than NaN,
SP ramping stops when the absolute value of the
deviation (|PV - SP|) exceeds the maximum deviation. The
deviation flag (SPTVDEVFL) is set, and SP ramping state
(SPTVSTATE) remains in Run. Ramping resumes as
soon as the absolute value of the deviation returns within
the maximum deviation limit. This also resets the deviation
flag (SPTVDEVFL).
If you have entered a ramp time (SPTVTIME) and ramping
is interrupted by maximum ramp deviation, the actual
ramp time (SPTVTIME) will be greater than the time you
specified.
You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the Point Detail display in Station.
Parameter
SPTV
Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME) .
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PID
552
R110
February 2014
Parameter
SPTVRATE
Description
SP target value ramp rate. This rate is calculated as shown
above for the SPTVNORMRATE and as follows:
If you specify a ramp time (SPTVTIME) value other than
zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
If you change the SPTVNORMRATE, this block
SPTVSTATE
decreases.
When SPTVTIME reaches zero, SP equals SPTV and the
SPTVSTATE goes to Off.
R110
February 2014
553
Description
Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.
554
R110
February 2014
Callout
Description
You can only set a value for SPTV and SPTVTIME, when:
SPTVSTATE is Off or Preset, and
Mode is Auto or Manual.
ATTENTION
Timeout monitoring
If mode is CAScade, the POSPROP block performs timeout monitoring on SP - if a good
SP value is not received within a predefined time (TMOUTTIME), the POSPROP block
invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)
Timeout processing
If mode is CAScade and SP times out, the POSPROP block does the following:
The POSPROP block sets its cascade request flag (CASREQFL), if SP times out and
sheds to AUTOmatic mode. This indicates that the block is waiting to return to the
CAScade mode, and it will as soon as it brings a good SP value. When it receives a good
SP value, the block does the following:
R110
February 2014
555
You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
Equations
The POSPROP block generates Raise and Lower pulses at a rate specified by the
configurable cycle time (CYCLETIME) parameter. It calculates the pulse duration at the
beginning of each cycle as follows.
If PVP is less than (SPP - ERRORDBR) and the Raise limit flag (RAISELMFL) is
OFF, then issue a Raise pulse with a duration of:
RAISETIME = (KR (SPP - PVP) / RAISERATE + RAISEDEADTM +
EXTRAPULSETM
If PVP is greater than (SPP + ERRORDBL) and the Lower limit flag
(LOWERLMFL) is OFF, then issue a Lower pulse with a duration of:
LOWERTIME = (KL (PVP - SPP) / LOWERRATE + LOWERDEADTM +
EXTRAPULSETM
Where:
EXTRAPULSETM = The extra pulse time leftover from the last control interval,
if you configured the Extra Pulse Time Option
(EXTRAPULSE) to be ON.
KL = Overall gain for Lower pulse generation.
KR = Overall gain for Raise pulse generation.
556
R110
February 2014
Control Initialization
The POSPROP block accepts initialization information from its three initializable
outputs: RAISETIME, LOWERTIME, and PULSETIME. If any output requests
initialization, the POSPROP block sets its INITMAN parameter to ON. When no output
requests initialization, the POSPROP block sets its INITMAN parameter to OFF. When
cycling resumes after initialization, the Raise and Lower outputs are both set to OFF (or
their normal states) and the cycle time is restarted.
The SP is set equal to the PV (subject to set point limits), if any of the following
conditions exist:
Mode is MANual.
The POSPROP block is being processed for the first time after being activated.
R110
February 2014
557
configuration form. This is the same as selecting disable as the setting for the
SECINITOPT parameter. The results of the SECINITOPT settings are as follows.
558
NO_SHED
SHEDHOLD
SHEDLOW
R110
February 2014
If Bad Control
Option is. . .
SHEDHIGH
SHEDSAFE
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
R110
February 2014
559
If the Value is . . .
Hi
Lo
HiLo
560
R110
February 2014
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
561
LO
562
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
R110
February 2014
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
POSPROP parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the POSPROP block.
R110
February 2014
563
Each PULSECOUNT block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
564
Block Pins
Configuration
Parameters
R110
February 2014
Configuration Tab
Description
Monitoring Parameters
Block Preferences
Insertion Type
Function
The PULSECOUNT block is typically used in conjunction with a POSPROP block to
step a valve open or closed, raise or lower a rotary device, or move the plates of a pulp
mill refiner together or apart.
The POSPROP block feeds the PULSETIME input parameter to the PULSECOUNT
block. This parameter is an internal structure that contains the pulse width specification
(in seconds). It also contains a Serial Number that changes every time there is a new
pulse width value. The PULSECOUNT block checks for a change in the Serial Number
before reacting to the pulse width specification.
The following figure shows a sample of output pulses generated by the Pulse Count
control algorithm. Keep the following things in mind when viewing the following figure.
The individual pulses are generated in relation to the configured POPERIOD. The
number of pulses is determined as follows: Pulse Count = PULSETIME /
POPERIOD
The PODIR only changes at the beginning of a control interval. The sample pulse
shown in the following figure has a configured Direction Change Delay
(PDELAYDIRCHG) of non-zero.
R110
February 2014
565
PORAISE
POLOWER
PO
PODIR
Required inputs
The PULSECOUNT block requires a pulse time (PULSETIME) input from another
block. This is usually supplied by a POSPROP block.
The POPERIOD input is user configurable in seconds.
The PDELAYDIRCHG input is user configurable in seconds.
The optional LOCALMAN input should come from another block in a logic strategy
where an ON condition means that the CEE is not controlling the output of the device. If
the LOCALMAN (Local Manual Initialization) is True, all the outputs of the
PULSECOUNT block are turned OFF. The back calculation (BCALCOUT),
initialization manual (INITMAN), and initialization request (INITREQ) outputs are
turned ON.
Output
The PULSECOUNT block has the following initializable outputs:
566
PORAISE = Pulse output for Raise pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is positive.
POLOWER = Pulse output for Lower pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is negative.
R110
February 2014
PO = Pulse output for both Raise and Lower pulses. These pulses are generated as a
logical OR between the PORAISE and POLOWER pulses.
PODIR = Direction for PO. This output is OFF for a Lower pulse and is ON for a
Raise pulse.
PULSECOUNT parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the PULSECOUNT block.
R110
February 2014
567
Each PULSELENGTH block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
568
R110
February 2014
Configuration Tab
Description
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
Function
The PULSELENGTH block is typically used in conjunction with a POSPROP block to
step a valve open or closed, raise or lower a rotary device, or move the plates of a pulp
mill refiner together or apart.
The POSPROP block feeds the PULSETIME input parameter to the PULSELENGTH
block. This parameter is an internal structure that contains the pulse width specification
(in seconds). It also contains a Serial Number that changes every time there is a new
pulse width value. The PULSELENGTH block checks for a change in the Serial Number
before reacting to the pulse width specification.
The following figure shows a sample of output pulses generated by the Pulse Length
control algorithm. Keep the following things in mind when viewing the following figure.
R110
February 2014
569
+PULSETIME
- PULSETIME
PORAISE
POLOWER
PO
PODIR
Time
Control Interval 1
Control Interval 2
Required inputs
The PULSELENGTH block requires a pulse time (PULSETIME) input from another
block. This is usually supplied by a POSPROP block.
The PDELAYDIRCHG input is user configurable in seconds.
The optional LOCALMAN input should come from another block in a logic strategy
where an ON condition means that the CEE is not controlling the output of the device. If
the LOCALMAN (Local Manual Initialization) is True, all the outputs of the
PULSELENGTH block are turned OFF. The back calculation (BCALCOUT),
initialization manual (INITMAN), and initialization request (INITREQ) outputs are
turned ON.
Output
The PULSELENGTH block has the following initializable outputs:
570
PORAISE = Pulse output for Raise pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is positive.
POLOWER = Pulse output for Lower pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is negative.
R110
February 2014
PO = Pulse output for both Raise and Lower pulses. These pulses are generated as a
logical OR between the PORAISE and POLOWER pulses.
PODIR = Direction for PO. This output is OFF for a Lower pulse and is ON for a
Raise pulse.
PULSELENGTH parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PULSELENGTH block.
R110
February 2014
571
The RAMPSOAK block has one analog input identified as a process variable (PV). The
block monitors the PV value and guarantees that its output (OP) will not deviate from the
input (PV) by more than the user configured limits.
Each RAMPSOAK block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
572
R110
February 2014
Configuration Tab
Description
characters long.
Engineering Units (EUDESC) - Lets you specify a text
573
Configuration Tab
Description
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate. (Note that the AUTOmatic mode is not a
valid initial configuration mode for the RAMPSOAK
block, since the block's mode must be MANual after it is
loaded to the Controller and the Control Module
containing it is activated.)
R110
February 2014
Configuration Tab
Description
previous values when the profile starts. The default is
checked (or ON). (Note that whenever a new profile is
loaded the RESETTIMER parameter is automatically set
to ON and the TIMEPASTTHISSEG is not reset since it
is used to compute the values of statistic parameters
ACTRAMPRATE and ACTSOAKTIME.)
Safety Interlock Option (SIOPT) - Lets you specify
575
Configuration Tab
Description
between PV and OP to assure a guaranteed soak. You
can specify a different value for each profile. The default
value is NaN (Not-a-Number), which means no high
soak value checking is done.
Max Lo Soak Dev (MAXLOSOAKDEV[n] - Lets you
576
R110
February 2014
Configuration Tab
Description
(EVENTFL[n,e]) for segments in the selected profile by
entering the segment number (EVENTSEGID[n,e]), the
start time (EVENTBGNTIME[n,e]) in minutes counted
from the beginning of the selected segment when the
event flag is turned ON, and the stop time
(EVENTENDTIME[n,e]) in minutes counted from the
beginning of the selected segment when the event flag is
turned OFF. Where "e" equals the number of the event
from 1 to 16.
Graph - Shows you a graphic representation of the
Profile Graph
profile.
Target Profile Time (TOTALTIME[n]) - Total time in
577
Configuration Tab
Description
exceeding limits.
Net Elapsed Time (NETELAPSEDTM) - Shows the net
segment.
Events - Shows an array of the configured event flags for
R110
February 2014
Configuration Tab
Description
through Monitoring mode after the configuration is
loaded in the Controller.)
Extended Low Limit (%) (OPEXLOLM) - Lets you specify
R110
February 2014
579
Configuration Tab
Description
output range value in engineering units that represents
100% full scale CV output for the block. The default
value is 100.
CVEU Range Low (CVEULO) - Lets you specify the low
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
Configuration Tab
Description
581
Configuration Tab
Description
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you
None
ONESHOT
SEMICONT
CONTRTN
CONT
R110
February 2014
Configuration Tab
Description
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:
NONE - No changes.
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
R110
February 2014
583
Configuration Tab
Description
for regulatory control blocks for more information
Function
The RAMPSOAK block is typically used for automatic temperature cycling in furnaces
and ovens. It can also be used for automatic startup of units and for simple batchsequence control where the batch sequence is part of a process that is otherwise a
continuous process.
The RAMPSOAK block usually feeds its output (OP) to the set point of a PID block.
The PID block uses the PID algorithm to control a process variable (PV) according to the
set point versus time profile OP. The PV input to the RAMPSOAK block is normally the
same PV input used for the PID block.
The following figure shows a simple functional diagram of a PID loop with its set point
driven by the output of a RAMPSOAK block according to the configured ramp and soak
segments.
584
R110
February 2014
Ramp/Soak
Programmer
PID Controller
SP
PV
OP
PV
OP
Ramp/Soak Profile
2
ate
R
3
mp
Soak Value 1
nt
Ra
me
Soak Time1
g
Se
Segment 2
Ra
m
Se p R
gm ate
en
1
t1
OP
Soak Value 2
Soak Time 2
Segment 4
Start Time
Ra
m
Se p R
gm at
en e 3
t5
Stop Time
Soak Value 3
Soak Time 3
Segment 6
Event 1
Time
Calculates its output based on whether the current segment is a ramp or a soak.
R110
February 2014
If the current segment is a ramp, the block calculates the ramp output. If a
guaranteed ramp rate was requested, the block makes sure the output does not
deviate from the input by more than the user configured deviation
(MAXRAMPDEV[n]).
585
If the current segment is a soak, the block calculates the soak output and updates
the soak timers. If a guaranteed soak was requested, the block makes sure that
the soak time does not transpire while the PV and CV are outside the user
configured deviation limits (MAXHISOAKDEV[n] and
MAXLOSOAKDEV[n]). The block stops the soak timer when the soak value
exceeds the user configured deviation. It restarts the timer when the soak value
returns to within limits.
Updates all the events configured for the current profile. The block sets these timers
based on the user configured event parameters: EVENTSEGID[n,e],
EVENTBGNTIME[n,e], and EVENTENDTIME[n,e].
Required inputs
The RAMPSOAK block only requires a PV input for the guaranteed ramp option.
PV is non-initializable.
You must specify a PV engineering unit range, PVEUHI and PVEULO. The default
range is 0 to 100.
The PID block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from an auxiliary or data acquisition
(DATAACQ) block which applies its own limit and range checks.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
586
R110
February 2014
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a RAMPSOAK block
(RAMPSOAK.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to RAMPSOAK.OPX to provide value/status data.)
If the RAMPSOAK block has a secondary, it brings the secondary's input range
through BACKCALC and sets its CV range to that.
If the RAMPSOAK block has no secondary, you can configure CVEUHI and
CVEULO to specify the desired range values. The default values are 100 and 0,
respectively, for a default range of 0 to 100.
OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range. You can also configure values for these limits. The default limits
are 105% and -5%, respectively.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range. You can also configure values for these limits. The default
limits are 106.9% and -6.9%, respectively.
The operator is prevented from storing an OP value that exceeds these limits.
(Note that the RAMPSOAK block does not apply a floating bias to the output.)
R110
February 2014
587
Mode handling
The RAMPSOAK block supports the AUTOmatic and MANual modes.
ATTENTION
You must select MANual as the configuration setting for the MODE parameter
on the RAMPSOAK block's configuration form in the Control Builder Project
tree. Control Builder generates an error if you try to load a RAMPSOAK block
with a MODE configuration of AUTOmatic to the Controller. The MODE of the
RAMPSOAK block must be MANual after it is loaded to the Controller.
You set the mode to AUTOmatic to start a ramp/soak profile. When the profile is
running, you cannot adjust the output (OP) or the profile variables such as ramp rate,
soak value, and soak time.
You set the mode to MANual to stop a ramp/soak profile, including all timers. When
a profile is stopped, you can change the output (OP) and adjust the profile variables
including the current segment (CURSEGID) and the remaining soak time
(REMSOAKTIME), if the current segment is a soak. If you change the current
segment, the profile starts at the new segment when you change from MANual to
AUTOmatic mode. You cannot add or delete profiles, ramp/soak pairs or events
once a configuration is loaded into the Controller. Also, Control Builder does not
allow online changes in profile variables such as Rate, Soak Value, and Soak Time
Hold command
The hold command (HOLDCMD) parameter allows another function block or user
program to stop the profile until some user defined condition is met.
When the HOLDCMD changes from OFF to ON, the profile stops, including all
timers.
When the HOLDCMD changes from ON to OFF, the profile starts where it left off.
588
Sets CV to NaN.
R110
February 2014
Profile statistics
Since the profile may be stopped or held for several reasons, the actual profile execution
may be quite different from the configured profile definition. The RAMPSOAK block
maintains the following execution profile statistic parameters.
ACTRAMPRATE[n,s] - The actual rate for each ramp segment in engineering units
per minute.
ACTSOAKVAL[n,s] - The actual end value for each ramp segment in engineering
units.
ACTSTARTOP[n] - The actual starting output (OP) value for each profile.
Where "n" is the profile number and "s" refers to the pair id.
You can also compare the graphical representation of the configured profile and the
actual profile through the Profile Graph and Active Profile Graph tabs in the block
configuration form, when monitoring operation through the Monitoring tab in Control
Builder.
The Absolute Value of CV-PV is greater than the maximum ramp deviation
(MAXRAMPDEV[n]. Where "n" is the number of the current profile.
589
If the deviation exceeds the limit during a soak, the block stops the soak timer until the
deviation returns to within limits and then it automatically restarts the timer.
If the MAXHISOAKDEV[n] and/or the MAXLOSOAKDEV[n] value is NaN, the
RAMPSOAK block ignores the above condition or conditions, as applicable.
(Note that you can also keep the soak timer from starting by setting the hold command
(HOLDCMD) to ON. This lets an operator, a user program or a logic type function block
put a hold on the stop timer until some other condition is satisfied.)
590
R110
February 2014
Control initialization
The RAMPSOAK block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block.
Note that SECINITOPT may be used to ignore initialization requests from the
secondary.
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse1
DirectDispInd
R110
February 2014
591
If OUTIND Enumeration
Selection Is . . .
ReverseDisplnd
The RAMPSOAK block does not support the Reverse option selection.
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
R110
February 2014
593
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
LO
594
R110
February 2014
Standard Computation
Logic Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
R110
February 2014
ARWNET or ARWOP
Parameter Is . . .
595
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
RAMPSOAK parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the RAMPSOAK block.
Each RATIOBIAS block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
596
R110
February 2014
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
597
Configuration Tab
Description
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you
598
R110
February 2014
Configuration Tab
Description
specify if external MODE switching through user
configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -
599
Configuration Tab
Description
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Output
R110
February 2014
Configuration Tab
Description
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you
601
Configuration Tab
Description
block's initialization value, a bump in OP occurs.
Alarms
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
Configuration Tab
Description
Deadband Value (ALMDB) - Lets you specify a
R110
February 2014
603
Configuration Tab
Description
loss.
Note: This parameter is available for configuration only if
the Enable Bad Output Connection Option is enabled.
SCM
None
ONESHOT
SEMICONT
CONTRTN
CONT
604
NONE - No changes.
R110
February 2014
Configuration Tab
Description
block).
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
Function
Lets you implement a form of ratio control by using this block between two PID blocks.
In this case, the output from one PID block is used as the X1 input to the RATIOBIAS
block and the output from the RATIOBIAS block is used as the SP input to the second
PID block.
R110
February 2014
605
Configuration example
The following figure and its companion callout description table show a sample
configuration that uses a RATIOBIAS block to form a ratio control loop for quick
reference. The view in the following figure depicts a configuration in Project mode.
606
Description
R110
February 2014
Callout
Description
Use the PV parameter connection to carry data from the analog input to the
other block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.
Use the DATAACQ block to define input range values and provide alarm
monitoring on the analog input.
Use the REGCALC block output (OP) to provide the RT input based on
assigning expression 1 as its CV source. The default OP connection is
exposed, but the implicit/hidden connection function automatically makes a
connection to a value/status parameter (OPX/OPEUX) when it is required.
Use the PID block output (OP) to provide the X1 input. The default OP
connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter
(OPX/OPEUX) when it is required.
Then,
Manual (MAN)
Automatic (AUTO)
R110
February 2014
607
If Mode is . . .
Cascade (CAS)
Then,
both X1 and RT inputs come from other function blocks.
This block requests both primaries to initialize when the mode changes from CAScade to
MANual. This block requests only one primary to initialize when the mode changes from
CAScade to AUTOmatic. This block requests no primary to initialize when the mode
changes from MANual to CAScade. However, it always requests the X1 primary to
initialize first, and then initializes the RT based on whether or not the X1 initialization
was successful.
Required inputs
A RATIOBIAS block requires one or two inputs depending on the block's Mode, as
follows.
If Mode is. . .
Cascade
Auto
only X1 input.
Both X1 and RT are initializable inputs. This means the block can have one or two
primaries depending upon whether the RT input is required or not. There is one
primary for each initializable input.
The X1 input must come from another function block. You cannot set this value.
The RT input must come from another function block, if the Mode is Cascade. If the
Mode is Auto, you can set the value for RT or it can come from a user program.
608
This block assumes X1 is within XEUHI and XEULO - it applies no range check
You must specify RTHILM and RTLOLM to define the ratio limits in engineering
units. RT cannot exceed these limits. The maximum RTHILM value is 100.0 and the
minimum RTLOLM value is 0.001, so the RT range must be between 0.001 and
100.0.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
The operator is prevented from storing a RT value that is outside these limits; if
the primary or a user program attempts to store a value outside of the limits, this
block clamps it to the appropriate limit and sets the RT primary's windup status.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a RATIONBIAS block to SP on a PID block,
Control Builder automatically creates the BACKCALCOUT to BACKCALCIN
connection.
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a RATIOBIAS block
(RATIOBIAS.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to RATIOBIAS.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single
RATIOBIAS output.
R110
February 2014
609
If this block has a secondary, it gets the secondary's input range through BACKCALC
and sets its CV range to that. If it has no secondary, CVEUHI and CVEULO track the
X1 input range (XEUHI and XEULO).
ATTENTION
This block gets the secondary's input range regardless of SECINITOPT.
This means regardless of whether the secondary's initialization and
override data will be used.
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent of
the CV range. These are user-specified values.
OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds them,
or another function block or user program attempts to store an OP value that exceeds
them. However, the operator may store an OP value that is outside these limits.
OPHILM and OPLOLM define the extended high and low limits for OP, as a percent of
the CV range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
This block calculates CV using this equation:
CV = X1
RT + OPBIAS.FIX + OPBIAS.FLOAT
Control initialization
The RATIOBIAS block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the RATIOBIAS block:
610
R110
February 2014
INITREQ[1] = ON
INITREQ[2] = ON
Where:
OPBIAS.FIX = fixed output bias
INITREQ[2] = initialization request flag for the RT primary
INITVAL[2] = initialization value for the RT primary
INITREQ[1] = initialization request flag for X1 primary
INITVAL[1] = initialization value for X1 primary
AutoRatio
R110
February 2014
611
If RBOPTION
Selection Is . . .
AutoBias
BIAS = OP - (RT
X1)
In normal Auto mode operation, the RT and BIAS values are set by the operator or a user
program regardless of the RBOPTION selection.
In normal Cascade mode operation, the RT value is fetched from the upstream function
block and the BIAS value is set by the operator or a user program regardless of the
RBOPTION selection.
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.
612
R110
February 2014
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
R110
February 2014
613
OPBIAS.FIX
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
OPBIAS.FLOAT
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output will occur, if the primary does not
accept this block's initialization value.
Timeout monitoring
If mode is CAScade, the RATIOBIAS block performs time-out monitoring on X1 and
RT - if good X1 and RT values are not received within a predefined time
(TMOUTTIME), the RATIOBIAS block invokes timeout processing.
614
R110
February 2014
Timeout processing
Sets the X1 value to NaN. This causes CV to go to NaN, which initializes the RT
and X1 primaries.
If RT times out and the block sheds to AUTO mode, it sets the Cascade Request Flag
(CASREQFL). When CASREQFL is set, it means the block is waiting to return to the
Cascade mode as soon as it gets a good RT value. You can disable the return to Cascade
mode by manually clearing the CASREQFL or changing the mode.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
615
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.
616
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
R110
February 2014
If OUTIND Enumeration
Selection Is . . .
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
R110
February 2014
617
Equals This . . .
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
618
R110
February 2014
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Windup handling
The RATIOBIAS block computes these three anti-reset windup status parameters.
ARWOP
ARWNET[1]
ARWNET[2]
And Secondary's
Windup = Normal;
then, ARWOP =. . .
And Secondary's
Windup = Lo; then,
ARWOP =. . .
And Secondary's
Windup = Hi; then,
ARWOP =. . .
not clamped
NORMAL
Lo
Hi
Hi
HiLo
Hi
R110
February 2014
619
If OP is. . .
And Secondary's
Windup = Normal;
then, ARWOP =. . .
Lo
And Secondary's
Windup = Lo; then,
ARWOP =. . .
Lo
And Secondary's
Windup = Hi; then,
ARWOP =. . .
HiLo
And ARWOP =
Normal; then,
ARWNET[2] =. . .
not clamped
NORMAL
Lo
Hi
Hi
HiLo
Hi
Lo
Lo
HiLo
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
R110
February 2014
621
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
LO
622
R110
February 2014
Standard Computation
Logic Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
R110
February 2014
ARWNET or ARWOP
Parameter Is . . .
623
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
RATIOBIAS parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the RATIOBIAS block.
624
R110
February 2014
Each RATIOCTL block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
R110
February 2014
625
Configuration Tab
Description
The selections are MANual, AUTOmatic, CAScade,
BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.
R110
February 2014
Configuration Tab
Description
interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify
R110
February 2014
627
Configuration Tab
Description
for the X2 input.
High Gain Limit (GAINHILM) - Lets you set a high limit
default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value
for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value
for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired
R110
February 2014
Configuration Tab
Description
specified "advisory" SP value. The default selection is
unchecked (Disabled).
Advisory SP Value (ADVSP) - Lets you set an advisory
629
Configuration Tab
Description
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify
R110
February 2014
Configuration Tab
Description
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe
R110
February 2014
631
Configuration Tab
Description
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
Configuration Tab
Description
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in
633
Configuration Tab
Description
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:
None
ONESHOT
SEMICONT
CONTRTN
CONT
NONE - No changes.
634
R110
February 2014
Configuration Tab
Description
upon Option Type selection, lets you specify an output or
set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Identification
Lets you view the template properties for the block. You
need the Template license to use this form.
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
Function
The block calculates the target value of the controlled flow (OP) and the actual ratio
between the flows (PV) as outputs. OP is the value of the controlled flow, which will
maintain the target ratio between itself and the uncontrolled flow.
The RATIOCTL block provides four user-selectable methods for calculating the ratio
between the flows (PV). The target value for the controlled flow (OP) is calculated
according to the selected method for calculating PV.
The block applies a user-specified bias to the output. It does not apply a user-specified
gain. The bias may be fixed (stored manually or by a program) or external (fetched from
another function block).
The block also lets you specify a scale factor and bias for each flow. These values may
also be fixed or external.
R110
February 2014
635
Configuration example
The following figure shows a sample configuration that uses a RATIOCTL block to form
a ratio control loop for quick reference. The view in the following figure depicts a
configuration in Project mode.
The output of the RATIOCTL block is normally used as the set point of a PID, which
controls the controlled flow, X1.
R110
February 2014
water for each gallon of juice concentrate. This algorithm helps to produce different
concentrations of orange juice by controlling the ratio set point.
Then,
the block does not compute OP; it maintains the userspecified OP value and ignores all input.
When MODE is changed to Man, the block:
Note that the block whose MODE was changed does not
initialize.
Automatic (AUTO)
Cascade (CAS)
Required inputs
The SP is an initializable input. This means the block can have one primary
depending upon whether the SP input is configured or not. There is one primary for
each initializable input.
R110
February 2014
637
The X1and X2 inputs must come from other function blocks. You cannot store to
them.
You must specify X1 and X2 engineering unit range, XEUHI and XEULO.
XEUHI and XEULO define the full range of the X inputs in engineering units.
XEUHI represents the 100% of full scale value.
XEULO represents the 0% of full scale value.
This block assumes X inputs are within XEUHI and XEULO - it applies no range
check
You must specify SPHILM and SPLOLM to define the set point limits, expressed as
a ratio. The operator is prevented from storing a set point value that is outside these
limits. If the primary or a user program attempts to store a value outside the limits,
this block will clamp it to the appropriate limit and set the input windup status.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a RATIOCTL block to SP on a PID block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection.
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
638
R110
February 2014
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a RATIOCTL block
(RATIOCTL.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to RATIOCTL.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single
RATIOCTL output.
R110
February 2014
639
Control initialization
The RATIOCTL block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the RATIOCTL block:
If
CTLEQN
Is. . .
And,
Initialization
Request for
Primary
Is. . .
On
On
On
On
Where:
K1 = gain for X1
640
R110
February 2014
K2 = gain for X2
OPBIAS.FIX = fixed output bias
X1BIAS = bias for X1
X2BIAS= bias for X2
Equations
The RATIOCTL block provides four different equations for calculating the actual ratio
between the two flows (PV). The target value for the controlled flow (CV) is calculated
accordingly: - the CTLEQN parameter is used to specify the desired equation.
Equation A - For this equation, actual ratio = (controlled flow) / (uncontrolled flow).
Then:
Equation B - For this equation, actual ratio = (uncontrolled flow) / (controlled flow).
Then:
Equation C - For this equation, actual ratio = (controlled flow) / (controlled flow +
uncontrolled flow).
Then:
R110
February 2014
641
Equation D - For this equation, actual ratio = (uncontrolled flow) / (controlled flow +
uncontrolled flow).
Then:
Where:
642
K1
K2
OPBIAS.FIX
OPBIAS.FLOAT
X1BIAS
bias for X1
X2BIAS
bias for X2
K1
X1 + X1BIAS
K2
X2 + X2BIAS
R110
February 2014
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
R110
February 2014
643
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
644
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
R110
February 2014
OPBIAS.FLOAT
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output will occur, if the primary does not
accept this block's initialization value.
Timeout monitoring
If mode is CAScade, the block performs time-out monitoring of the initializable input,
SP. - if good SP value is not received within a predefined time (TMOUTTIME), the
block invokes timeout processing as noted in the following section.
The maximum time between updates is specified by TMOUTTIME (in seconds)
Timeout processing
If MODE is Cascade and SP times-out, the RATIOCTL block does the following:
If SP times-out and the block sheds to Auto mode, it sets the Cascade Request flag
(CASREQFL). When CASREQFL is set, it means the block is waiting to return to the
Cascade mode, and will do so as soon as it fetches a good SP value.
About CASREQFL processing
The RATIOCTL block only sets CASREQFL if the original mode was Cascade, the
SP input times-out, and TMOUTMODE = Auto.
R110
February 2014
645
You may clear the CASREQFL but you cannot set it. This lets you disable the
automatic return to Cascade mode.
If you change mode, the CASREQFL is cleared, which disables the return to
Cascade mode.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
The data consists of an override status, override feedback value and an override offset
flag. The status indicates if this block is in the selected or unselected strategy (as
determined by the Selector block). The offset flag only applies to PID-type function
blocks.
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.
When the override status changes from selected to unselected, this block does the
following:
646
Computes a feedback value for the SP primary depending on the CTLEQN selected
as follows:
R110
February 2014
If
CTLEQN
Is . . .
Where:
K1 = gain for X1
K2 = gain for X2
OPBIAS.FIX = fixed output bias
X1BIAS = bias for X1
X2BIAS= bias for X2
R110
February 2014
647
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
648
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
R110
February 2014
Equals This . . .
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
R110
February 2014
649
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Windup handling
The RATIOBIAS block computes these three anti-reset windup status parameters.
650
ARWOP
ARWNET[1]
ARWNET[2]
R110
February 2014
And Secondary's
Windup = Normal;
then, ARWOP =. . .
And Secondary's
Windup = Lo; then,
ARWOP =. . .
And Secondary's
Windup = Hi; then,
ARWOP =. . .
not clamped
NORMAL
Lo
Hi
Hi
HiLo
Hi
Lo
Lo
HiLo
And ARWOP =
Normal; then,
ARWNET[2] =. . .
not clamped
NORMAL
Lo
Hi
Hi
HiLo
Hi
Lo
Lo
HiLo
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
R110
February 2014
651
If the Value is . . .
Lo
HiLo
652
Hi
R110
February 2014
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
653
LO
654
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
R110
February 2014
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
Error handling
The RATIOCTL block performs the following error checking:
If X1 or X2 are bad (NaN), the block sets CV to NaN and PVSTS to Bad. Also,
the PV value is set to NaN.
R110
February 2014
655
RATIOCTL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference</HH> for a complete list
of the parameters used with the RATIOCTLblock.
656
R110
February 2014
Each REGCALC block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
657
Configuration Tab
Description
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.
R110
February 2014
Configuration Tab
Description
Option is enabled.
Enable Bad Output Connection Option
range limit that represents 100% full scale input for all
the block inputs (X[1..6]). The default value is 100.
Low Limit (XEULO) - Lets you specify the low input
range limit that represents 0 full scale input for all the
block inputs (X[1..6]). The default value is 0 (zero).
Timeout Time (TMOUTTIME) - Lets you specify a time in
659
Configuration Tab
Description
(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify
R110
February 2014
Configuration Tab
Description
that is in the MANual mode. The default value is 0, that
is, no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe
ATTENTION
Be aware that selecting NONE causes the CV
R110
February 2014
661
Configuration Tab
Description
value to default to NaN and the block to
generate a BadControl alarm.
CV Initialization (CVINITSRC) - Lets you assign an input
ATTENTION
Be aware that selecting NONE causes the
block to perform standard initialization using
the SECDATAIN.INITVAL as its initialization
value. A selection of NONE is usually
appropriate when the REGCALC block is
connected to an initializable input of its
secondary block.
CV Override (CVORFBSRC) - Lets you assign an input
ATTENTION
Be aware that selecting NONE causes the
block to perform standard override
initialization using SECDATAIN.ORFBVAL as
its initialization value. A selection of NONE is
usually appropriate when the REGCALC block
is connected to an initializable input of its
secondary block.
Initialization Request (INITREQSRC) - Lets you assign
662
R110
February 2014
Configuration Tab
Description
the block is connected to an initializable input of a
secondary block, this block uses the corresponding
value from the secondary (SECDATAIN.INITSTS).
ATTENTION
Be aware that selecting NONE causes the
block to perform initialization using the
SECDATAIN.INITSTS as the initialization
FLAG. The initialization value depends on the
configuration of INITVALSRC. A selection of
NONE is usually appropriate when the
REGCALC block is connected to an
initializable input of its secondary block.
Initialization Value (INITVALSRC) - Lets you assign an
R110
February 2014
663
Configuration Tab
Description
ATTENTION
Be aware that selecting NONE causes the
block to perform initialization using
SECDATAIN.INITVAL as the initialization
value. A selection of NONE is usually not
appropriate. For proper initialization of the
primary block, an initialization expression of
the following form must be written and
selected by INITVALSRC.
If CV = f(x(1), .., X(n) , y,z)
Then x(1) = f(CV ,..X(n),y,z)
Where:
CV = SECDATAIN.INITIVAL
PRIMDATA(1).INITVAL = x(1)
Override Feedback Status (ORFBSTSSRC) - Lets you
R110
February 2014
Configuration Tab
Description
ATTENTION
Be aware that selecting NONE causes the
block to perform initialization using
SECDATAIN.ORFBVAL as the override
initialization value. A selection of NONE is
usually not appropriate. For proper override
initialization of the primary block, an override
initialization expression of the following form
must be written and selected by
ORFBVALSRC.
If CV = f(x(1), .., X(n) , y,z)
Then x(1) = f(CV ,..X(n),y,z)
Where:
CV = SECDATAIN.ORFBVAL
PRIMDATA(1)ORFBVAL = x(1)
The expression for the primary override input
value is usually identical to that for the primary
initialization value and the input to that
expression (SECDATAIN.ORFBVAL) is equal
to the input to the initialization expression
(SECDATAIN.INITVAL). That isthe
ORFBVALSRC can point to the same
expression as INITVALSRC.
Alarms
R110
February 2014
665
Configuration Tab
Description
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
Configuration Tab
Description
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in
667
Configuration Tab
Description
select the desired Mode Tracking function for the SCM
associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based on
the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:
None
ONESHOT
SEMICONT
CONTRTN
CONT
668
NONE - No changes.
R110
February 2014
Configuration Tab
Description
and SPRATEREQ = Configured Rate (not
applicable to this block).
Value (STARTVAL, STOPVAL, HOLDVAL) - Depending
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
Function
Each expression can contain any valid combination of inputs, operators and
functions; and may perform arithmetic or logic operations.
You can write expressions for calculating CV under normal, initialization and
override feedback conditions. Or, you can write expressions which produce
initialization and override feedback values for this block and its primaries.
R110
February 2014
669
You can assign the result of an expression or an input to any assignable output,
which produces the same outputs as every other regulatory control block. You can
assign the same input to multiple outputs.
Then,
Manual (MAN)
Cascade (CAS)
The initialization request occurs when the MODE changes from CAScade to MANual,
but not from MANual to CAScade.
Inputs
The REGCALC block can function without any inputs. The following inputs are optional
and they only accept real (Float 64) data types.
X[1] - An initializable input that must come from another block, an operator cannot
set it.
XKB[1..6] individual inputs with gain and bias values applied to them.
Since X[1] is an initializable input, the block can have one primary. There is one
primary for each initializable input.
670
If this block has a primary, you must specify an X[1] engineering unit range,
XEUHI and XEULO. These only apply to initializable input.
R110
February 2014
This block assumes X[1] is within XEUHI and XEULO - it applies no range check.
If this function is required, you must write an expression for it.
Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you do not have to
create them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a REGCALC block to SP on a PID block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection.
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.
For example, if you connect the output from a REGCALC block (REGCALC.OP) to the
set point of a PID block (PIDA.SP), the implicit/hidden connection is made to
REGCALC.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single
REGCALC output.
R110
February 2014
671
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent of
the CV range. You must specify these values.
OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds them,
or another function block or user program attempts to store an OP value that exceeds
them. However, the operator may store an OP value that is outside these limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. You must specify these values.
The operator is prevented from storing an OP value that exceeds these limits.
Assignable outputs
You can assign expression results and/or inputs to the following parameters.
For example, you can assign the result of the second expression to CVSRC and the result
of the fourth expression to CVINITSRC and CVORFBSRC. You may assign the same
672
R110
February 2014
input to multiple outputs. You may also assign inputs directly to outputs, such as
assigning X[1] and X[2] to INITVALSRC and INITREQSRC, respectively.
The assignable expression and input parameters are as follows:
C[1..8] - Expressions
CSTS[1..8] - Expression Status
X[1..6] - Inputs
XSTS[1..6] - Input Status
CVSRC - Since this parameter controls CV under normal conditions, when the
block is not initializing and its mode is CAScade, always assign this parameter.
If this parameter is left blank or unassigned, the Control Module containing the
block is allowed to go Active, but CV is NaN and OP has a value of zero.
R110
February 2014
673
The following parameters are provided to the primary through this block's
BACKCALC data.
INITREQSRC
INITVALSRC
ORFBVALSRC
ORFBSTSSRC
You can assign these parameters to an input or an expression result, or they can
be left unassigned. The following table summarizes possible outcomes for
specified parameter assignments. You may need to assign an INITVALSRC to
compute a customized initialization value for the primary based on the CVSRC
assignment.
If a Parameter is . . .
And, a Secondary. . .
assigned
unassigned
exists
unassigned
Control initialization
The REGCALC block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the REGCALC block:
674
R110
February 2014
builds an initialization request for the designated primaries using the assignable
output parameters INITREQSRC and INITVALSRC. If you configure no
assignments for these parameters, the block behaves like other regulatory control
blocks, using the corresponding values brought from its secondary.
Configuring all other parameters like OPBIAS.RATE the same as you would for an
AUTOMAN block.
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.
R110
February 2014
675
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
676
R110
February 2014
OPBIAS.FIX
Zero:
If OPBIAS.RATE is zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
OPBIAS.FLOAT
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is
calculated. This means a bump in the output occurs, if the primary does not
accept this block's initialization value.
After initialization, the REGCALC block calculates the floating bias using the
following equation.
R110
February 2014
677
OPBIAS.FLOAT
Where:
CVunbiased
OPBIAS.FIX
Timeout monitoring
If mode is CAScade, the REGCALC block performs timeout monitoring on X[1]- if
good X[1] value is not received within a predefined time (TMOUTTIME), the
REGCALC block invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)
Timeout processing
If X[1] times out, the REGCALC block does the following:
R110
February 2014
status, override feedback value and an override offset flag. The status indicates if this
block is in the selected or unselected strategy (as determined by the OVRDSEL block).
The offset flag only applies to PID-type blocks.
When the override status changes from selected to unselected, the REGCALC block does
the following:
If the ORFBVAL and ORFBSTS are not assigned and this block has a secondary, the
ORFBVAL and ORFBSTS received from the secondary are used to compute ORFBVAL
for the primary. When the override status from the secondary changes from selected to
unselected, this block does the following:
feedback value for primary = feedback value received from secondary.
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.
You can customize the override feedback computation and propagation using the
following block parameters.
ORFBSTSSRC - If you make an ORFBSTSSRC parameter assignment, the REGCALC
block computes the override feedback status from the assignment and uses it for override
processing and propagation to the primary. If you do not make an assignment, the
REGCALC block uses the override status received from the secondary for override
processing, just like other regulatory control blocks do.
ORFBVALSRC - Like ORFBSTSSRC, if you make an ORFBVALSRC parameter
assignment, the REGCALC block computes the override feedback value for the primary
based on the assignment. Otherwise, the block uses the override status received from the
secondary for override processing , just like other regulatory blocks do.
R110
February 2014
679
680
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
R110
February 2014
If OUTIND Enumeration
Selection Is . . .
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
R110
February 2014
681
Equals This . . .
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
682
R110
February 2014
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Windup handling
The REGCALC block derives the ARWOP from a combination of the following
parameters and the secondary's windup status.
CV
XWHIFL
XWLOFL
The following table summarizes how the block derives ARWOP for some given
conditions.
If XWLOFL and/or XWHIFL
are. . .
And a Secondary. . .
True
False
exists
R110
February 2014
683
And a Secondary. . .
does not exist
When the REGCALC block computes its ARWOP windup status for its primary
(ARWNET[1]), which is computed based on ARWOP, it will be propagated to the
primary just like other regulatory control blocks.
ATTENTION
The ARWNET[1] computation is independent of whether gain (K) is positive
or negative.
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
R110
February 2014
685
Hi
LO
686
R110
February 2014
Standard Computation
Logic Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
R110
February 2014
ARWNET or ARWOP
Parameter Is . . .
687
Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. Table 2 lists the expression operators
and functions supported by this block for reference as well as some case sensitive strings
that can be used for special value constants in expressions.
ATTENTION
Do not use equality operands = and <> to compare FLOAT64 and FLOAT32
floating point values in expressions. Use inequality operands Less Than (<),
Less Than or Equal To (<=), Greater Than (>), or Greater Than or Equal To
(>=) instead.
Description
Unary
+-
Binary Arithmetic
+ -
Logical
AND OR NOT
Relational
Conditional
Parenthesis
()
Array Syntax
[]
Unary Functions
ABS
ATN
1
COS
688
absolute value
LOG
arc tangent
RND
round value
cosine
SGN
EXP
e to the power of x
SIN
sine
INT
convert to integer
SQR
square of a number
ISFIN
is finite
SQRT
square root
ISNAN
is Not a Number
TAN1
tangent
R110
February 2014
Operators
LN
Description
Natural logarithm of a
number (log to the base of
e)
Multiple Argument Functions
MIN
minimum of n arguments
(ignore bad values)
MID
MAX
maximum of n arguments
(ignore bad values)
MUL
product of n arguments
AVG
average of n arguments
SUM
sum of n arguments
NUMSTR
MIDS
STRNUM
NUMDTIM
NOW
R110
February 2014
689
Operators
Description
STRTIM
NUMTIM
TOD
Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and
not degrees.
Case Sensitive Strings for Special Value Constants
NAN
+INF
-INF
PI
PI (3.14159. . .)
e (2.718. . .)
Parameters in Expressions
You must specify a parameter by its full tag name (for example,
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression.
Expression descriptor parameters (EXPRDESC[1..8]) are used with the expression
constant parameters (CONST[1..8]) for providing a short description for the expressions.
The EXPRDESC[1..8] parameter can be modified only during the strategy configuration,
and is available even if CONSTENABLE is set to FALSE.
690
R110
February 2014
The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:
TagName.'text'
TagName is the name of the external reference component (i.e. an OPC Server). Text can
contain any characters, space, and special characters except for the delimiter character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
responsibility to ensure that the text is something that the external reference component
will understand. If this text is incorrect, runtime errors will occur.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.
Must include full tag.parameter name for X inputs in the expression and enclose
identification number in brackets instead of parentheses. For example,
CM151.REGCALC_1.X[1] CM151.REGCALC_2.X[2] is valid.
You can mix and nest all operators and functions (including conditional
assignments) in any order as long as types match or can be converted.
You can use blanks between operators and parameter names, but they are not
required.
You can use all data types in expressions, including enumerations. They are all
treated as numeric types.
R110
February 2014
691
TIP
You can use the integer parameters YEAR, MONTH, DAY HOUR, MINUTE,
and SECOND that provide local date and time for the controller in all
expressions, just like other integer parameters.
The expression constant parameters (CONST[1..8]) are used with the expressions as
follows:
The results of the expressions, which use the CONST [1...8] parameters, are affected if
you change the values of these parameters on the Constants tab.
692
R110
February 2014
Operator
:=
Description
Assignment - used only in the SCM Step Output blocks to assign the
results of an expression to a reference.
Example:
CM.block.mystringparam := "This is a string constant"
CM.block.mystringparam := CM.desc
Concatenation
Example:
CM.block.mystringparam + CM.desc
Equal to
Example:
CM.block.mystringparam = CM.desc
<>
Not equal to
Example:
CM.block.mystringparam <> "This is a string"
Delta Time - Is also stored as a 64-bit integer and it represents an Absolute time
difference in tenths of milliseconds.
Time of Day - is an unsigned 32 -bit integer that represents a time of day in tenths of
milliseconds.
Time constants
You can use the following valid time constants in expressions.
R110
February 2014
693
Description
:=
Assignment - used only in the SCM Step Output blocks to assign the
results of an expression to a reference. The data type in the
expression result must agree with the data type of the reference.
If both operands are of the same time data type the result is the
same data type. Delta time or Time of Day can be added to an
absolute time, which results in absolute time. Time of day can be
added to delta time, which results in a delta time. See the next
section Adding time data types. .
One operand can be a delta time or time of day data type and the
second operand must be a number. The result is a delta time data
type.
=, <>, <=,
>=, <, >
DAYS1
HOURS1
MINS
SECS1
The DAY, HOURS, MINS, SECS Operators are not case specific.
694
R110
February 2014
Delta Time
Time of Day
Absolute Time
Absolute Time
Absolute Time
Absolute Time
Delta Time
Absolute Time
Delta Time
Delta Time
Time of Day
Absolute Time
Delta Time
Time of Day
Delta Time
Time of Day
Absolute Time
Delta Time
N/A
N/A
Delta Time
Absolute Time
Delta Time
N/A
Time of Day
Absolute Time
Delta Time
Time of Day
CEE01.CURRTIME + 2 DAYS
TIMNUM(CEE01.CURRTIME)
NUMTIM(1000.0)
R110
February 2014
2.
695
NOW - MyCM.myblock.todparam
ABSTOD(CEE01.CURRTIME)
CEE01.CURRTIME + 2
CEE01.CURRTIME > 5.0
REFERENCE - INTERNAL
Refer to the section Time Support in Experion LX System for more
information about time support in the system
REGCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the REGCALC block.
696
R110
February 2014
Each REGSUMMER block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
R110
February 2014
697
Configuration Tab
Description
MODE the block assumes when the Control to Normal
function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you
R110
February 2014
Configuration Tab
Description
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you
699
Configuration Tab
Description
Timeout Time (TMOUTTIME) - Lets you specify a time in
inputs 1..4
Output
R110
February 2014
Configuration Tab
Description
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify
701
Configuration Tab
Description
which means no value is added.
Output Tolerance (OPTOL) - Lets you specify a limit for
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
R110
February 2014
Configuration Tab
Description
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm
703
Configuration Tab
Description
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the
704
None
ONESHOT
SEMICONT
CONTRTN
R110
February 2014
Configuration Tab
Description
CONT
NONE - No changes.
Configuration
Parameters
R110
February 2014
705
Configuration Tab
Description
Control Builder.
Monitoring Parameters
Block Preferences
Insertion Type
Identification
Dependencies
Template Defining
Equation
CV is calculated as follows:
For 2 to 4 inputs:
CV
= K * [XK(1) * X(1) + XK(2) * X(2) + XK(3) * X(3) + XK(4) * X(4)] +
OPBIAS
For one input:
CV
= K * X1 + OPBIAS
where:
706
CV
XK(1..4)
OPBIAS
X(1..4)
R110
February 2014
Function
The REGSUMMER function block is typically used where two or more primary PIDs
are used to determine the set point of a secondary PID.
Configuration example
The following screen shot depicts the scenario wherein the REGSUMMER block is
used:
Inputs
The RegSummer block accepts up to four inputs -- X(1) through X(4).
X(1) is an initializable input; all others are non-initializable. The X[1] input can be
connected to non-initializable inputs also. In this case there is no primary for this
block.
The inputs must be pulled from other function blocks; the user cannot store in them.
R110
February 2014
707
This block has one primary. (There is one primary per initializable input.)
X[1] input connection is mandatory. If X[1] is not connected and the block is
loaded, an error will be raised during load time mentioning "At least input one needs
to be connected".
NUMXINPT represents the number of input connections that has been made to this
block.
Outputs
The REGSUMMER block has the following initializable outputs:
OP
OPEU
The user may create a connection to OP or OPEU, but not both i.e. only one
connection to the RegCtl block output should be made Therefore, this block
may have only one secondary. If the user does not create a connection to OP
or OPEU, then the block does not have a secondary. Alternately, if the user
connects OP or OPEU to a non-initializable input, then this block does not
have a secondary. If the block has a secondary, then the OPX or OPEUX is
the proper parameter to connect to RegCtl secondary. The "X" parameter is a
structure containing both the OP value and the OP status; it is critical to use
these parameters so that Initialization handshaking works properly. The
BACKCALCOUT or X1BACKCALOUT of secondary must be connected to the
BACKCALCIN of primary.
Output Ranges
708
CVEUHI and CVEULO define the full range of CV, in engineering units.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
If this block has a secondary, it fetches the secondary's input range through
BACKCALC and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).
Note: This block fetches the secondary's input range regardless of SECINITOPT
(that is, regardless of whether the secondary's initialization and override data will be
used).
The user has to set the CVEUHI and CVEULO such that it should be the same as
that of its secondaries XEUHI and XEULO respectively, when the secondary is
connected to RegSummer, else if there's no secondary, the CV ranges of
RegSummer block should follow its own XEU ranges. In case, the CVEU ranges
differ from the XEU ranges, then the results can be unexpected.
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.
OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds
them, or another function block or user program attempts to store an OP value that
exceeds them. However, the operator may store an OP value that is outside these
limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
OPTOL allows the user to configure a tolerance limit for the manually entered OP.
If the difference between new OP value and current OP value is greater the OPTOL
then confirmation is required from the user to store this new value.
Output bias
The user may specify a fixed bias to be added to the output. In addition, the function
block calculates a floating bias to ensure a bumpless transition after initialization or
mode change. For details, see the "Output Bias" section under Common Regulatory
Control Functions.
After initialization, this block calculates the floating bias as follows:
CV
OPBIAS.FLOAT
R110
February 2014
709
where:
OPBIAS.FIX
OPBIAS.FLOAT
Mode handling
This function block supports the Cascade and Manual modes:
If MODE = Cascade, X[1] input must be pulled from another function block.
The inputs X(2) to X(4) have to be pulled from other function blocks irrespective of
whether MODE is Cascade or Manual.
Control initialization
Input X1 is an initializable input and initialization is accomplished with an internal
ramping bias. The Bias OPBIAS is made up of two components, OPBIAS.FIX and
OPBIAS.FLOAT, where OPBIAS.FIX is the operator entered bias and OPBIAS.FLOAT
is the internal bias component. The decay rate parameter OPBIAS.RATE specifies the
decay rate of the internal bias OPBIAS.FLOAT.
This block fetches initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one shot initialization requests to this block.
Note: SECINITOPT may be used to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:
If the initialization value received from the secondary is within the output limits
of this function block:
CV
= On
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
INITVAL
Where:
OPBIAS.FIX
XK(1..4)
INITREQ
INITVAL
When the cascade resumes, the internal ramping bias value OPBIAS.FLOAT is
calculated
OPBIAS.FLOAT
= (CV - OPBIAS.FIX)/K
OPBIAS.FLOAT
= CVlast - K * X1 - OPBIAS.FIX
711
value and an override offset flag. The status indicates if this block is in the selected or
unselected strategy (as determined by the Selector block). The offset flag only applies to
PID-type function blocks.
Note: SECINITOPT may be used to ignore override requests from the secondary.
When the override status changes from selected to unselected, this block does the
following:
primary feedback =
CV - [K * (XK(2) * X(2) + XK(3) * X(3) + XK(4) * X(4)) + OPBIAS.FIX+ OPBIAS.FLOAT]
K*XK(1)
where:
OPBIAS.FIX
OPBIAS.FLOAT
XK(1..4)
CV - (OPBIAS.FIX + OPBIAS.FLOAT)
R110
February 2014
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
R110
February 2014
713
Equals This . . .
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
714
R110
February 2014
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
R110
February 2014
715
If the Value is . . .
Hi
Lo
HiLo
R110
February 2014
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status does is to stop integral action in
one or both directions on PID blocks. For any other regulatory control type block,
ARWNET is not used for any kind of limiting. The ARWNET is computed as follows,
assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
717
LO
REGSUMMER parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the REGSUMMER block.
718
R110
February 2014
If this block can communicate with both sources, it always selects the remote source. If it
loses communications with the remote, it switches to the backup source; and when
communications are restored, it automatically switches back to the remote.
You may force the unselected input to track the selected input through the TRACKING
option:
If TRACKING is On, this block continually initializes the unselected input. That is,
on each cycle, it requests the unselected primary to initialize and set its output to the
selected input value.
If TRACKING is Off, this block does not initialize the unselected input.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.
Each REMCAS block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
R110
February 2014
719
Configuration Tab
Description
Description (DESC) - Block descriptor of up to 132
characters long.
Engineering Units (EUDESC) - Lets you specify a text
720
R110
February 2014
Configuration Tab
Description
range limit that represents 100% full scale input for the
block. The default value is 100.
Low Limit (XEULO) - Lets you specify the low input
range limit that represents 0 full scale input for the block.
The default value is 0 (zero).
X1 (XDESC[1]) - X1 input descriptor of up to 15
characters long.
X2 XDESC[2]) - X2 input descriptor of up to 15
characters long.
Enable Tracking Option (TRACKING) - Lets you select if
R110
February 2014
721
Configuration Tab
Description
R110
February 2014
Configuration Tab
Description
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Output
723
Configuration Tab
Description
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify
R110
February 2014
Configuration Tab
Description
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
725
Configuration Tab
Description
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in
R110
February 2014
Configuration Tab
Description
associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:
None
ONESHOT
SEMICONT
CONTRTN
CONT
R110
February 2014
NONE - No changes.
727
Configuration Tab
Description
applicable to this block).
Value (STARTVAL, STOPVAL, HOLDVAL) - Depending
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
Function
This block receives two input values (X1 and X2), as shown in the following figure. X1
comes from the remote source and X2 comes from the backup or local source. The block
performs timeout monitoring on both inputs, and the function block normally operates in
the Cascade mode. Under normal conditions, this block passes input from the remote
source to the output, without change. When the remote input times out, this block
automatically switches to the backup source, and changes the mode to Backup Cascade.
If both inputs timeout, this function block sets CV to NaN, which forces "Bad Control"
processing.
It does not matter where the sources for X1 and X2 reside.
728
R110
February 2014
Set by operator
or user program
DATAACQ
P1
PV
Set by operator
or user program
DATAACQ
P1 PV
Remote
SP
PID1
PV
OP
X1 REMCAS2
Local/Backup
PID3
SP
PV
X2
OP
OP
AOC4
OP
Configuration example
The following figure (Views A and B) and its companion callout description table show
a sample configuration that uses a REMCAS block to form a cascade control loop with a
backup primary loop for quick reference. The views in the following figure depict loaded
configurations in the Monitoring mode.
R110
February 2014
729
730
R110
February 2014
R110
February 2014
Description
731
732
Callout
Description
Use the parameter connector function to connect the output (OP) from this
loop to the input (X1) of the REMCAS_1 block in another Control Module
(CM). See callout 9 in View B for the parameter connector to the X1 pin.
The default OP connection is exposed, but the implicit/hidden connection
function automatically makes a connection to a value/status parameter
(OPX/OPEUX) when it is required.
Typically, the Analog Input Channel (AIC) block supplying the input for the
backup/local primary loop (PID_BACKUP) is field wired to the same
location as the AIC for the remote primary loop (PID_PRIMARY).
Use the PV parameter connection to carry data and status from the analog
input to the PID block. The default PV connection is exposed, but the
implicit/hidden connection function automatically makes a connection to a
value/status parameter (PVVALSTS) when it is required.
With the Tracking option enabled, the output (OP) of the PID_BACKUP
block always equals the value being sent by the PID_PRIMARY, while the
PID_PRIMARY is being used for control.
R110
February 2014
Callout
Description
Inputs
The REMCAS block requires two inputs - X1 and X2. X1 comes from the remote
source and X2 is from the backup or local source.
X1 and X2 must be pulled from other function blocks; they cannot be stored
manually.
This block has two primaries. (There is one primary per initializable input.)
You must specify an X-input engineering unit range, XEUHI and XEULO.
XEUHI and XEULO define the full range of the inputs; XEUHI is the value that
represents 100% of full scale, and XEULO is the value that represents 0%.
This block assumes both inputs are within XEUHI and XEULO; it applies no rangechecks.
Input descriptors
You can define a descriptor (name) of up to 15 characters for each input. The descriptors
reside in the XDESC parameter, and when an input is selected, the corresponding
descriptor is copied to SELXDESC.
SELXDESC is automatically updated when SELXINP changes.
Outputs
The REMCAS block has the following initializable outputs:
R110
February 2014
733
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.
For example, if you connect the output from a REMCAS block (REMCAS.OP) to the set
point of a PID block (PIDA.SP), the implicit/hidden connection is made to
REMCAS.OPX to provide value/status data.)
CVEUHI and CVEULO define the full range of CV, in engineering units.
If this block has a secondary, it brings the secondary's input range through
BACKCALCIN and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).
This block brings the secondary's input range regardless of SECINITOPT. That is,
regardless of whether the secondary's initialization and override data will be used.
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.
OP will be clamped to these limits, if the algorithm's calculated result (CV) exceeds
them or another function block or user program attempts to store an OP value that
exceeds them. However, the operator may store an OP value that is outside these
limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
734
R110
February 2014
If OUTIND Enumeration
Selection Is . . .
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
R110
February 2014
735
Equals This . . .
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block is loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
736
R110
February 2014
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
Examples of OUTIND coordination with OPTDIR and CTLACTN parameters
The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a Regulatory Control
(REGCTL) block can be used in conjunction with the Output Direction (OPTDIR)
parameter of an AOCHANNEL block to achieve the desired configuration. The Control
R110
February 2014
737
738
R110
February 2014
Mode handling
This block supports the Cascade, Backup Cascade, and Manual modes:
If the remote source (X1) is the currently selected input, the MODE is CAScade
If the backup source (X2) is the currently selected input, the MODE is Backup
CAScade
If the MODE is MANual, an operator or user program may store OP. In this case,
X1 and X2 are ignored.
Regarding mode-changes:
This block requests both primaries to initialize after any mode-change except
MANual to CAScade and CAScade to Backup CAScade.
Timeout monitoring
If the MODE is CAScade or Backup CAScade, this block performs timeout monitoring
on both inputs (X1 and X2). If either input value is not updated within a predefined
time(TMOUTTIME), the block invokes timeout processing as outlined in the following
section.
The maximum time between updates is specified by TMOUTTIME (in seconds)
Timeout processing
If the MODE is CAScade and an input times out, this block does the following :
R110
February 2014
739
If X1 is good, then the MODE is CAScade and X1 is already the currently selected
input.
sets CV to NaN, which forces a "Bad Control" condition. You specify what
actions to take on Bad Control through the BADCTLOPT parameter.
If X1 times out, and the block sheds to Backup Cascade, it sets the Cascade Request flag
(CASREQFL). When CASREQFL is set, it means the block is waiting to return to the
Cascade mode, and will do so as soon as it gets a good X1 value.
Processing notes on CASREQFL:
This block only sets CASREQFL if the original mode was Cascade, the X1 input
times out, and TMOUTMODE = Backup Cascade.
You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL.
If the MODE was Cascade and it changed due to timeout, the block does the following
the next time it receives data from a primary:
If SELXINP is X2, and X1 is good, (that is, X1 just changed from bad to good) , the
block:
sets SELXINP to X1
Input switching
You may force the unselected input to track the selected input through the TRACKING
option:
740
If TRACKING is On, this block continually initializes the unselected input. That is,
on each cycle, it requests the unselected primary to initialize and set its output to the
selected input value.
If TRACKING is Off, this block does not initialize the unselected input.
R110
February 2014
When TRACKING is Off, this block propagates changes in windup status and overrides
feedback data to both inputs. When TRACKING is On, it only propagates to the selected
input (because the unselected input is in the initialized state).
For Override Processing, the Override Status from the Override Selector secondary block
is propagated only to the selected primary of the REMCAS block regardless of whether
the TRACKING option is Off or On. See the following Override Feedback Processing
section for more details.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.
Equations
The REMCAS block computes CV as follows:
CV
Where:
OPBIAS.FIX
OPBIAS.FLOAT
OPBIAS.FLOAT
X(n)
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.
R110
February 2014
741
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
Where:
CVINIT
CVUNBIASED
742
R110
February 2014
OPBIAS.FIX
If the primary accepts this block's initialization request, then CV + OPBIAS.FIX should
be the same as CVINIT and OPBIAS.FLOAT will be zero. In most cases,
OPBIAS.FLOAT will be zero. However, if the primary does not accept this block's
initialization request because the primary is a FANOUT block or it was configured to
ignore initialization, then OPBIAS.FLOAT value will not be zero.
If OPBIAS.FLOAT is not zero, you can configure it to ramp down to zero through the
OPBIAS.RATE parameter.
Zero:
If OPBIAS.RATE is zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
The function block ramps the OPBIAS.FLOAT to zero by applying the
following calculation each time it executes.
OPBIAS.FLOAT
Where:
cycles_per_min
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is calculated.
This means a bump in the output will occur, if the primary does not accept this block's
initialization value.
R110
February 2014
743
Control Initialization
This block brings initialization requests from its secondary through BACKCALCIN. In
addition, the secondary may propagate one-shot initialization requests to this block.
You may use SECINITOPT to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:
INITREQ[1]
= On
INITVAL[1]
= CV - OPBIAS.FIX
= On
INITVAL[2]
= CV - OPBIAS.FIX
Where:
INITREQ[1] =
INITVAL[1] =
INITREQ[2] =
INITVAL[2]
R110
February 2014
unselected strategy (as determined by the Selector block). The offset flag only applies to
PID-type function blocks.
You may use SECINITOPT to ignore override requests from the secondary.
When the override status changes from selected to unselected, this block does the
following:
The Selected input of the REMCAS block gets the propagated ORFBSTS status of either
'Selected or Not-Selected' from the Override Selector secondary while the unselected
primary of the REMCAS block always gets non-connected status for Override Feedback
status by the REMCAS block, regardless of whether TRACKING is On or Off.
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
745
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
746
R110
February 2014
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
Hi
LO
R110
February 2014
747
748
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
R110
February 2014
REMCAS parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the REMCAS block.
You may force the unselected inputs to track the selected input through the TRACKING
option:
If TRACKING is On, this block continually initializes the unselected inputs. That
is, on each cycle, it requests the unselected primaries to initialize and set their
output to the selected input value.
R110
February 2014
749
If TRACKING is Off, this block does not initialize the unselected inputs.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.
Each SWITCH block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
750
R110
February 2014
Configuration Tab
Description
requests the unselected primaries to initialize and
set their output to the selected input value.
751
Configuration Tab
Description
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets
range limit that represents 100% full scale input for all
752
R110
February 2014
Configuration Tab
Description
the block inputs (X[1..8]). The default value is 100.
Low Limit (XEULO) - Lets you specify the low input
range limit that represents the 0 full scale input for all the
block inputs (X[1..8]). The default value is 0 (zero).
Time (sec) (TMOUTTIME) - Lets you specify a time in
753
Configuration Tab
Description
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify
R110
February 2014
Configuration Tab
Description
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe
OP High (OPHIALM.FL)
OP Low (OPLOALM.FL)
755
Configuration Tab
Description
points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level
R110
February 2014
Configuration Tab
Description
The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you
None
ONESHOT
SEMICONT
CONTRTN
CONT
757
Configuration Tab
Description
the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:
NONE - No changes.
758
Block Pins
Configuration
Parameters
R110
February 2014
Configuration Tab
Description
Monitoring Parameters
Block Preferences
Insertion Type
Function
This block lets you select one input from as many as eight, and outputs from the selected
value. It provides these three methods for selecting an input:
Equation B. You set one of the selection flags (SELXFL[1..8]) to On. Each flag
corresponds to an input. The block turns all of the other flags Off and updates
SELXINP.
Equation C. You set or reset one of the selection flags (SELXFL[1..8]). The block
does not change any of the other flags. Instead, it scans all flags in ascending order
(1 to 8) and selects the first one that is On.
You can use this block to assign a different primary to a secondary. The example
configuration shown in the following figure has five primary PID blocks connected to a
SWITCH block. The active primary is selected by turning ON the corresponding
SELXFL[1..5] input or storing the appropriate number to the SELXINP input, depending
on the SWITCH block equation selected. The SELXINP parameter requires an integer
data type and is usually set by an operator. The default SELXINP value is 1 and you
cannot change it until the Control Module containing the SWITCH and primary blocks is
activated at least once in the Monitoring mode.
Please note that the configuration shown in the following figure is incomplete and is
intended to only give you an idea of the general construction of a typical SWITCH block
configuration.
R110
February 2014
759
R110
February 2014
Please note that the configuration shown in the following figure is incomplete and is
intended to only give you an idea of the general construction of a typical multiple
SWITCH blocks configuration.
Inputs
The SWITCH block accepts up to eight inputs - X[1] through X[8].
The inputs must be pulled from other function blocks; you cannot store them.
This block may have two to eight primaries, depending on the number of inputs that
are configured. (There is one primary per initializable input.)
R110
February 2014
761
You must specify an engineering unit range for the X inputs, by entering values for
XEUHI and XEULO.
XEUHI and XEULO define the full range of the inputs. XEUHI is the value that
represents 100% of full scale, and XEULO is the value that represents 0%.
This block assumes all the X inputs are within XEUHI and XEULO; it applies no
range checks.
Input descriptors
This block lets you define a 15-character descriptor (name) for each X-input. The
descriptors resides in the XDESC parameter, and when an input is selected, the
corresponding descriptor is copied to SELXDESC.
Initializable Outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a SWITCH block to SP on a PID block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection.
You may create a connection to OP or OPEU but not both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.
762
R110
February 2014
For example, if you connect the output from a SWITCH block (SWITCH.OP) to the set
point of a PID block (PIDA.SP), the implicit/hidden connection is made to
SWITCH.OPX to provide value/status data.)
CVEUHI and CVEULO define the full range of CV, in engineering units.
If this block has a secondary, it brings the secondary's input range through
BACKCALCIN and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).
This block brings the secondary's input range regardless of SECINITOPT. That is,
regardless of whether the secondary's initialization and override, data will be used.
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.
OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds
them, or another function block or user program attempts to store an OP value that
exceeds them. However, the operator may store an OP value that is outside these
limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
Mode handling
This block supports the Cascade and Manual modes:
If MODE = Cascade, all inputs are pulled from other function blocks.
If MODE = Manual, OP may be stored by the operator or user program; inputs are
ignored.
Regarding mode-changes:
This block requests all primaries to initialize when mode changes from CAScade to
MANual.
Timeout monitoring
If MODE is Cascade, this block performs timeout monitoring on all inputs (X[1..8]). If
an input value is not updated within a predefined time(TMOUTTIME), the block invokes
timeout processing as described in the next section.
The maximum time between updates is specified by TMOUTTIME (in seconds).
R110
February 2014
763
Timeout processing
If MODE is Cascade and an input times out, this block does the following :
Equations
The SWITCH block supports three methods for selecting an input - Equation A, B or C.
You configure this method through the parameter CTLEQN:
updates all selection flags (SELXFL[1..8]) accordingly. That is, it sets the flag
for the selected input to On, and turns all others Off.
calculates CV as follows:
CV = X(n) + OPBIAS.FIX + OPBIAS.FLOAT
Where:
OPBIAS.FIX = fixed output bias
OPBIAS.FLOAT = floating bias
X(n) = currently selected input (n = 1 to 8)
R110
February 2014
Equation B: You select an input by setting one of the selection flags (SELXFL[1..8])
to On. When this occurs, equation B turns all of the other flags Off.
Following a store to any selection flag, equation B:
Equation C: You can set one selection flag On without causing the others to be
turned Off. You may store On or Off to any flag and the others are not affected.
Following a store to any selection flag, equation C:
The input selection is changed by storing On or Off to the selection flags as follows:
SELX SELX SELX SELX SELX SELX SELX SELX
FL[1] FL[2] FL[3] FL[4] FL[5] FL[6] FL[7] FL[8]
On
NA
NA
NA
NA
NA
NA
NA
X[1]
Off
On
NA
NA
NA
NA
NA
NA
X[2]
Off
Off
On
NA
NA
NA
NA
NA
X[3]
Off
Off
Off
On
NA
NA
NA
NA
X[4]
Off
Off
Off
Off
On
NA
NA
NA
X[5]
Off
Off
Off
Off
Off
On
NA
NA
X[6]
Off
Off
Off
Off
Off
Off
On
NA
X[7]
R110
February 2014
765
Off
X[8]
Off
Off
Off
Off
Off
Off
On
CV is set to NaN,
the selected input does not change (no automatic
switching).
BADINPTOP = IgnoreBad
T(i)
Based on the configured equation, the SWITCH block automatically switches to the next
input as follows:
766
Equations A and B: The next input is the next highest-input according to input
number. For example, the next input for input # 1, X[1], is input #2, X[2]; the next
input for X[2] is X[3], and so on; the next input for the last used input of the block is
X[1] - if 5 inputs are used with the Switch, then the next input for X[5] is X[1].
Equation C: The Switch block will only automatically switch to an input whose
SELXFL(i) is On. The same "next" order is used with Equations A and B.
R110
February 2014
Bypass processing
You may explicitly ignore bad inputs when Equation C is selected as the control
equation. The following parameter supports this:
BADINPTOPT - Bad Input Option
Indicates if the block should include bad inputs (NaN) in the selection process.
BADINPTOPT has the following options:
For this block, a bad input will cause CV to go bad. This means Bad Control.
Input switching
You may force the unselected inputs to track the selected input through the TRACKING
option:
If TRACKING is On, this block continually initializes the unselected input. That is,
on each cycle, it requests the unselected primary to initialize and set its output to the
selected input value.
If TRACKING is Off, this block does not initialize the unselected input.
When TRACKING is Off, this block propagates changes in windup status to all inputs.
However, for the unselected inputs, the Function Block Override Status (FBORSTS)
parameter value is always NotCon irrespective of whether TRACKING is On or Off.
When TRACKING is On, it only propagates to the selected input (because the
unselected input is in the initialized state).
For Override Processing, the Override Status is propagated to only the selected primary
of the SWITCH block regardless of whether the TRACKING option is Off or On. See
the following Override Feedback Processing section for more details.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.
Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
R110
February 2014
767
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.
When the function block initializes (for example, the secondary requests
initialization).
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the
entered value.
There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.
You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). That is, the total bias will eventually equal
the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.
You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:
768
The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.
R110
February 2014
OPBIAS.FLOAT
Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.
Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.
Where:
cycles_per_min = number of times the function block executes per
minute (calculated)
R110
February 2014
769
NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is calculated.
This means a bump in the output will occur, if the primary does not accept this block's
initialization value.
Error handling
If a selected input is bad, this block sets the CV to Bad (NaN), and leaves the Mode
unchanged.
When the selected input is again good, this block recalculates CV, and requests the
primary to initialize.
Control initialization
This block brings initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one-shot initialization requests to this block.
You may use SECINITOPT to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:
= On
INITVAL(s)
= CV - OPBIAS.FIX
where:
(s)
770
INITREQ(s)
INITVAL(s)
If TRACKING is On, this block also builds an initialization request for the
unselected primaries as follows:
R110
February 2014
INITREQ(n)
= On
INITVAL(n)
= CV - OPBIAS.FIX
where:
(n)
INITREQ(n)
INITVAL(n)
The Selected input of the SWITCH block gets the propagated ORFBSTS status of either
'Selected or Not-Selected' from the Override Selector secondary while the unselected
primary of the SWITCH always gets non-connected status for Override Feedback status
by the Switch block, regardless of whether TRACKING is On or Off.
If this block and a primary are on the same node, this block propagates the override data
to the primary. If a primary is on a different node, this block stores the data in the
BACKCALC packet for that primary, which the primary brings on its next execution.
R110
February 2014
771
Direct
(This is the default selection,
so legacy OP values remain
the same.)
Reverse
DirectDispInd
ReverseDisplnd
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
772
R110
February 2014
Equals This . . .
OP
100.0 - Actual OP
OPEU
OPHILM
OPEXHILM
OPLOLM
OPEXLOLM
OPHIALM.TP
OPLOALM.TP
SAFEOP
The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
R110
February 2014
773
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.
a return for the existing Output Alarm condition occurs and a new Output Alarm would
be sent.
774
R110
February 2014
Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
Hi
Lo
HiLo
R110
February 2014
775
Hi
Lo
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.
R110
February 2014
LO
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
777
ARWNETIN or ARWOPIN
Parameter Is. . .
Standard Computation
Logic Is . . .
ARWNET or ARWOP
Parameter Is . . .
NORMAL
NORMAL
NORMAL
NORMAL
HI
HI
NORMAL
LO
LO
NORMAL
HILO
HILO
HI
NORMAL
HI
HI
HI
HI
HI
LO
HILO
HI
HILO
HILO
LO
NORMAL
LO
LO
HI
HILO
LO
LO
LO
LO
HILO
HILO
HILO
NORMAL
HILO
HILO
HI
HILO
HILO
LO
HILO
HILO
HILO
HILO
SWITCH parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the SWITCH block.
778
R110
February 2014
Block
Function
Description
AUXCALC
(Auxiliary
Calculation)
Block
Compute a PV value
AUXSUMMER
(Auxiliary
Summer) Block
Calculate a PV value
from up to ten inputs
CTUD (Counter
Up/Down) Block
DEADTIME
Block
ENHAUXCALC
(Enhanced
Auxiliary
Calculation)
R110
February 2014
779
Block
Scaling Factor
Enable/Disable Switch
PP Scaled Input
ENHGENLIN
(Enhanced
General
Linearization)
Block
Generate a linearization
output for an input with
non-linear characteristics
and value of the
ACTLINSEG parameter.
FLOWCOMP
(Flow
Compensation)
Block
Operates on
uncompensated flow
measurements of liquids,
steam, gases or vapors.
GENLIN
(General
Linearization)
Block
Generate a linearized
Computes an output value that is a
output for an input with
user-defined function of the input. You
non-linear characteristics. may define 2 to 13 coordinates, which
together, approximate a continuous
non-linear function. Typically used to
provide a linearized PV (in engineering
units) for a sensor with nonlinear
characteristics.
LEADLAG Block
780
ROC (Rate of
Change) Block
SIGNALSEL
(Signal Selector)
R110
February 2014
Block
inputs
TOTALIZER
Block
Description
Input Processing
Algorithm Calculation
R110
February 2014
781
Function
The AUXCALC block evaluates user-defined expressions and conditions to compute the
desired output and status for the control strategy.
As shown in the following figure, the block may bring values from up to six inputs and
determines their statuses in every execution cycle of the Control Module. It evaluates up
to eight expressions and determines their statuses. It derives values for PV and PV status
based on the configuration choices for the PVSRC and PVSTSSRC block parameters.
You can enter expression strings and configure PV and PV status selections at build time
before the CM is loaded. The block performs syntax checking and conversion of the
expression string during entry. If any errors are detected, they are displayed to inform
you of the problem. You must re-enter the string to correct the error. You can only enter
an expression in the Project tab during block configuration. You cannot change an
expression online in Monitoring tab.
The block checks and accepts other configuration parameters when the Control Module
is active. If there are any invalid entries, it generates appropriate error messages to help
identify the cause.
782
R110
February 2014
Calculate Expressions
and Derive Their Statuses
Configuration example
The following figure shows a sample configuration that uses an AUXCALC block to
provide square root characterization for the analog input. The AIC block always provides
values in the range of 0 to 100. You can use the AUXCALC block to provide range
conversion, if required. In this example, expression number 1 is configured as follows
and C[1] is assigned to the PV output. The view in the following figure depicts a loaded
configuration in Monitoring mode.
R110
February 2014
783
Input
This function block accepts as many as six inputs (P[1..6]):
784
R110
February 2014
The number of process input connections are equal to the number of inputs; the
default is 1.
Output
This block produces the following outputs:
As many as eight expression results (C[1] through C[8]) and their statuses
Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. You can also write a short descriptive
text for each expression. Table 1(Expressions) in the REGCALC block section lists the
expression operators and functions supported by this block for reference.
Parameters in Expressions
You must specify a parameter by its full tag name (for example.
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression.
Expression descriptor parameters (EXPRDESC[1..8]) are used with the expression
constant parameters (CONST[1..8]) for providing a short description for the expressions.
The EXPRDESC[1..8] parameter can be modified only during the strategy configuration,
and is available even if CONSTENABLE is set to FALSE.
The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:
TagName.'text'
TagName is the name of the external reference component (that is, an OPC Server). Text
can contain any characters, space, and special characters except for the delimiter
character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
R110
February 2014
785
responsibility to ensure that the text is something that the external reference component
understands. If this text is incorrect runtime errors occurs.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.
Must include full tag.parameter name for P inputs in the expression and enclose
identification number in brackets instead of parenthesizes. For example,
CM151.AUXCALC BLOCK.P[1] CM151.AUXCALC BLOCK.P[2] is valid.
You can mix and nest all operators and functions (including conditional
assignments) in any order as long as types match or can be converted.
You can use blanks between operators and parameter names, but they are not
required.
You can use all data types in expressions, including enumerations. They are all
treated as numeric types.
TIP
You can use the integer parameters YEAR, MONTH, DAY HOUR, MINUTE,
and SECOND that provide local date and time for the controller in all
expressions, just like other integer parameters.
ATTENTION
The constant values can be directly configured (using CONST[1..8]) in the
Calculator blocks and a short description for the expressions can also be
provided (using (EXPRDESC[1..8]).
786
R110
February 2014
The expression constant parameters (CONST[1..8]) are used with the expressions as
follows:
The results of the expressions, which use the CONST [1...8] parameters, are affected if
you change the values of these parameters on the Constants tab.
Assignable Outputs
Produces these outputs according to the values you assign to them.
You can assign an input, expression, result, or status value to PV and PVSTS through
block configuration. For example, you may assign the result of the second
expression(C[2]) to PV. You may also assign inputs directly to outputs; for example,
P[1] can be assigned to PV, and P[2] can be assigned to PVSTS.
AUXCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the AUXCALC block.
R110
February 2014
787
Function
The AUXSUMMER block uses the following equation to calculate the PV value based
on up to ten configured inputs.
PV = CPV
Where:
{((C [1]
788
R110
February 2014
The AUXSUMMER block brings values from other function blocks and determines their
statuses in every execution cycle of the Control Module. It evaluates up to ten inputs and
determines their statuses. It derives values for PV and PV status based on its calculation
of the inputs and the configuration entries for the overall PV scale factor (CPV) and
overall PV bias factor (DPV) parameters.
You can also choose to disable an input (PENABLE[1..10]) and define a substitute value
(PSUB[1..10]) for the disabled input.
Configuration parameters
The following table provides a summary of the AUXSUMMER specific parameters that
you can configure through the Main tab of the block's properties form in Control
Builder. You must have an access level of at least Engineer to enter or modify values for
these parameters. The table does not include descriptions of the common parameters
such as block name and description.
Title
Parameter Name
Description
PV Display Format
PVFORMAT
Overall Scaling
Factor for PV
CPV
DPV
Input Description
PDESC[1..10]
R110
February 2014
789
Title
Parameter Name
Description
Enable/Disable
Switch
PENABLE[1..10]
C[1..10]
Input Substitute
Value
PSUB[1..10]
D[1..10]
Number of Process
Input Connections
NUMPINPT
Configuration example
The following figure shows a sample configuration that uses an AUXSUMMER block to
fetch three separate inputs and calculate a PV value for a NUMERIC block.
You can use the AUXSUMMER block to find the rate at which a component of a raw
product is entering a process unit by summing the proportion of the component in each
of several input streams and by multiplying the stream flow rates.
790
R110
February 2014
This block can also be used to calculate net heat loss by finding the difference between
the heat inputs and heat outputs. The difference can be obtained by using a negative scale
factor. Other possible uses are mass-balance, heat-balance, and inventory calculations.
Input
This function block accepts as many as ten inputs (P[110]).
At least one input (P[i]) must be configured for the block to operate.
The number of process input connections (NUMPINPT) that can be made to other
blocks is equal to the number of inputs. The default is 1.
R110
February 2014
791
Output
This block produces the following outputs:
Error handling
If the status of at least one input is bad, the block sets PVSTS to Bad and PV to NaN. If
PENABLE[i] is disabled, then the input P[i] equals the value configured for the PSUB[i]
parameter.
Even if there are no inputs with a bad value (NaN), and the status of at least one of the
inputs is Uncertain, the block sets PVSTS to Uncertain.
If at least one input is not connected, the following error message will be returned while
loading At least Input one needs to be connected.
AUXSUMMER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the AUXSUMMER block.
792
C300 Controller
SIM-C300
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Function
The CTUD block is an up-down counter function block. The counter of the CTUD block
can change its state in either direction (Up or Down) depending on the configuration of
Count Up Flag (CNTUPFL) and Count Down Flag (CNTDNFL) parameter.
Internal counter value pre-load and comparison operations depends on a valid IN
(ININT32/INFLOAT64) configuration if the input is fed through a wired connection.
The Count Up Flag and Count Down Flag are evaluated as edge trigger or level trigger
quantities depending on the value configured for the Count On Level flag (CNTLVLFL)
parameter.
The CTUD Block supports pause (PAUSEFL), load (LOADFL) and reset (RESETFL)
operation for the counter.
ATTENTION
Counter equation selection (CNTEQN): Equation A is selected as the default
equation. You can select any equation based on your control strategy
requirements.
Inputs
CTUD block accepts the following input format.
Integer 32
R110
February 2014
793
Float 64
Boolean
Enumeration
Boolean value
Integer value
Enumerations
The input values are clamped to the range of acceptable enumeration values.
Note: The valid enumeration values are clamped to a range of acceptable enumeration
values.
794
R110
February 2014
INCLAMPOPT
status
+Infinity
TRUE
2,147,483,647.0
2,147,483,647
2,147,483,647
+Infinity
FALSE
NaN
Retain previous
internal counter
value and never
load the counter.
The limit
comparison is
always FALSE
(NaN).
Greater than
2,147,483,647.0
TRUE
2,147,483,647.0
2,147,483,647
2,147,483,647
Greater than
2,147,483,647.0
FALSE
NaN
Retain previous
internal counter
value and never
load the counter.
The limit
comparison is
always FALSE
(NaN).
Between
2,147,483,648.0
and
+2,147,483,647.0
TRUE/FALSE
Float value is
truncated to
integer equivalent.
Float value is
truncated to
integer
equivalent, then
cast to INT32.
Float value is
truncated to
integer
equivalent, then
cast to INT32.
Less than
2,147,483,648.0
TRUE
2,147,483,648.0
2,147,483,648
2,147,483,648
Less than
2,147,483,648.0
FALSE
NaN
Retain previous
internal counter
value and never
load the counter.
The limit
comparison is
always FALSE
(NaN).
-Infinity
TRUE
-2,147,483,648.0
-2,147,483,648
-2,147,483,648
-Infinity
FALSE
NaN
Load inhibited.
NaN
NaN
TRUE/FALSE
NaN
Retain previous
internal counter
value and never
load the counter.
The limit
comparison is
always FALSE
(NaN).
R110
February 2014
FLOAT64 value
Value for
Counter load
operation
795
Pause (PAUSEFL) When this parameter is set to TRUE, the CTUD stops
counting.
Load (LOADFL) When this parameter is set to TRUE, the CTUD output value
(OUTIINT32/OUTFLOAT64) assumes the value of the IN parameter value
(INIINT32/INFLOAT64). For example, if the IN value (INIINT32/INFLOAT64) is
60, and the LOADFL is set to TRUE, the CTUD output value
(OUTIINT32/OUTFLOAT64) is set to 60.
Reset (RESETFL) When this parameter is set to TRUE, the CTUDs counter
value is set to zero.
ATTENTION
If RESETFL and LOADFL flags are set to TRUE at the block execution time,
the internal counter value is set to zero.
Outputs
The output can be fetched through a wired connection or read directly by a program.
Counter output values are available in Float64 and Integer32 formats. Float 64 value is
the floating point equivalent of the 32 bit integer internal count.
796
R110
February 2014
797
Level Trigger
If the CNTLVLFL flag is set to TRUE, the counter evaluates the count inputs
(CNTUPFL or CNTDNFL) as level-triggered quantities. CTUD counter value
increments when the CNTUPFL is set to TRUE.. The counter value decrements when
the CNTDNFL is set to TRUE. The count input flag (CNTDNFL or CNTUPFL) is
cleared after the block execution. This allows for the recognition of individual
asynchronous value stores from programs, SCMs, CABs, or the Push block in between
counter block executions. The level value from wired input connections is fetched and
recognized each block execution even though Control Builder displays the cleared
input value.
ATTENTION
For wired connections, a visual mismatch or value mismatch between the
sourcing end of the connection and the receiving end of the connection for
up-down flags (CNTDNFL/ CNTUPFL) can be observed.
R110
February 2014
The following diagram displays how the transition occurs in case of level trigger.
Supported algorithms
The CTUD block supports the following algorithms.
Equation A
Equation B
Equation C
Equation D
Equation E
Equation F
Equation G
Equation H
The internal counter overflow, underflow, and rollover behavior is governed by which
counter algorithm has been specified.
R110
February 2014
799
Algorithm
Range
Overflow conditions
and results
A, B, E, F
2,147,483,647 to
+2,147,483,647
Condition: If the
counter value is
greater than
+2,147,483,647.
Underflow conditions
and results
Condition: If the
Result: The
Counter value is
set to the 2,147,483,647
and the counter
operation
continues.
C
D
Note: This
equation
requires
IN >0 for
counting
correctly
800
0 to
+2,147,483,647
0 to IN
Condition: If the
counter value is
greater than the
value
+2,147,483,647.
Result: The
counter value is
set to zero and
continues the
operation.
Condition: If the
counter value is
greater than the
IN parameter
values
(ININT32/INFLOA
T64).
Condition: If the
value is set to
+2,147,483,647 and
continues the
operation.
Condition: If the
Result: The
Counter value is
set to zero and
continues the
operation.
R110
February 2014
Algorithm
Range
2,147,483,648
to 0
IN to 0.
H
Note: This
equation
requires
IN < 0 for
counting
correctly.
Overflow conditions
and results
Condition: If the
counter value is
greater than zero.
Result: The
Counter value is
set to 2,147,483,647
and continues the
operation.
Condition: If the
counter value is
greater than the
IN value
(ININT32/INFLOA
T64).
Result: The
counter value is
set to the IN value
(ININT32/INFLOA
T64) continues
the operation.
Underflow conditions
and results
Condition: If the
counter value is
lesser than 2,147,483,647.
Condition: If the
counter value is lesser
than the IN parameter
(ININT32/INFLOAT64)
value.
ATTENTION
The CTUD excludes a gap between zero and IN (INT32/FLOAT64) value for
the following scenarios.
The following figure displays the gap excluded between zero and the IN
values for the Equation D and H.
R110
February 2014
801
802
QUFL (TRUE)
QDFL(TRUE)
OUT >= IN
OUT <= 0
OUT >= IN
OUT ==-2,147,483,648
OUT >= IN
OUT == 0
OUT == IN
OUT == 0
OUT >= 0
OUT <= IN
OUT == +2,147,483,647
OUT <= IN
OUT == 0
OUT <= IN
OUT == 0
OUT == IN
R110
February 2014
Example
If the counter is using the Equation A and the output is 2,147,483,647, the QUFL flag is
set to TRUE and QDFL flag is set to FALSE. The following figure displays the
counter function blocks output flag status.
R110
February 2014
803
designed to accommodate interrelated parameters without warnings for valid data load in
anticipation of following related information, as displayed in the table.
Initialization Values after Checkpoint Restore
Parameter Name
Value
Input Parameters
ININT32
INFLOAT64
0.0
Count Flags
CNTUPFL
FALSE (0)
CNTDNFL
FALSE (0)
RESETFL
FALSE (0)
PAUSEFL
FALSE (0)
LOADFL
FALSE (0)
Configuration parameters
CNTLVLFL
Configuration entry
CNTEQN
Configuration entry
SELINT32FL
Configuration entry
INCLAMPOPT
Configuration entry
Output Flags
QDFL
FALSE (0)
QUFL
FALSE (0)
CARRYUPFL
FALSE (0)
CARRYDNFL
FALSE (0)
Output parameters
804
OUTINT32
OUTFLOAT64
NaN
R110
February 2014
User entries from Property dialogs boxes are assessed against entry limits and
immediately reported.
Parameter stores that occur from load, Checkpoint Restore, Program operations,
or normal fetch operations are assessed in the store methods and error or
warning return values are supplied.
Warnings or errors that occur during load or Checkpoint Restore, and parameter
store are displayed in a dialog box and stored in the Error log.
Warnings are displayed while storing out-of-range or NaN floating point values.
You can see errors while entering configuration values or dialog entry failures due
to access lock. (For example, while trying to store a parameter with insufficient
access level.)
Error or warning is notified to the entity, (can be SCM, PushBlock, program store,
and so on) which provides an invalid input to the counter function block.
CTUD parameters
REFERENCE INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the CTUD block.
R110
February 2014
805
Each DEADTIME block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Execution Order in CM (ORDERINCM) - Specifies the
for the P2 input. This only applies for the Variable delay
type selection. The default value is 1.
Overall Bias (DPV) - Lets you specify an overall bias for
R110
February 2014
Configuration Tab
Description
Bias for P1 (D1) - Lets you specify a bias for the P1
the fixed delay time in minutes. This only applies for the
Fixed selection. The default value is zero (0).
Delay Table Size (NUMLOC) - Lets you specify the
Configuration
Parameters
Monitoring Parameters
Block Preferences
Function
The DEADTIME block is typically used in a feedforward control loop. It provides its
delayed PV output as the input to a LEADLAG block which feeds its output to the
R110
February 2014
807
feedforward (FF) input of the PIDFF block. This helps condition the control response to
the actual process characteristics.
The cutoff feature with the variable dead time lets you simulate conditions like the
stopping of a conveyor belt. If the flow or speed value the P2 input represents drops
below the value you configured for the CUTOFF.LM parameter, the value of the delayed
P1 input goes to zero. When P2 again exceeds the Cut Off Limit value, the delayed P1
input resumes a value.
Input
The block requires one or two inputs depending on the type of delay action selected.
Output
The block produces an output value (PV), a status (PVSTS), and a status flag
(PVSTSFL).
PV status
PV status (PVSTS) may have one of the following values:
The following Boolean flags (typically used with Logic and Alarm blocks) also reflect
the value of PVSTS:
808
R110
February 2014
Error handling
If the P1 input status (P1STS) or the P2 input status (P2STS) is Uncertain, this block sets
PV status (PVSTS) to Uncertain.
If the P1 input status (P1STS) or the P2 input status (P2STS) is Bad, this block sets the
PV status (PVSTS) to Bad and the PV output to NaN.
Delay type
The DEADTIME block gives you choice of either a Fixed or Variable delay type.
For the Fixed delay, a change in the input value (P1) is delayed by the user
configured delay time (DELAYTIME) as follows.
DPt = P1(t - DELAYTIME)
PV = CPV DPt + DPV
Where:
CPV = Overall scale factor for PV
DELAYTIME = Fixed delay time in minutes
DPV = Overall bias for PV
DPt = Delayed P1 value (internal variable, not user accessible)
t
For the Variable delay, a change in the P1 input value is delayed by a time period,
which varies as the inverse of the P2 input value. A combination of the P2 value, the
scaling factors (C1, C2) and the bias values (D1, D2) determines the variable time
period as follows.
If CUTOFF.LM is not NaN and P2 is less than CUTOFF.LM:
DPt = 0
Otherwise:
DELAYTIME = [C1 / (C2 P2 + D2)] + D1
DPt = P1(t - DELAYTIME)
And:
R110
February 2014
809
Delay table
The block uses a delay table (DELAYTABLE) to produce the desired delays in the P1
input. It stores and shifts P1 values through the table at a rate that is calculated to
produce the desired deadtime. The following information is used to derive the table-shift
rate.
810
The sample rate of the P1 input value. This is the execution rate of the block.
The delay time (DELAYTIME). For Fixed delay, delay time is user configured. For
Variable delay, the delay time is derived from the P2 input.
The number of entries (NUMLOC) to use in the delay table. The table has a
maximum of 60 entries. You can change the number of entries by configuring the
desired smaller value through the Delay Table Size (NUMLOC) entry in the block's
configuration form.
R110
February 2014
The following relationship exists between DELAYTIME, Period (FB execution period in
minutes) and NUMLOC.
DELAYTIME >= Period
NUMLOC
3200
In the simplest case, where the scaling factors C1 and C2 equal 1 and the bias factors D1
and D2 equal 0, the variable delay time input signal P2 has the following limits.
P2 <= 1 / (Period
NUMLOC)
P2 >= 1 / (Period
3200)
In all other cases, use the scaling and bias factors to make sure the calculated delay time
remains within the range defined above.
ATTENTION
Using delays greater than two minutes or reducing the delay table size,
will distort the input signal as it appears at the PV output. Input signals
with high frequency content will cause samples to be missed, even at the
maximum sample rate, resulting in reduced output fidelity.
When the delay time exceeds the product of the sample rate and the
delay table size, the input value, which lies between other sampled
inputs, is interpolated. This means the PV output is either a true sampled
value or an interpolated value.
Restart condition
When this block experiences a Restart condition, all the entries in the delay table are set
equal to P1. The PV status is set to Normal and the PV is calculated as follows.
PV = CPV
P1 + DPV
When the INITREQ parameter is True, the block's algorithm produces the same result as
the Restart condition.
DEADTIME parameters
R110
February 2014
811
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the DEADTIME block.
Expands existing arrayed input parameters PSTS and P from six to ten.
These arrayed parameters are added to correspond to each of the ten inputs.
Input Description
Scaling Factor
Enable/Disable Switch
PP Scaled Input
Both the ENHAUXCALC and AUXCALC blocks are optimized so that expressions
use memory based on the number of expressions configured, pcode size of each
expression, the number of references in the expression and the offset needed for
each expression.
812
R110
February 2014
Function
The ENHAUXCALC block evaluates user-defined expressions and conditions to
compute the desired output and status for the control strategy.
As shown in the following figure, the block may bring values from up to 10 inputs and
determines their statuses in every execution cycle of the Control Module. It evaluates up
to eight expressions and determines their statuses. It derives values for PV and PV status
based on the configuration choices for the PVSRC and PVSTSSRC block parameters.
An input switch parameter (PENABLE[1..10]) lets you enable or disable each
corresponding input (P[1..10]). You can also configure a scaling factor (CP[1..10] for
each corresponding input (P[1..10] to provide a corresponding scaled input (PP[1..10]).
The scaled input is computed as follows.
CP[i]
CP[i]
i = 1 to 10
A configurable input substitute parameter (PSUB[1..10]) lets you define an input value
to be substituted for a corresponding disabled input (P[1..10])/scaled input (PP[1..10]).
The logic works as follows.
CP[I]
R110
February 2014
CP[i]
i = 1 to 10
813
A configurable input description parameter (PDESC[1..10]) lets you type your own
descriptive text for each corresponding input (P[1..10]).
You can enter expression strings and configure PV and PV status selections at build time
before the CM is loaded. The block performs syntax checking and conversion of the
expression string during entry. If any errors are detected, they are displayed to inform
you of the problem. You must re-enter the string to correct the error. You can only enter
an expression in the Project tab during block configuration. You cannot change an
expression online in the Monitoring tab.
The block checks and accepts other configuration parameters when the Control Module
is active. If there are any invalid entries, it generates appropriate error messages to help
identify the cause.
Calculate Expressions
and Derive Their Statuses
Configuration parameters
The following table provides a summary of the ENHAUXCALC specific parameters that
you can configure through the Main tab of the block's properties form in Control
814
R110
February 2014
Builder. You must have an access level of at least Engineer to enter or modify values for
these parameters. The table does not include descriptions of the common parameters
such as block name and description.
Title
Parameter Name
Description
PV
PVSRC
PVSTS
PVSTSSRC
Input
P[1..10]
Input Description
PDESC[1..10]
Enable
PENABLE[1..10]
Scaling Factor
CP[1..10]
Input Substitute
Value
PSUB[1..10]
Scaled Input
PP[1..10]
Input
This function block accepts as many as ten inputs (P[1..10]):
The number of process input connections are equal to the number of inputs; the
default is 1.
R110
February 2014
815
Output
This block produces the following outputs:
As many as eight expression results (C[1] through C[8]) and their statuses
Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. You can also write a short descriptive
text for each expression. Table 1(Expressions) in the REGCALC block section lists the
expression operators and functions supported by this block for reference.
Parameters in Expressions
You must specify a parameter by its full tag name (for example.
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression. Also, the size
of each expression in the ENHAUXCALC block is limited to 255 characters. If the size
of the expression exceeds 255 characters, the following message appears.
PP[1..10]
PENABLE[1..10]
PSUB[1..10]
PCODESIZE[1..8
]
NUMSRCCONN[1
..8]
You do not need to associate the PENABLE[1..10] parameter with the corresponding
input (p[1..10]) explicitly in an expression.
816
R110
February 2014
The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:
TagName.'text'
TagName is the name of the external reference component (that is, an OPC Server). Text
can contain any characters, space, and special characters except for the delimiter
character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
responsibility to ensure that the text is something that the external reference component
will understand. If this text is incorrect runtime errors will occur.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.
Must include full tag.parameter name for P inputs in the expression and enclose
identification number in brackets instead of parenthesizes. For example,
CM151.AUXCALC BLOCK.P[1] CM151.AUXCALC BLOCK.P[2] is valid.
R110
February 2014
817
You can mix and nest all operators and functions (including conditional
assignments) in any order as long as types match or can be converted.
You can use blanks between operators and parameter names, but they are not
required.
You can use all data types in expressions, including enumerations. They are all
treated as numeric types.
TIP
You can use the integer parameters YEAR, MONTH, DAY HOUR, MINUTE,
and SECOND that provide local date and time for the controller in all
expressions, just like other integer parameters.
ATTENTION
The constant values can be directly configured (using CONST[1..8]) in the
Calculator blocks and a short description for the expressions can also be
provided (using (EXPRDESC[1..8]).
The expression constant parameters (CONST[1..8]) are used with the expressions as
follows:
The results of the expressions, which use the CONST [1...8] parameters, are affected if
you change the values of these parameters on the Constants tab.
R110
February 2014
Example 1
MIN((CM.ENHAUXCALCA.PENABLE[10] = 1) ? CM.ENHAUXCALCA.P[10]: userentered value ,value2,value3).
Example 2
CM.ENHAUXCALCA.P[1] CM.ENHAUXCALCA.P[2] and say P[1] is disabled then the
CEE will evaluate the expression as
CM.ENHAUXCALCA.PSUB[1] CM.ENHAUXCALCA.P[2].
In this case, if an input is disabled, the corresponding substitute value is used in the
expressions.
Assignable Outputs
Produces these outputs according to the values you assign to them.
R110
February 2014
819
You can assign an input, expression, result, or status value to PV and PVSTS through
block configuration. For example, you may assign the result of the second
expression(C[2]) to PV. You may also assign inputs directly to outputs; for example,
P[1] can be assigned to PV, and P[2] can be assigned to PVSTS.
ENHAUXCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the ENHAUXCALC block.
820
R110
February 2014
The ENHGENLIN block processes the input value (P1) based on the linearization
segment table selected by the ACTLINSEG parameter. The number of configured
linearization segment tables is defined by NUMLINSEG parameter.
The block compares the input value (P1) with each segment based on a coordinate pair.
ATTENTION
ENHGENLIN block has two dimensional input (IN[i][j]) and output (OUT[i][j])
parameters.
i = represents the linearization segment table number determined by
ACTLINSEG.
j = represents the co-ordinate number. The j value is determined by the P1
value.
n = represents the number of segment in the active curve. The n value is
determined by NUMSEGS [ACTLINSEG].
When it finds a segment that intersects with the input, the block displays the respective
output value (PV) as follows:
If P1 is exactly equal to the input value at the beginning of any segment (that is, P1
= IN[i][j], for j in the range of 0 to n, where i = ACTLINSEG-1 and n= NUMSEGS
[i]):
PV = OUT[i][j]
If P1 is less than IN value in the first linearization point (IN[i][0]), the first segment
is extrapolated:
If P1 is greater than the IN value in the last linearization point (IN[i][n]), the last
segment is extrapolated:
R110
February 2014
821
If P1 is within the configured range, the smallest j value is used where IN[i][j] is less
than P1 and the linearized value is interpolated:
where:
IN[i][j] = input value at the beginning of the intersecting segment.
IN[i + 1][j + 1] = input value at the end of the intersecting segment
OUT[i][j]= output value at the beginning of the intersecting segment
OUT[i + 1][j + 1] = output value at the end of the intersecting segment
ACTLINSEG = number of active linearization segment table for the curve based on
number of segment tables in which user has configured the segment coordinates.
Function
The ENHGENLIN block is used to characterize functions of a single parameter, such as
heat transfer vs. flow rate, or efficiency as a function of load. It is particularly useful
when the relationship of the input to engineering units is empirically determined.
The ENHGENLIN block support a maximum of 4 input-output relationship curves,
allowing the selection of one of them for PV calculation. The ACTLINSEG parameter is
used to select the input-output relationship curve in the block and to control the run-time.
The VIEWLINSEG parameter is used for Control Builder (CB) access of the tables. The
ENBTUNE parameter enables the tuning of input and output co-ordinates in the
Monitoring View.
The linearization segments collectively define an input-output relationship curve on a
single linearization segment table, which is represented with values of IN and OUT
parameters. The IN and OUT parameter values of the linearization segment table selected
by the ACTLINSEG parameter are used for PV calculation. If the ACTLINSEG
parameter is used as a block pin, a TYPECONVERT block is used in cascade with
ENHGENLIN block to provide an integer input to ACTLINSEG parameter.
822
R110
February 2014
Note: The IN/OUT parameter values can be edited only through the TEMPIN and
TEMPOUT parameter values when the system is running. TEMPIN and TEMPOUT
parameter is enabled when ENBTUNE parameter is ON.
If you try to modify the IN/OUT parameter value when the CM is ACTIVE and CEE is
RUN, an error follows: ENBTUNE parameter must be used to change IN/OUT
parameter values.
A single ENHGENLIN block is similar with four GENLIN blocks by providing 4 inputoutput relationship curves. The ENHGENLIN block provides only one output for inputs
rather the GENLIN blocks provide 4 outputs.
Configuration Parameters
A summary of the ENHGENLIN block specific parameter is explained in the following
table. You must have the access level as OPERATOR or ENGINEER to enter or
configure or modify these parameter values from the Main tab of the Control Builder
(CB). This table does not include the description of the common block parameters such
as block description, engineering unit, and so on.
Title
Parameter Name
Description
Number of Tables
NUMLINSEG
Active Linearization
Segment Table
ACTLINSEG
Number of Segments
NUMSEGS[INDEX1
]
View Table
VIEWLINSEG
Input Co ordinate
IN [INDEX1]
[INDEX2]
Output Co ordinate
OUT [INDEX1]
[INDEX2]
R110
February 2014
823
Input
Two input values are required:
ACTLINSEG parameter value must be given by the user or it can be fetched from
the TYPECONVERT block.
Output
PV.
Error Handling
The Control Module containing the ENHGENLIN block cannot change the
EXECSTATE status to ACTIVE, if the following conditions are satisfied:
The IN [ ][ ] parameter values are not in ascending order. The values must be
monotonically strictly increasing.
R110
February 2014
The logic explained in the figure is replaced using a single ENHGENLIN block.
There are different Non Linearization Relations between the percentages of generated
Load with the percentage of Valve opening for different sequences. The sequence curve
varies based on the operation sequence selection by the OPERATOR.
There are two different modes of Governor Valve (GV) operations performed by the
ENHGENLIN block.
R110
February 2014
825
The relation between the load percentage and the Governor Valves opening is gradually
increases and it is listed in the following table.
GVI SING DMD
826
X Co-ordinates
Y Co-ordinates
-1
-1
12.5
11.6
35.65
17.6
56.37
23
68.94
26.5
79.5
30
85.16
32.43
R110
February 2014
91.23
37.83
95.3
46.36
98.56
62.92
100
101
101
101
Sequence 1 (SEQ1)
Sequence 2 (SEQ2)
Sequence 3 (SEQ3)
The sequences and the related operation of the Governor Valves operation with respect
to the load are explained in the following table.
Sequence Number
SEQ 1
Description
First, the Governor Valves 3, 5, and 6 operation starts in
the initial load, then the Governor Valves 4, 1, and 2
operation starts sequentially in order as the load
increases. The following graph displays, when the load is
60 percentage:
Governor Valves 3, 5, and 6 are fully opened
GV4 is opened 25 % (approx)
GV1 is opened 8% (approx.)
GV2 is opened 0%
R110
February 2014
827
Sequence Number
SEQ 2
Description
SEQ 3
828
R110
February 2014
Sequence Number
Description
Governor Valves 3, 5, and 6 are fully opened
GV2 is opened 25 % (approx)
GV4 is opened 8% (approx.)
GV1 is opened 0%
The co-ordinates for the Governor Valves for each sequence are explained in the
following table.
For Governor Valves 1:
Governor Valve 1 (GV1)
SEQ1
SEQ2
SEQ3
X - COR
Y - COR
X - COR
Y - COR
X - COR
Y - COR
-1
-1
-1
-1
-1
-1
52
-1
36
70
63.67
12.55
47
12.56
81
12.55
68.67
17.6
52
17.6
84.83
17.6
73.67
26.5
57
26.5
89.83
26.5
76.77
32.43
60.1
32.43
92.93
32.43
78.96
37.83
62.29
37.83
95.12
37.83
R110
February 2014
829
80.99
46.36
64.32
46.36
97.15
46.36
82
54.21
65.335
54.21
98.17
54.21
82.57
62.9
65.9
62.9
98.73
62.9
83.23
81.57
66.56
81.57
99.39
81.57
83.34
100
66.67
100
100
101
100
101
100
101
101
101.1
SEQ2
SEQ3
X - COR
Y - COR
X - COR
Y - COR
X - COR
Y - COR
-1
-1
-1
-1
-1
-1
70
-1
52
36
81
12.55
63.67
12.55
47
12.56
84.83
17.6
68.67
17.6
52
17.6
89.83
26.5
73.67
26.5
57
26.5
92.93
32.43
76.77
32.43
60.1
32.43
95.12
37.83
78.96
37.83
62.29
37.83
97.15
46.36
80.99
46.36
64.32
46.36
98.17
54.21
82
54.21
65.335
54.21
98.73
62.9
82.57
62.9
65.9
62.9
99.39
81.57
83.23
81.57
66.56
81.57
100
101
83.34
100
66.67
100
101
101.1
100
101
100
101
R110
February 2014
SEQ2
SEQ3
X - COR
Y - COR
X - COR
Y - COR
X - COR
Y - COR
-1
-1
-1
-1
-1
-1
36
-1
70
52
47
12.56
81
12.55
63.67
12.55
52
17.6
84.83
17.6
68.67
17.6
57
26.5
89.83
26.5
73.67
26.5
60.1
32.43
92.93
32.43
76.77
32.43
62.29
37.83
95.12
37.83
78.96
37.83
64.32
46.36
97.15
46.36
80.99
46.36
65.335
54.21
98.17
54.21
82
54.21
65.9
62.9
98.73
62.9
82.57
62.9
66.56
81.57
99.39
81.57
83.23
81.57
66.67
100
100
101
83.34
100
100
101
101
101.1
100
101
R110
February 2014
X - COR
Y - COR
-1
-1
-1
8.9
12.55
17.825
17.6
831
Y - COR
34.47
26.5
42.58
32.43
45.62
37.83
47.65
46.36
48.665
54.21
49.23
62.92
50
100
100
101
101
102
ENHGENLIN parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the GENLIN block.
ATTENTION
The ENHGENLIN block is typically applicable in the C300 (50ms CEE)
controllers.
R110
February 2014
The parameters for a FLOWCOMP block should be fetched from another function block,
by block wiring or through a parameter connector.
At every execution cycle the parameter will be fetched to calculate the compensation
term and compensated flow.
Function
The FLOWCOMP block uses the following basic equation to calculate a compensated
flow value as its output.
Compensated flow = (uncompensated flow)
Where:
COMPTERM
The FLOWCOMP block offers five different equations for calculating the flow
compensation term (COMPTERM). There is one equation for liquids, one for steam, and
three for gases and vapors. Each equation may require different inputs. For example,
depending on which gases and vapors equation you choose, one requires temperature and
R110
February 2014
833
pressure measurements, another requires temperature, pressure and specific gravity, and
a third requires temperature, pressure and molecular weight.
Configuration parameters
The following table provides a summary of the FLOWCOMP specific parameters that
you can configure through the Main tab of the block's properties form in Control
Builder. You must have an access level of at least an Engineer to enter or modify values
for these parameters. The table does not include descriptions of the common parameters
such as block name and description.
Title
Parameter Name
Description
PV Display Format
PVFORMAT
Overall Scaling
Factor for PV
CPV
Flow Compensation
Factor 1
CF1
Flow Compensation
Factor 2
CF2
Compensation Term
High Limit
COMPHILM
Compensation Term
Low Limit
COMPLOLM
PV Equation Type
PVEQN
PV Characterization
Option
PVCHAR
834
R110
February 2014
Title
Parameter Name
Description
BADCOMPTERM.PR
BADCOMPTERM.SV
MAXCYCLE
P0
T0
Specific Gravity
RG
Pressure
RP
Steam Quality
RQ
Temperature
RT
Steam
Compressibility
RX
Reference Molecular
Weight
RMW
R110
February 2014
835
Input
The PV Equation Type (PVEQN) selection determines the number of inputs that the
FLOWCOMP block requires as outlined in the following table. All inputs must be
fetched from other function blocks.
If PVEQN is . . .
Equation A (EQA)
Equation B (EQB)
mass-flow compensation
of gases or vapors.
Equation C (EQC)
mass-flow compensation
of gases or vapors.
Equation D (EQD)
volumetric-flow
compensation of a gas or
vapor.
Equation E (EQE)
mass-flow compensation
of steam.
Output
This block produces the following outputs:
836
R110
February 2014
You can configure the COMPTERM parameter as an output pin on the FLOWCOMP
block for connection to another block.
Equations
The FLOWCOMP block uses the following basic equation.
PV = CPV
CF1 / CF2
COMPTERM
Where:
CPV
CF1
= Compensation factor
CF2
= Compensation factor
F
COMPTERM
Equation A
Used for mass-flow or volumetric flow compensation of liquids.
R110
February 2014
837
838
R110
February 2014
Equation B
Used primarily for mass-flow compensation of gases and vapors.
R110
February 2014
839
840
= Specific gravity
MW
= Molecular weight
= Pressure (input)
= Temperature (input)
R110
February 2014
RG
RP
RT
RQ
RX
RMW
P0
T0
Error handling
If the status of any input is bad, the FLOWCOMP block handles the situation as
explained in the Alarm handling section below.
If there are no bad inputs, but the status of one or more inputs is Uncertain, the
FLOWCOMP block sets PVSTS to Uncertain.
If you do not connect the required inputs to the FLOWCOMP block for the selected PV
Equation Type (PVEQN), the error message All required Inputs Not Connected will be
displayed when you try to load the FLOWCOMP block.
Alarm behavior
The logic used for BAD COMPTERM behavior is as follows.
If any of the inputs used in the configured PV Equation Type for computing
COMPTERM goes BAD, then:
If MAXCYCLE = NaN
R110
February 2014
841
Where:
MAXCYCLE
Is the configured number of alarm filter cycles during which the last
good value for the COMPTERM is to be held before becoming
NaN.
MAXCYCLE can take three possible values:
NaN - In this case:
0 - In this case:
Cycle
You can view the alarm with the highest priority through the HIALM.TYPE parameter
on the monitoring faceplate of the FLOWCOMP block. When the FLOWCOMP block is
in BADCOMPTERM alarm, the HIALM.TYPE indicates BADCOMPTERM. In this
case, HIALM.PR and HIALM.SV parameters are updated with BADCOMPTERM.PR
and BADCOMPTERM.SV parameter data, respectively.
Alarm example
In case of EQNA, if Specific Gravity (G) is BAD for longer than acceptable number of
cycles (MAXCYCLE cycles) then BADCOMPTERM alarm will be raised.
842
R110
February 2014
Fail-Safe values
If any of the input status signals F Status, X Status, P Status, T Status, Q Status, G
Status, and MW Status become BAD, the corresponding input values are set to NaN.
There are no fail-safe values for these variables
FLOWCOMP parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the FLOWCOMP block.
Each time the GENLIN block runs, it compares the input value (P1) with each segment
based on a coordinate pair - starting with the first and continuing until it finds a segment
that intersects with the input. When that segment is found, the block derives the output
(PV) as follows:
If P1 is exactly equal to the input value at the beginning of any segment (that is, P1
= IN[i], for i in the range of 0 to NUMSEGS):
R110
February 2014
843
PV = OUT[i]
PV =
OUT(1) - OUT(0)
IN(1) - IN(0)
If P1 intersects the last segment (that is, P1 > IN[i] for i = NUMSEGS - 1)):
PV =
OUT(NUMSEGS) - OUT(i)
IN(NUMSEGS) - IN(i)
If P1 intersects any other segment (that is, IN[i] < P1 < IN[i + 1] for i =1 to
NUMSEGS -2):
PV =
OUT(i + 1) - OUT(i)
IN(i + 1) - IN(i)
where:
IN[i] = input value at the beginning of the intersecting segment.
IN[i + 1] = input value at the end of the intersecting segment
OUT[i] = output value at the beginning of the intersecting segment
OUT[i + 1] = output value at the end of the intersecting segment
NUMSEGS = total number of segments in the curve based on 2 to 13 user defined
coordinate pairs.
844
R110
February 2014
ATTENTION
The first and last segments are treated as if they are infinitely
extended. So if P1 is less than IN[0] or greater than IN[NUMSEGS],
PV is computed by assuming that the slope in the appropriate segment
continues to the intersecting point.
Function
The GENLIN block is typically used to provide a linearized PV (in engineering units) for
a sensor with nonlinear characteristics. The GENLIN block can also be used to
characterize functions of a single parameter, such as heat transfer versus flow rate, or
efficiency as a function of load. It is particularly useful when the relationship of the input
to engineering units is empirically determined.
Inputs
The GENLIN block requires one input value (P1):
Outputs
The GENLIN block produces the following output:
PV and its status, PVSTS. It also sets Boolean flags PVSTSFL to reflect the status
of PVSTS for logical use.
Error handling
If any of the segment coordinates (IN[i] or OUT[i]) contains NaN (not a Number,
the Control Module that contains the GENLIN block will not be allowed to go
Active (EXECSTATE = Active).
GENLIN parameters
R110
February 2014
845
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the GENLIN block.
Each LEADLAG block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
846
R110
February 2014
Configuration Tab
Description
characters long.
PV Format (PVFORMAT) - Lets you select the decimal
Configuration
Parameters
Monitoring Parameters
R110
February 2014
847
Configuration Tab
Description
tab in the Control Builder.
Block Preferences
Function
The LEADLAG block is typically used in a feedforward control loop. It provides its
compensated PV output as the input to the feedforward (FF) input of the PIDFF block.
This helps condition the control response to the actual process characteristics.
Input
The block requires one input. P1 must be brought from another block.
Output
The block produces an output value (PV), a status (PVSTS), and a status flag
(PVSTSFL).
PV status
PV status (PVSTS) may have one of the following values:
The following Boolean flags (typically used with Logic and Alarm blocks) also reflect
the value of PVSTS:
848
R110
February 2014
Error handling
If the P1 input status (P1STS) is Uncertain, this block sets PV status (PVSTS) to
Uncertain.
If the P1 input status (P1STS) is Bad, this block sets the PV status (PVSTS) to Bad and
the PV output to NaN.
Equation
The LEADLAG block applies the following equation.
PV = L-1 [CPV (1 + LEADTIME s) / {(1 +LAG1TIME
(1 + LAG2TIME s)} P1(s)] +DPV
s)
Where:
CPV = Overall scale factor for PV
DPV = Overall bias for PV
L-1
LAG1TIME
LAG2TIME
= Second first order lag time constant (If 0, no second order lag).
The first order lag time (LAG1TIME) should be greater than or equal to 2
Where TS is the sample time in minutes.
The second order lag time (LAG2TIME) should be greater than or equal to 2
The absolute lead time (|LEADTIME|) should be greater than or equal to 2 TS.
(Note that the absolute value of lead time is used, since both positive and negative
lead times can be specified.)
R110
February 2014
TS.
TS.
849
Restart condition
When this block experiences a Restart condition, the lead-lag dynamics are set to a
steady state and the PV is calculated as follows.
PV = CPV
P1 + DPV
When the INITREQ parameter is True, the block's algorithm produces the same result as
the Restart condition.
LEADLAG parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the LEADLAG block.
850
R110
February 2014
The Rate of Change block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
851
Configuration Tab
Description
PV input for the block. The default value is 0 (zero).
High Range in EUs - Lets you specify the high input
852
Identification
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
R110
February 2014
Configuration Tab
Description
including the color of the block's faceplate.
Template Defining
Function
Limits the rate of input and provides the output variable based on the rate trip limits.
Limits the rate of change of output to the specified rate trip limit when the input
variation is greater than the rate trip limit in either direction. The output is changed
at the specified rate limit until the value is equal to the input variable.
Rate limit is not applied and PV is set to P1 if the rate limits are NaN.
For an invalid input (=NAN), rate limiting is not done and the output is NaN.
ATTENTION
Predecessor Block
The ROC block receives three FLOAT type inputs. The input P1 receives input from
other function blocks. An Engineer has access to the two ROC limits. The following
figure illustrates a logic using a NUMERIC block and an ROC block.
R110
February 2014
853
Execution
If the input variation is more than the specified limit, the output is limited to the change
specified using PVROCLM (Rate of Change's Trip Point) and it is applicable to input
variation in either direction. For each block execution cycle, the output is incremented by
the rate of change until the output is equal to the original input. PVROCPOSFL indicates
if the limit is exceeded in the positive direction and PVROCNEGFL indicates if the limit
is exceeded in the negative direction. If P1= NAN, rate limiting is not done and PV is set
to NaN and PVROCPOSFL and PVROCNEGFL are reset. If the limit is NaN, then limit
is not applied and PV is set to P1.
Configuration examples
User scenario 1
The following configuration is recommended if the input has to be rate limited in the
positive direction at the rate of 60 EUs/min.
854
R110
February 2014
PVROCPOSLM = 60
PVROCNEGLM = NaN
PVEULO = 0
PVEUHI = 100
User scenario 2
The following configuration is recommended if the input has to be rate limited in the
negative direction at the rate of 60 EUs/min.
PVROCPOSLM = NaN
PVROCNEGLM = 60
PVEULO = 0
PVEUHI = 100
Inputs
P1 - Process Input 1.
Outputs
PVROCPOSFL - This flag turns ON when rate limiting is done in the positive
direction.
PVROCNEGFL - This flag turns ON when rate limiting is done in the negative
direction.
PV - Output of ROC.
BADPVFL - This flag is set when a bad input is received at the block.
Error handling
Access lock and index are verified during Load and Store of the block's parameters.
If the positive limit is greater than span in EUs/min or less than 0, then a
"LimitOrRangeCrossover" Error is reported.
R110
February 2014
855
If negative limit is greater than the span in EUs/min or less than 0 %, then
"LimitOrRangeCrossover" Error is reported.
If new PVEULO causes the positive/negative trip limits to go beyond the range of 0
- Span in EUs/min, then "LimitOrRangeCrossover" error is reported.
If new PVEUHI causes the positive/negative trip limits to go beyond the range of 0 Span in EUs/min, then "LimitOrRangeCrossover" Error is reported.
ATTENTION
BADPVALM.FL and BADPVFL parameters essentially provide the same
functionality of indicating a bad PV. Either of the two parameters may be used
to achieve the functionality.
ROC parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Rate of Change block.
856
R110
February 2014
Select an input based on the Multiplex value; that is, act as a multiplexer.
Function
This function block supports the following methods for selecting an input:
Method
Processing
MIN
Select the input with the minimum value. Ignored inputs are excluded.
MAX
Select the input with the maximum value. Ignored inputs are excluded.
MED
AVG
MUX
Select an input based on the Multiplex value; that is, act as a multiplexer.
Inputs are not ignored.
R110
February 2014
857
Configuration parameters
The following table provides a summary of the SIGNALSEL specific parameters that
you can configure through the MAIN tab of the block's properties form in Control
Builder. The table does not include descriptions of the common parameters such as block
name and description.
Title
Selection Method
Parameter Name
SELMETHOD
Description
Lets you define the method to be
used to select the input to the
block. The choices are
MIN: Select the input with the
minimum value.
MAX: Select the input with the
maximum value.
MED: Select the median input.
AVG: Calculate the average of
the inputs.
MUX: Select an input based on
858
NMIN
MEDOPT
BOOLMUX
SELXFL
MUXSEL
R110
February 2014
Title
Parameter Name
Description
when the selection method is
MUX.
PVRATE
IGNORHI
IGNORLO
Ignore Limit
IGNORLM
Ignore Time
IGNORTM
DEVALM.TP
DEVALM.TM
DEVALM.PR
DEVALM.SV
Deviation Alarm
Deadband
DEVALM.DB
Deviation Alarm
Deadband Units
DEVALM.DBU
FRCPERM
R110
February 2014
859
Configuration examples
Example 1: Selection method is MED
A strategy configured for a SIGNALSEL block with four inputs configured to find the
median value of the valid inputs would function as follows:
Case 1:
Here, as shown in the figure above the block is configured for "Middle Two Inputs
(MEDOPT): MIN".
Hence, the selected input shall be the Minimum of the middle two input values (P[1] and
P[3]) which is P1. Hence P1 is selected and PV of SIGNALSEL is 9, the value of P[1].
Case 2:
860
R110
February 2014
If the block were configured for "Middle Two Inputs (MEDOPT): MAX", then
following parameters would be
PV: 11
PVSTS: UNCERTN
SELIN: Select P3
Now, maximum of the middle two input values (P[1] and P[3]) is selected. Hence P3 is
selected and PV is 11, the value of P[3]. PVSTS is UNCERTN because P[3] is the
selected input and the status of P[3] is uncertain.
Case 3:
If the block were configured for "Middle Two Inputs (MEDOPT): AVG", then following
parameters would be
PV: 10
PVSTS: UNCERTN
SELIN: None
Now average of the middle two input values (P[1] and P[3]) is selected. Hence none is
selected and PV is 10. PVSTS is UNCERTN because selected input is an average of
P[1] and P[3], one of which (P[3]) has status as uncertain.
Case 4:
Say input P[3] goes Bad. Now only three (odd) inputs are valid and hence the middle
value (P[1]) of the three is taken as the PV directly whatever be the MEDOPT
(applicable only for even number of valid inputs). The strategy would look as below
R110
February 2014
861
Case 5:
Say input P[1], P[3], P[4] are ignored, then the respective IGNORDFL[ ] parameters are
set. Now only one input is valid and CURINPT goes less than the NMIN and hence the
blocks output is set to Bad and SELIN is None.
Case 6:
Now, the user could override the selection using force-select, that is, both FRCPERM
and FRCREQ are set, then the input denoted by the FRCSEL shall be the selected input.
The user can force-select ignored inputs also.
Selection method is MUX
If the block is configured with Selection Method MUX, then NMIN, Ignore Inputs
would not be applicable and cannot be edited. CURPINPT would be equal to
NUMPINPT. Also, bad inputs could be selected. Now the block would function as
follows:
862
R110
February 2014
If the block is configured with Selection Method = MUX and BOOLMUX= On, it would
function as follows.
R110
February 2014
863
Input
864
This function block accepts between two to six selectable inputs, P[1] through P[6].
Minimum two inputs are required (P[1] and P[2]).
If less than two inputs are connected a warning "At least two inputs needs to be
connected" shall be given during load and activation of the block shall be prevented.
If the total number of valid inputs goes less than the configurable parameter
Minimum Valid Inputs(NMIN) value, then the output of the block shall go bad.
R110
February 2014
The NMIN parameter applies only to the following selection methods: MIN, MAX,
MED, or AVG and is not applicable if the selection method is MUX or Force
selection is performed.
Ignore Inputs
The function block always ignores Bad inputs, such as NaN, which are connected to any
upstream block. Unconnected inputs do not participate in the selection processing. In
addition, the user may choose to ignore the "n" highest (IGNORHI) or/and "m" lowest
(IGNORLO) inputs. These values can be from Logic blocks and user programs may also
store to it, so the number of ignored inputs may be dynamic.
If the total number of inputs to be ignored (n+m) is equal to or greater than the total
number of connected inputs, a warning message "IGNORHI+IGNORLO should be
less than the number of connected inputs" shall be given during load and activation
of the block shall be prevented. During running state for the same above case, a noncritical error with the same error message is displayed and the previous value of
IGNORHI or IGNORLO (whichever is configured) is retained.
The user may also choose to ignore inputs that are outside a user-specified ignore limits.
It ignores Bad inputs (NaN), and the highest and lowest inputs (defined by
IGNORHI and IGNORLO).
If there are no remaining inputs, ignore limit checking is not done for the block.
If the number of remaining inputs is odd, the "center value" = the median input.
If the remaining inputs is even, "center value" = the average of the middle two
inputs.
It calculates a high and low ignore limit from specified limit (IGNORLM):
R110
February 2014
865
It compares each of the remaining inputs with the high and low ignore limits.
If an input is outside the ignore limits for more than IGNORTM (the ignore time)
seconds, the function block updates the appropriate parameters (the ignored input
flags IGNORD, IGNORDFL[16] and the current number of valid inputs
CURPINPT). As a result, the input will be ignored in future processing (that is,
Input Selection).
The center value, high and low ignore limits shall be computed every cycle of
execution of the block.
Inputs that have been ignored on exceeding ignore limits, shall become valid again
when their value returns back within the high and low ignore limits.
TIP
If there are only two remaining inputs, and the difference between them
exceeds the ignore limit, the block's output (PV) is set to NaN.
The IGNORHI, IGNORLO and ignore limit checking shall not be applicable for the
MUX selection method.
Output
This auxiliary PV block shall have output PV and its status PVSTS.
It shall have a parameter SELIN denoting which input, if any has been selected as
the output.
Selection Methods
This function block supports the following methods for selecting an input:
Method
Processing
MIN
Select the input with the minimum value. Ignored inputs are excluded.
MAX
Select the input with the maximum value. Ignored inputs are excluded.
866
R110
February 2014
Method
Processing
MED
AVG
MUX
MIN
The output (PV) gets the minimum value of all the valid (not ignored) inputs.
The selected input shall be the input that has this minimum value.
If two or more inputs have the minimum value then the selected input would be the
input with the highest index. For instance, if P[2] and P[5] have the minimum value
then the selected input would be P[5].
MAX
The selected input shall be the input that has this maximum value.
If two or more inputs have the maximum value then the selected input would be the
input with the highest index. For instance, if P[2] and P[5] have the maximum value
then the selected input would be P[5].
AVG
The selected input shall be None because PV is a calculated value and not any input
by itself.
R110
February 2014
867
MED
All the valid inputs are arranged in ascending order and median value is taken as
PV.
If odd number of valid inputs is present then the middle value will be the PV and the
selected input shall be the respective input.
If even number of valid inputs is present then the PV shall be any one of the
following depending on the parameter 'Median Option for Middle Two Inputs
(MEDOPT)'.
If MEDOPT is MIN, then PV shall be the minimum of the middle two values and
the respective input shall be selected input.
If MEDOPT is MAX, then PV shall be the maximum of the middle two values and
the respective input shall be selected input.
If MEDOPT is AVG, then PV shall be the average of the middle two values and
selected input shall be none because average is computed.
TIP
While arranging in ascending order, if two inputs have same value; then the
input that comes first in order 1 to 6 precedes the other.
MUX
868
If the fetched or configured MUXSEL value goes invalid, such as greater than the
number of process inputs ,then the previous valid value of MUXSEL is retained and
the respective input remains selected.
R110
February 2014
In Boolean Mux selection, the SELXFL[1..6] flags are scanned from 1 to 6 and the
block selects an input whose corresponding SELXFL flag is first On.
If the Boolean selected input is not connected, then the PV value goes bad (NaN)
and SELIN will have the index of unconnected input.
And, if none of the SELXFL flag is on (but only the BOOLMUX is on and
SELMETHOD is Mux), then the PV value goes bad (NaN) and SELIN's value will
be None.
Ignoring of Inputs and deviation alarming are not applicable for MUX. Also, the
deviation alarm state should return to normal.
If the value of the input denoted by the control signal is Bad, then the PV also goes
Bad.
Force-Select
The operator or a user program may override the selection method and "force select"
a particular input.
Force-select may override only the following selection methods: MIN, MAX, MED,
or AVG and is not applicable if the selection method is MUX.
If the force selected input is not connected, then the PV value goes Bad (NaN) and
the respective unconnected input remains selected
Ignore Inputs, Ignore limit checking, NMIN and deviation alarming are not
applicable during force selection. Also, the deviation alarm state should return to
normal.
R110
February 2014
869
Ramping rate is specified in rate of change per minute. PV shall ramp at this rate to the
new value. If the ramp rate is zero, bumping occurs. Ramping can be disabled by setting
ramp rate to NaN.
Deviation Alarming
If the deviation trip point is set to be NaN, deviation alarming is disabled; and if it is
set to be greater than or equal to zero, deviation alarming is enabled.
Once deviation alarm is triggered, a deviation alarm flag is set. When the alarm goes
off, the flag is reset.
The SIGNALSEL block also has a deadband (DEVALM.DB) for the deviation
alarm.
The deadband is applied only when the alarm return-to-normal state. Once inputs are
alarmed, it must return to a range of DEVALM.TP - DEVALM.DB, before it is
considered "normal".
Also, the alarm is triggered only when the deviation range (difference between the
highest and lowest inputs) exceeds DEVALM.TP for more than the specified time.
The purpose of this parameter is to specify whether the deadband given by the user
is in engineering units or in percentage of the trip point.
Error handling
The SIGNALSEL block sets PV state to Uncertain under any of the following
conditions:
870
R110
February 2014
The selection method is MIN, MAX, or MUX, and the status of the selected input is
Uncertain.
The selection method is AVG, and the status of any input is Uncertain.
The selection method is MED and the status of the selected middle input (odd
number of valid inputs) or any of the middle two inputs (even number of valid
inputs) is Uncertain.
The block sets the PV state to Manual under any of the following conditions:
The selection method is MIN, MAX, or MUX, and the status of the selected input is
Manual.
The selection method is AVG, and the status of any input is Manual.
The selection method is MED and the status of the selected middle input (odd
number of valid inputs) or any of the middle two inputs (even number of valid
inputs) is Manual.
PV becomes NaN and PV state becomes Bad under either of the following conditions:
The number of valid inputs goes less than NMIN (Minimum Valid Inputs) value.
Except when force-selected or selection method is MUX, inputs with a Bad status are
ignored.
PV is set to NaN.
R110
February 2014
871
Cycle time counters used for DEVALM.TM and IGNORTM parameters are reset so
that the counting starts from the beginning when the SIGNALSEL block goes to
active again.
FRCREQ
IGNORLO
NMIN
DEVALM.TM
FRCSEL
IGNORTM
PVRATE
DEVALM.TP
IGNORHI
MEDOPT
SELIN
FRCPERM
IGNORLM
MUXSEL
SELMETHOD
SIGNALSEL parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the SIGNALSEL block.
872
R110
February 2014
You specify a target value for the accumulator, and up to four trip points, which are
"near" and "nearer to" the target value. The TOTALIZER block sets status flags to
indicate when the accumulator value is near (and nearer to) the user-specified target
values. A trapezoidal-integration method of accumulation is used to improve accuracy.
Accumulation proceeds even when the target value is exceeded. An external operator or
program command is required to stop the block from further accumulating.
Function
The TOTALIZER block is typically used to accumulate total flows. For situations where
the flow transmitter may not be precisely calibrated near the zero-flow value, a zero-flow
cutoff feature is provided such that when P1 is below the cutoff value it clamps to zero.
Configuration example
The following figure and its companion callout description table show a sample
configuration that uses a TOTALIZER block in a flow control loop for quick reference.
The view in the following figure depicts a loaded configuration in Monitoring mode.
R110
February 2014
873
874
Callout
Description
Use the PV parameter connection to carry data and status from the analog
input, DATAACQ, and TOTALIZER blocks to the PID block. The default PV
connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter
(PVVALSTS) when it is required.
R110
February 2014
Callout
Description
When monitoring, you can use the COMMAND parameter on the block to
issue Start, Stop, or Reset command. You must configure COMMAND as a
monitoring parameter through the block configuration form.
You can also use logic inputs to STARTFL, STOPFL, and RESETFL pins
on the block to initiate Start, Stop, and Reset commands, respectively.
When the accumulated value (PV) reaches the accumulated target value
(ACCTV), the accumulated target value flag (ACCTVFL) turns ON.
In this example, the following values were configured for the Trip Points 1
to 4 through the parameter configuration form based on a configured target
value of 100.
Trip Point 1 (ACCDEV.TP[1] = 10
Trip Point 2 (ACCDEV.TP[2] = 20
Trip Point 3 (ACCDEV.TP[3] = 30
Trip Point 4 (ACCDEV.TP[4] = 40
Input
The TOTALIZER block requires one input (P1):
P1 is the value to be accumulated - the input value may be Real, Integer, or Boolean,
but is always stored as a real number.
R110
February 2014
875
Outputs
The TOTALIZER block produces the following outputs:
Flags, indicating if the accumulated value has reached the user-specified target value
or one of the accumulator deviation trip points (ACCTVFL and ACCDEV.FL [14]).
TOTALIZER states
The TOTALIZER block has two possible states: Stopped and Running. The STATE
parameter identifies the current state and the following parameters may be used to
change the state:
Reset - requests the TOTALIZER to reset the accumulated value (PV) with a
user-specified reset value (RESETVAL). STATE will not change; if the
accumulator is running, it continues from the reset value.
Totalizer must be reset using the reset pin before the totalizer can start counting.
Otherwise P1 will have a good value, but PV will remain at zero.
When the TOTALIZER receives a reset command, it copies the current value of
PV to OLDAV (old accumulation value), and then sets PV equal to
RESETVAL. This allows other system functions using the totalized value to
reset the TOTALIZER without losing any "accumulation".
876
CMDATTR: Specifies who may store it to COMMAND (that is, either the operator
or a user program through another function block). CMDATTR is used to prevent
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
the operator from inadvertently changing the accumulator while it is under program
control and allows the operator to override a program.
Possible choices are:
STARTFL (Start Flag): Allows either a Logic block or user-written program to store
it to COMMAND.
STOPFL (Stop Flag): Allows either a Logic block or user-written program to store
to COMMAND.
877
a trip point. For example, if the user sets ACCTV = 50 and ACCDEV.TP[1] = 10, the
TOTALIZER block sets ACCDEV.FL[1] to ON when PV is greater than or equal to 40.
Equations
PVEQN is a user-configured parameter, which specifies how the TOTALIZER should
handle bad inputs and warm restarts. One of the following equations is specified using
PVEQN:
Equation
The following table summarizes block actions associated with a given PVEQN handling
option relative to the accumulator state and the input status.
If Accumulator is . . .
Running (STATE =
RUNNING) and the input
status (P1STS) is BAD
878
And Option is . . .
Use zero if input is
bad.
Then, block . . .
Sets the input value (P1) to zero
and sets PVSTS to Uncertain.
When the input status (P1STS)
returns to normal, PVSTS
remains Uncertain until a Reset
command is received.
R110
February 2014
If Accumulator is . . .
And Option is . . .
Then, block . . .
Running (STATE =
RUNNING) and the input
status (P1STS) is BAD
Use last good value if Sets the input value (P1) to its
input is bad.
last good value and sets PVSTS
to Uncertain.
When the input status (P1STS)
returns to normal, PVSTS
remains Uncertain until a Reset
command is received.
Running (STATE =
RUNNING) and the input
status (P1STS) is BAD
Running (STATE =
RUNNING)
Running (STATE =
RUNNING)
R110
February 2014
time_scale
879
Where:
PVi
PV(i-1)
C1
Pi
P(i-1)
time_scale
Error handling
The input status is Bad and the "use zero" or "use last good value if input is bad"
option is configured (Equation A, B, D, or E).
The status of the input (P1STS) is Bad and the "stop if input is bad" option is
configured (Equation C or F).
The TOTALIZER block is in warm restart and the "stop" option is configured
(Equation D, E, or F).
When PVSTS is Bad, the TOTALIZER block sets ACCTVFL and ACCDEV.FL[14] to Off.
ATTENTION
When the input status returns to normal, a Reset command is needed to
return PVSTS to Normal.
880
R110
February 2014
TOTALIZER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TOTALIZER block.
R110
February 2014
881
882
R110
February 2014
Each DATAACQ block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
883
Configuration Tab
Description
blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
PV Source Option (PVSRCOPT) - Lets you select
R110
February 2014
Configuration Tab
Description
falls below this limit, the block clamps the PV to the limit
value and sets the PV low limit flag (PVEXLOFL). The
default value is -2.9.
Low Signal Cut Off (LOCUTOFF) - - Lets you specify the
low signal cutoff limit for the P1 input after filtering and
clamping. When PVAUTO is below the limit, the block
sets the PVAUTO value to the PVEULO value. Only
applicable with PV character selection of Linear or
Square Root. The default value is NaN (Not-a-Number),
which means there is no cutoff limit.
Clamping Option (P1CLAMPOPT) - Lets you specify
filter time in minutes for the P1 input. When time is nonzero (1 to 1440 minutes), a first-order filter is applied to
P1EU and the result is stored in an intermediate
parameter called FilteredP1 (not a visible parameter). As
long as FilteredP1 is within PV limits, it is copied to
PVAUTO. See Input Filtering in this section for more
details. The default value is 0.
Alarms
R110
February 2014
PV High (PVHIALM.FL)
PV Low (PVLOALM.FL)
Bad PV (BADPVALM.FL)
885
Configuration Tab
Description
Trip Point - Lets you specify the following trip points for
R110
February 2014
Configuration Tab
Description
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, PVHIALM.DB and
PVLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in
Configuration
Parameters
Monitoring Parameters
Block Preferences
Insertion Type
R110
February 2014
887
Configuration Tab
Description
for regulatory control blocks for more information.
Description
P1
P1STS
P1EU
PVAUTO
PVAUTOSTS
PVEXHIFL
PVEXLOFL
PVSTS
888
You must insert CAB instances in the same Control Module that contains the
DATAACQ block.
You can use CAB instances for standalone operation or as programs whose
execution is inserted into the flow of other compatible blocks. For standalone
operation, you must configure the CAB for an Access Level of PROGRAM. For
insertion program operation, you must configure the CAB for an Access Level of
CONTCONTROL.
R110
February 2014
If you insert multiple CAB programs at the same point, the order in which the
insertions are configured determines their execution order. During configuration, the
ORDERINCM parameter of the inserted CAB instance changes automatically to
match that of the calling DATAACQ block and the INSERTION parameter of the
inserted CAB instances is set to TRUE.
CAB instances configured for insertion execute only when they are called during
DATAACQ block execution and are not executed as part of the normal Control
Module execution.
CAB instances configured for insertion should normally have no outside pin
connections configured. If you need to share CAB instance data with blocks other
than the one with inserted CAB programs, you can use parameter connectors or
direct wire connections to configured pin connections for custom data parameters on
the CAB instance. See the Pin connections to inserted CAB instances section for
more information.
The Control Builder application will not allow you to configure the same CAB
instance as an insertion by more than one DATAACQ block.
R110
February 2014
Function
Provides the capability of performing a
calculation on the fetched input value. The
user-written algorithm must store the computed
value into the process input value (P1). The
configured parameter references in the CAB
instance acquire inputs for the CAB program.
The value placed in P1 goes through the rest
of the processing namely PV characterization,
filtering, PV source selection and alarm
processing. The user-written CAB program
stores the calculated value in P1 and must also
store the status into parameter P1STS based
on the value of P1. If the calculated value is
NaN, the status is set to BAD. If calculated
value is good, the status is set to Normal The
CAB program should also handle the scenario
where the input recovers from a BAD status.
Note that the value of P1STS can never be set
to Manual or Uncertain, in a simple strategy.
889
Insertion Type
Function
R110
February 2014
If your application calls for inserted CAB instances to share data with blocks other than
the calling block, you can configure pin connections for custom data parameters on the
CAB instance. If pin connections are configured, be aware that the data transfer operates
as follows:
Pin connections always transfer data into a CAB insertion program just before
execution of the calling block.
Pin connections always transfer data out of a CAB insertion program just before
execution of the block that is pulling the CAB custom data parameter (CDP).
If the program execution runs till completion, the status will read NORMAL.
If the program does not run till completion, it returns a non-normal status.
When any of the insertions return a non normal status, the insertion fail flag
(INSFAILFL) in the DATAACQ block is set to TRUE (ON). The flag is reset to FALSE
(OFF), when all the insertions recover and return a normal status.
IF PVSOURCE = AUTO, the PV status is set to bad and a BADPV alarm condition
is set to TRUE
P1FILTINIT is set to TRUE. This will reset the P1 value during filtering
Insertion fail alarm condition is set to TRUE, if the status is not a termination
The BADPV alarm, Insertion fail alarm and any other alarms detected in the current
cycle are processed
If a Post_Alarmproc insertion fails and there are no other errors, the PV is left as is and
the PV status is left in Normal state.
R110
February 2014
891
892
Description
R110
February 2014
Callout
Description
containing the daca block.
Failure Scenario
If the CAB_1 program does not run till completion and returns a non-normal status, the
following action takes place:
The value of PVAUTO and PV are set to NaN.
If PVSOURCE is configured as AUTO, PV status is set to BAD and BADPV alarm
R110
February 2014
893
894
Description
R110
February 2014
Callout
Description
True.
R110
February 2014
895
896
Description
The CAB instances named CAB_1A and CAB_2A are added to the
Control Module containing the daca block.
R110
February 2014
Callout
Description
both CAB instances are turned On or set to True.
Failure Scenario
If either CAB_1A or CAB_2A program does not run till completion and returns a nonnormal status, the following action takes place:
The value of PVAUTO and PV are set to NaN.
If PVSOURCE is configured as AUTO, PV status is set to BAD and BADPV alarm
Input
The DATAACQ block requires one process input value - P1. P1 must be brought from
another block.
R110
February 2014
897
PVEXHILM and PVEXLO.LM define the high and low limits of P1 in engineering
units.
P1 status
You must configure the DATAACQ block to bring P1 from another block. Typically, the
other block is an AI Channel block. If the P1 source provides a value and status, the
DATAACQ block fetches both; otherwise it fetches the value only and derives a status
from that.
If the P1 source provides a value and status, the status (P1STS) may have one of the
following values:
Manual - value is OK, but was stored by an operator (at the source block)
Uncertain - value is OK, but was stored by a user-program (at the source block)
If the P1 source provides a value only, the block derives P1STS as follows:
PV Characterization
You can configure the PV Characterization option to have the DATAACQ block provide
one of the following conversion functions.
LINEAR: Converts P1 to Engineering Units based on the 0 to 100 input span (100)
and the configured PV span in Engineering Units (PVEUHI - PVEULO). The linear
conversion is calculated as follows.
P1EU
(P1 /100)
where:
P1
898
R110
February 2014
P1EU
PVEUHI
PVEULO
100
For example, If you want to convert the P1 input to a range of 0 to 1200 degrees,
configure PVEULO as "0" and PVEUHI as "1200". In this case, if P1 input is 50%,
P1EU equals (50 / 100) (1200 - 0) + 0 or 0.5 1200 equals 600 degrees.
SQUARE ROOT: Applies a square root calculation to the P1 input such that 100%
of span equals 1.0. Then, convert the square root value to Engineering Units based
on the configured PV span in Engineering Units (PVEUHI - PVEULO). The Square
Root conversion is calculated as follows.
(PVEUHI - PVEULO) +
For example, If you want to convert the P1 input to a range of 0 to 1200 gallons per
hour, configure PVEULO as "0" and PVEUHI as "1200". In this case, if P1 input is 40%,
P1EU equals the square root of (40 / 100) (1200 - 0) + 0 or 0.632 1200 equals 758.4
gallons per hour.
Input filtering
The P1 FILTTIME parameter indicates if P1 should be filtered. If a non-zero filter time
(P1FILTTIME) is specified, a first-order filter is applied to P1EU and the result is stored
in an intermediate parameter called FilteredP1 (not a visible parameter). As long as
FilteredP1 is within PV limits, it is copied to PVAUTO.
R110
February 2014
899
Ts
P1FILTTIME
Actual input value is stored in P1; the linear or square root converted P1 in EU is
stored in P1EU, and the filtered and clamped result is stored in PVAUTO.
If P1 is bad (NaN), the block stops filtering and sets PVAUTO to NaN. When P1
returns to good, the block sets FilteredP1LAST equal to the new P1EU, and starts
filtering again.
P1FILTTIME may have a value of 0 to 1440 minutes (or fractions thereof). Given a
single-step change in P1:
P1FILTTIME.
Input clamping
The P1CLAMPOPT parameter is used to clamp a filtered P1 within PV high/low limits
(PVEXHILM and PVEXLOLM). If filtering is not configured, then P1CLAMPOPT is
used to clamp P1 as follows:
900
If P1CLAMPOPT = Enable, the block clamps the filtered P1 to the PV limits and
stores the result in PVAUTO. If the filtered input is outside the PV limits:
P1STS = Normal
R110
February 2014
If P1CLAMPOPT = Disable and the filtered P1 is outside the limits, the block sets
PVAUTO to Bad. If the filtered input is outside the PV limits:
P1STS = Normal
PVAUTO = NaN
PVAUTOSTS = Bad
Output
The DATAACQ block produces an output value (PV) and status (PVSTS) as well as a
status flag (PVSTSFL).
PV source selection
PVSOURCE (which may be changed by the operator or user program) provides the
following values to specify where the block's output should come from:
MAN (Manual) - indicates that the operator may enter the PV and:
rejects any attempts by the operator to store a value that exceeds the PV limits
(PVEXHILM and PVEXLOLM.
R110
February 2014
901
SUB (Substitution) - indicates that a user program may enter the PV and
if the program attempts to store a value that exceeds the PV limits (PVEXHILM
and PVEXLOLM), the value is clamped to the appropriate limit and the "limit
exceeded" flag (PVEXHIFL and PVEXLOFL) is set.
PV status
PV status (PVSTS) may have one of the following values:
The following Boolean flags (typically used with Logic and Alarm blocks) also reflect
the value of PVSTS:
Alarm processing
The DATAACQ block may be configured to generate an alarm when PV exceeds one of
the following trip points for more than a specified time:
PV High trip point (PVHIALM.TP) - if PV exceeds this trip point for more than
PVHIALM.TM seconds, a PV High alarm is generated and the PV High alarm flag
(PVHIALM.FL) is set.
PV High alarming is enabled by setting PVHIALM.TP to a value which is not
IEENaN, and disables it by setting PVHIALM.TP = NaN.
902
R110
February 2014
PV High High trip point (PVHHALM.TP) - if PV exceeds this trip point for more
than PVHHALM.TM seconds, a PV High High alarm is generated and the PV High
High alarm flag (PVHHALM.FL) is set.
PV High High alarming is enabled by setting PVHHALM.TP to a value which is not
IEENaN, and disabled by setting PVHHALM.TP = NaN.
PVHHALM.TP must be <= PVEUHI.
PV Low trip point (PVLOALM.TP) - if PV falls below this trip point for more than
PVLOALM.TM seconds, a PV Low alarm is generated and the PV Low alarm flag
(PVLOALM.FL) is set.
PV Low alarming is enabled by setting PVLOALM.TP to a value which is not
IEENaN, and disabled by setting PVLOALM.TP = NaN.
PVLOALM.TP must be >= PVLLALM.TP.
PV Low Low trip point (PVLLALM.TP) - if PV falls below this trip point for more
than PVLLALM.TM seconds, a PV Low Low alarm is generated and the PV Low
Low alarm flag (PVLLALM.FL) is set.
PV Low Low alarming is enabled by setting PVLLALM.TP to a value which is not
IEENaN, and disabled by setting PVLLALM.TP = NaN.
R110
February 2014
903
ATTENTION
The following parameters also apply to each of the previously specified alarms:
904
R110
February 2014
the high trip point before it is considered "normal"; and if it is in low alarm, it must
return to a value of PVLOALM.DB above the low trip point.
Alarm priority (PVHIALM.PR, PVHHALM.PR, ROCNEGALM.FL, etc.) Indicates the relative priority of the alarm.
Alarm severity (PVHIALM.SV, PVHHALM.SV, ROCNEGALM.SV, etc.) Indicates the relative severity of the alarm (from 0 to 15).
PV significant-change alarming
If PV is between the high and high-high alarm trip points and continues to rise, the
following parameters may be used to reannunciate the high alarm:
Similarly, if PV is between the low and low-low alarm trip points and continues to
decrease, the following parameters may be used to reannunciate the low alarm:
R110
February 2014
905
Bad PV alarm
The DATAACQ block may be configured to generate a "Bad PV" alarm if PV = NaN
(Not a Number).
DATAACQ parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the DATAACQ block.
906
R110
February 2014
Each DEVCTL block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line Context
Sensitive Help.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
907
Configuration Tab
Description
values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the
908
R110
February 2014
Configuration Tab
Description
output state (OP). Use this online when a limit
switch has failed, or as a debug mode.
Number Of Inputs (NUMDINPTS) - Lets you specify the
Inputs
on Main tab.
Inputs 1, 2, 3, 4 (DI[1..4]) - Shows the input combinations
909
Configuration Tab
Description
number of states (NUMSTATES) is three.
Pulse Output (POCONNECTED[1..3]) - Lets you specify
R110
February 2014
Configuration Tab
Description
cannot set or reset the BYPASS parameter.
Bypass Permissive and Override Interlocks (BYPASS) -
R110
February 2014
911
Configuration Tab
Description
None
ONESHOT
SEMICONT
CONTRTN
CONT
912
R110
February 2014
Configuration Tab
Description
feedback time. This alarm returns to normal when
the PV state becomes the same as the OP state.
This alarm does not apply for momentary
commanded states.
R110
February 2014
913
Configuration Tab
Description
is 0. This can only be configured if the number of
states is 3.
R110
February 2014
Configuration Tab
Description
this alarm.
R110
February 2014
915
Configuration Tab
Description
916
R110
February 2014
Configuration Tab
Description
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Function
The DEVCTL block allows manipulation of sets of digital outputs and interprets
corresponding feedback of digital inputs. Operation consists of transmitting the
commands represented by the state parameter OP (the Commanded Output State),
monitoring PV (the Current Active State), and producing alarms based on various
configurations such as whether or not the PV has achieved the state commanded in OP.
You can red tag a DEVCTL block. Refer to the About Red Tagging section for more
information.
ATTENTION
Refer to the Sequential Control Module User Guide for more information on
R110
February 2014
917
The following figures are a graphic representation of the DEVCTL block's major
functions and associated parameters.
Batch Level 1
Driver
NUMDINPTS
DI[1 ... 4]
Input
Processing
DIVALSTS[1...4]
PVSRCOPT
PVSOURCE
PV
Processing
DIPVMAP[0..16]
NUMSTATES
STATETEXT[0...6]
SAFEOP
OPDOMAP[0..2][1..3]
MOMSTATE
OPCMD[0..2]
MODEATTR
NORMMODEATTR
SEALOPT
INITMAN
INITDOWN
INITOPOPT
LOCALMAN
SAFEREDTAG
REDTAG
NUMDOPTS
PULSEWIDTH[1...3]
Output
Processing
PVAUTO
GPVAUTO
PV
GPV
PVFL[0..2]
NULLPVFL
INBETFL
MODE
OP
GOP
OPFINAL
GOPFINAL
DO [1 ... 3]
PO [1 ... 3]
R110
February 2014
BADPVALM.PR
BADPVALM.SV
CMDDISALM.TM(0..2)
CMDDISALM.PR
CMDDISALM.SV
CMDFALALM.TM(0..2)
CMDFALALM.PR
CMDFALALM.SV
PV Alarm
Processing
BADPVALM.FL
CMDDISALM.FL
UNCMDALM.FL
CMDFALALM.FL
OFFNRMALM.PR
OFFNRMALM.SV
PV
OPREQ
Off Normal
Condition
OFFNRMALM.FL
SI
Safety
Override
Processing
SIALM.FL
SIALM.OPT
SIALM.PR
SIALM.SV
PI(O..2)
OI (O..2)
OIALM.OPT
OIALM.PR
OIALM.SV
Interlock
Processing
OP
OIALM.FL(0..2)
OP
BYPPERM
BYPASS
MAINTOPT
MAXTRANS
MAXTIME
Maintenance
Statistics
NUMTRANS(0..2)
STATETIME(0..2)
NUMSIOVRD
RESETFL
919
Momentary states.
Seal In option.
Maintenance statistics.
Configuration examples
920
Status Output - The following figure and its companion callout description table
show a sample configuration that uses a DEVCTL block to command two status
outputs. The view in the following figure depicts a loaded configuration in
Monitoring mode.
R110
February 2014
Description
Use the PVFL parameter connection to carry data from the DICHANNEL
block to the DEVCTL block.
In device control, the inputs provide the feedback that the commanded
action has or has not taken place.
R110
February 2014
921
Callout
Description
You can use an appropriate interlock logic to activate the safety interlock
function.
You can command the device through the output (OP), which shows the
state names you configured for the block through Control Builder.
922
Pulse Output - The following figure and its companion callout description table
show a sample configuration that uses a DEVCTL block to command two on pulse
outputs. The view in the following figure depicts a loaded configuration in
Monitoring mode.
R110
February 2014
Description
Use the PVFL parameter connection to carry data from the DICHANNEL
block to the DEVCTL block.
In device control, the inputs provide the feedback that the commanded
action has or has not taken place.
R110
February 2014
923
Callout
Description
You can use an appropriate interlock logic to activate the safety interlock
function.
You can command the device through the output (OP), which shows the
state names you configured for the block through Control Builder.
exposed on the DEVCTL block symbol. Wire PO[X] pin of DEVCTL block
to ONPULSE pin on the corresponding DOCHANNEL block.
7
block configuration form. This pin also displays the remaining pulse time
on a state change.
Double-click DOTYPE parameter on block and change selection to
ONPULSE.
Inputs
May have from 0 to 4 inputs (DI [1 .. 4]). Each input is a Boolean value, which may
represent the state of any other block output or a field DICHANNEL (Digital Input
Channel) block.
924
The NUMDINPTS parameter determines how many DI inputs are active. When this
parameter is 0 (zero), the other inputs and PV parameters have no meaning.
R110
February 2014
Depending upon what is providing the input, the DI[1..4] connection may be
identified as a DIX[1..4] connection. The DIX is an internal parameter that is not
visible to users. It is equivalent to a DI parameter with status (BadPV). The Control
Builder determines whether an input is DI or DIX when it is created. The internal
DIXCONNECTED[1..4] parameter is set to ON, if the corresponding DI[1..4] input
is connected as a DIX type.
ATTENTION
You must assign inputs and outputs in consecutive order without gaps. For
example, if the block is to have two inputs and two outputs, you must
assign the inputs to DI[1] and DI[2] and the outputs to DO[1] and DO[2].
Assigning inputs and outputs in any other combination, results in an invalid
block configuration.
Outputs
May have from 0 to 3 outputs (DO [1 .. 3]). Each output may be Boolean or pulsed (On
Pulse or Off Pulse). Each output is a Boolean value, which may be connected to any
other block parameter or to a field DOCHANNEL (Digital Output Channel) block.
The DOCHANNEL (DOC) block may connect three different inputs to a DEVCTL
block (output). However, only one of these inputs can be connected for any single
DOC.
The NUMDOUTS parameter determines how many DO/PO outputs are active.
When this parameter is 0 (zero), the other outputs and OP parameters have no
meaning.
You can configure an individual PULSEWIDTH for each PO[1..3]. The setting
range is between 0.000 and 60 seconds with a resolution of 1 millisecond.
R110
February 2014
925
You may only connect a DO[1..3] or a PO[1..3] for any one output, but
not both.
CAUTION
In a peer-to-peer strategy, always locate the DOCHANNEL block
associated with a DEVCTL block output in the same CEE. If you use a
parameter connector to connect the DEVCTL block output to a
DOCHANNEL block included in a CM in another CEE, be aware that this
configuration may cause "bumps" in the output.
States
A "state" represents the present condition of a device. For example, Run and Stop could
represent the "states" of a two-state motor, with Stop being the safe or failsafe state. A
three-state motor could have the states of Run, Stop, and Reverse. Open and Close could
represent the states of a valve. You can configure your given device states through the
State Assignments tab of the DEVCTL block configuration form. This lets you associate
states with Boolean combinations of process feedback inputs from the field. Each input
combination is assign to a specific state. The PV parameter represents the present state of
a device in the DEVCTL block.
You can also configure the number of output states as two or three through the State
Assignments tab. These output states are mapped to specific combinations of digital
outputs. These outputs command the field device to the associated state, such as Run or
Stop. The OP parameter represents the commanded state or the device state commanded
926
R110
February 2014
by an operator. The DEVCTL block transmits the OP, monitors the PV, and produces
alarms based on the State Assignment configurations, which represent whether or not the
process feedback has achieved the state commanded in OP.
State Parameters
PV
PVAUTO
OP
OPFINAL
The State Parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter. An operator can use these parameters.
The Generic State Parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are:
Inbet - Represents an in between state and could be designated MOVPV for moving
PV.
R110
February 2014
927
Safe - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the
internal value is set to the designated SAFEOP.
STATETEXT[0]
Bad
Null
STATETEXT[1]
Inbet
Inbet
STATETEXT[2]
Active
Active
STATETEXT[3]
Safe
Safe
STATETEXT[4]
State0
S0
STATETEXT[5]
State1
S1
STATETEXT[6]
State2
S2
R110
February 2014
Run
S1
(bad)
Fault
Null
The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.
DI[1]
DI[2]
GENSTAT
Moving
Inbet
Open
SO
Closed
S1
Fault
Null
(bad)
Fault
Null
(bad)
Fault
Null
The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.
929
state combinations as well as the configured state names and the related
GENSTAT_ENM and DIPVMAP[0..15] for reference.
Input States
DI[1]
DI[2]
GENSTAT
Fault
Null
Stop
S0
Run
S1
Run
S1
(bad)
Fault
Null
(bad)
Fault
Null
The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.
930
DI[1]
DI[2]
GENSTAT
Stop
S0
Run
S1
Reverse
S2
Fault
Null
(bad)
Fault
Null
(bad)
Fault
Null
R110
February 2014
The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.
Configured State
Related
DIPVMAP and
DI[1]
DI[2]
DI[3]
DI[4]
Name
GENSTAT
Fault
Null
Fault
Null
Valve Moving
Inbet
Fault
Null
Valve Moving
Inbet
Valve1 Open
S1
Val1&2 Close
S0
Fault
Null
Fault
Null
Fault
Null
Valve2 Open
S2
Fault
Null
Fault
Null
Fault
Null
Fault
Null
R110
February 2014
931
Input States
Configured State
Related
DIPVMAP and
Fault
Null
(bad)
Fault
Null
(bad)
Fault
Null
(bad)
Fault
Null
(bad)
Fault
Null
The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.
DI to PV state map
The DIPVMAP[0..15] is the parameter array used to make the actual state assignments
for PVAUTO as summarized in the tables for the previous examples. Each element of
DIPVMAP[0..15] represents one combination of the input values. DIPVMAP[0..15] is
same type of STATTEXT[0..6]. It cannot be assigned to the Active and Safe GENSTAT
enumerations and the default state is Bad.
Related GENSTAT
Stop
S0
Run
S1
R110
February 2014
combinations. The following table summarizes the output state combinations as well as
the configured state names and the related GENSTAT_ENM for reference.
Configured State Name
Related GENSTAT
Output States
DO[1]
DO[2]
Close
S0
Open
S1
Related GENSTAT
Output States
DO[1]
DO[2]
Stop
S0
Run
S1
Reverse
S2
Since you can assign outputs to any state. It is possible to have more than one output on
for a given state. The following table summarizes the output state combinations as well
as the configured state names and the related GENSTAT_ENM for reference.
Configured State Name
Related GENSTAT
Output States
DO[1]
DO[2]
Stop
S0
Run
S1
Reverse
S2
R110
February 2014
933
If you have three outputs instead of two, there are eight possible combinations that can
be assigned to three states. The following table summarizes the output state combinations
as well as the configured state names and the related GENSTAT_ENM for reference.
Configured State Name
Related GENSTAT
Output States
DO[1]
DO[2]
DO[3]
Stop
S0
Run
S1
Reverse
S2
ATTENTION
Output combinations are not necessarily the same as the input feedback
combinations for the same state.
934
R110
February 2014
Momentary state
The Momentary State (MOMSTATE) parameter lets you configure states as being
momentary. This is like providing push-button operation. When the operator commands
a new output state (OP), the selected momentary state is active for only a Fixed Time
or as long as the operator request the value. Once the operator ceases requesting the
value and the internal timeout occurs, the DEVCTL block returns to the Safe Output
State (SAFEOP).
Fixed Time is defined:
For containing CM periods
possible CM periods.
Then,
NONE
No state is momentary.
STATE_0
STATE_1
STATE_0AND1
STATE_2
R110
February 2014
935
Then,
STATE_0AND2
STATE_1AND2
Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. You can
then have the state of the digital input stored to the LOCALMAN pin added to the
DEVCTL block through a DICHANNEL connection. Since the control system may not
have control over the field device when the HAND/OFF/AUTO switch is not in the
AUTO position, the LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP will be set to SAFEOP. This assures
that the last commanded state agrees with the present value of the feedback state, when
the LOCALMAN is turned OFF. You cannot directly command the OP (GOP) while the
LOCALMAN is ON.
You cannot access LOCALMAN, if the DEVCTL block has no inputs or no outputs
connected. Since PV is illegal for no inputs and OP is illegal for no outputs,
LOCALMAN has no meaning for these conditions.
Permissive interlocks
PI[0..2]are Permissive Interlocks which are inputs that may be connected to an external
function block to determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the DEVCTL block to a specific state. Permissive
Interlocks themselves never cause OP to change.
936
R110
February 2014
The Permissive Interlocks are all defaulted to ON, thereby allowing permission to all
the states - they must be individually set to OFF to prevent access to the
corresponding OP state.
the operator
a user program
Override Interlocks
OI[0..2] are Override Interlocks which, when active, force the commanded output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.
Override Interlocks may be connected to other block outputs or may be directly set
by an operator if MODEATTR = OPERATOR and the block is inactive.
Override Interlock parameters are all defaulted to OFF, thereby disabling all the
Override Interlocks. They must be set to ON to force OP to go to any specific state.
If the Override Interlock forces OP to go to a momentary state, it stays in that state
as long as the interlock remains ON and then switches back to the original state
when the Override Interlock is reset to OFF.
SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks themselves are determined by the state assigned to SAFEOP as
follows:
R110
February 2014
937
When BYPASS is ON, OP can be changed regardless of the state of the Override
Interlocks.
When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.
Alarms
An available set of PV state alarms may be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock Alarm is also available. Each of these alarms possesses all the
standard attributes of system alarms.
Command Fail Alarm - generated when the Current Active State (PV) fails to
change from an original value to any other value within a configurable time interval
after the OP parameter is commanded.
You can configure the feedback time (CMDFALALM.TM[0..2) for each state
through the Alarms tab on DEVCTL block configuration form. The value of OP
just commanded determines which CMDFALALM.TM[0..2] is active. The
CMDFALALM.TM[0..2] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..2] parameter to 0 disables the alarm for the associated
state[0..2]. The alarm function is also automatically disabled, if there are no
inputs or no outputs. CMDFALALM.TM[0..2] changes from or to 0, require
CM InActive or CEE Idle.
ATTENTION
The CMDFALALM.TM[0..2] setting must be less than the
CMDDISALM.TM[0..2] setting for the same state[0..2].
938
R110
February 2014
Bad PV Alarm - generated whenever the Current Active State (PV) is detected to be
a NULL (or bad) state.
Command Disagree Alarm - generated when the Commanded Output State (OP) is
changed and the actual input state (PV) does not change accordingly within a
specified feedback time.
ATTENTION
For device in a BAD state, the PV Value of a DEVCTL block refreshes only
when the CMD disagree or CMD fail timer is finished. So, the PV value is not
correct during a transition state. However, if you configure an INBET (In
Between) status, this status is directly written to the PV output without waiting
for the timeout defined by CMD disagree.
You can configure the feedback time (CMDDISALM.TM[0..2) for each state
through the Alarms tab on DEVCTL block configuration form. The value of OP
just commanded determines which CMDDISALM.TM[0..2] is active. The
CMDDISALM.TM[0..2] setting range is 0 to 1000 seconds. Setting a given
CMDDISALM.TM[0..2] parameter to 0 disables the alarm for the associated
state[0..2]. The alarm function is also automatically disabled, if there are no
inputs or no outputs. CMDDISALM.TM[0..2] changes from or to 0, require CM
InActive or CEE Idle.
This alarm condition returns to normal when the input PV state becomes equal to
the OP state. The alarm is not generated for momentary commanded states.
Uncommanded Change Alarm - generated if the actual input state (PV) changes but
has not been commanded to change (unless it is a bad PV). This alarm is configured
whenever the Command Disagree Alarm is configured.
This alarm condition returns to normal when the input PV state becomes equal to
the commanded OP state. The alarm is not generated for momentary
commanded states.
Off Normal Alarm - This alarm is enabled when OPREQ is set to any value other
than Null. It uses the difference between OPREQ and PV. The off normal alarm flag
(OFFNRMALM.FL) is active when the PV cannot match the Output Request. The
off-normal condition means that the eventual PV does not match the OP which was
commanded by the higher level function. The OFFNRMALM.FL is used to reflect
this requirement.
R110
February 2014
The higher level function, such as a Sequential Control Module (SCM), can tell
that something is wrong by reading the OFFNRMALM.FL. This flag value can
Experion LX Control Builder Components Theory
Honeywell
939
1)
Off Normal Alarming with Bypass - If the interlock bypass (BYPASS) becomes
active and the OPREQ is not null, the OPREQ is transmitted to OP immediately
upon the activation of the BYPASS parameter. If BYPASS is activated after an
interlock has initiated, the OP and the off normal alarm flag
(OFFNRMALM.FL) will be corrected within one scan.
Override Interlock Alarms - When the alarm is enabled and the active interlock
causes an OP state change, the alarm will be generated.
Safety Override Interlock Alarm - When the alarm is enabled and the active
interlock causes an OP state change, the alarm will be generated.
Seal-In option
The Seal-In option is used to clear output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (SAFEOP), but OP is not
altered. You can observe OPFINAL to determine what state was actually commanded to
the output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.
940
Seal-In option and Momentary state are mutually exclusive. The Momentary state
has to be None to configure the Seal-In option.
R110
February 2014
You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.
When you enable the SEALOPT, any Momentary State selection is negated .
This is a structure containing the INITREQ status and the DOC.SO present value.
INITMAN - This is a BOOLEAN value which is set TRUE whenever any of the
INITDOWN[i].STATUS are TRUE.
OP Initialization Option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value is
NORMALOPT.
R110
February 2014
941
When the INITMAN parameter transitions from ON to OFF, the Device Control FB
provides an output value OP as follows:
Otherwise, if any of the Override Interlocks are active and not bypassed, the OP is
set to the highest priority Override Interlock;
R110
February 2014
The following table represents the state of the pulse and digital outputs with respect to
INITOPOPT and LEGACYINITOPT after recovering from initialization.
R110
February 2014
943
Outpu
t Type
INITOPOPT
Pulse
NORMALOPOP
T
Digita
l
PV
State Changes to
Output Pulses
When
LEGACYINI
TOPT is
disabled
When
LEGACYIN
ITOPT is
enabled
When
LEGACYINI
TOPT is
disabled
When
LEGACYINI
TOPT is
enabled
Good
PV
PV
No
No
Bad
SafeOp
SafeOp
Yes
No
HOLDOPOPT
N/A
Back Init
from
outputs
No
Change
Yes, if
state
changes to
SafeOp
No
SAFEOPOPT
N/A
SafeOp
SafeOp
Yes
No
NORMALOPOPT
Good
PV
PV
N/A
N/A
Bad
Back Init
from outputs
Back Init
from
outputs
N/A
N/A
HOLDOPOPT
N/A
Back Init
from outputs
No Change
N/A
N/A
SAFEOPOPT
N/A
SafeOp
SafeOp
N/A
N/A
For more information on the LEGACYINITOPT parameter, refer to the Control Builder
Parameter Reference guide.
944
R110
February 2014
TIP
Note that the INITREQ is used differently in DevCtl block than in other blocks,
such as DOC, AOC, or RegCtl.
Maintenance Statistics
The DEVCTL block collects a set of Maintenance Statistics which are enabled by
configuring MAINTOPT = ON.
The following parameters can be configured to provide suggested maximums. No
operations are rejected due to the values of these parameters. These MAXxxx parameters
are useful as references for comparison with the actual measured statistics.
STATETIME [0. 2] - accumulated time of PV in each state (since the last statistics
reset).
R110
February 2014
945
The statistics are accumulated since the most recent reset. The operator only can reset the
statistics while the DEVCTL block is red-tagged, but a program (or other function block)
can reset the statistics by storing ON to RESET.FL anytime.
Output requests
Whenever an external FB attempts to change the commanded state OP, the DEVCTL
block uses the OP request mechanism. The OP request (OPREQ/GOPREQ) differs from
direct access an operator uses to the commanded state OP. The OPREQ is a string in the
same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM, which is the
same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It may be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ will continue to attempt stores
even if attributes, such as interlocks, become active and block changes to OP. Thus, once
the attributes blocking change to OP have reset OPREQ stores the commanded state to
OP.
Output command
The block provides a Boolean command capability through an array of Boolean inputs
(OPCMD[0..2]. When the mode attribute (MODEATTR) is Program and the SCM
option (SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command
(OPCMD[0..2]). When the given OPCMD[0..2] is set to ON, the block sets the OPREQ
to the corresponding state. In this case, the OPCMD[0] corresponds to state0,
OPCMD[1] corresponds to state1, and OPCMD[2] corresponds to state2. When more
than one of the Boolean inputs (OPCMD[0..2] are ON, the OPREQ is set according to
the following priority.
946
R110
February 2014
If an SCM commands the device by sending a Null type of request to GOP and there are
active OPCMDs (this is possible when SCMOPT = NONE, MODEATTR = Program,
and SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM store to GOP
will be rejected, if any of the OPCMD[0..2] elements are active (one or more
OPCMD[0..2] members are ON). An SCM can only get control, when all OPCMD[0..2]
elements are OFF.
ATTENTION
It is not recommended to use step outputs of type S_IEC, N_IEC, or R_IEC
with destination parameters that are inputs to flip-flops or other bistable,
monostable blocks, or logic configurations. Examples are OPCMD[0..2] of
DEVCTL and S and R of LOGIC:RS. Although these configurations are
technically supported and show a predictable behavior, the resulting behavior
may be non-intuitive and confusing to operators (example: using an N_IEC
output on OPCMD[1] will result in OP-behavior similar to what would be
expected from an S_IEC output if directly controlling a parameter such as
OP). Therefore, this practice is not considered a good engineering practice.
DEVCTL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the DEVCTL block.
R110
February 2014
947
948
R110
February 2014
Comparison functions
Arithmetic functions
Selection functions
Timed functions
Voted functions
The following table provides a description and a brief explanation of the functional
capabilities of the named function block. In most cases, the name of the block is intuitive
of its function.
R110
February 2014
949
Block Name/
Graphic
2003
Description
Function
And, Some
IN
Disagree . . .
PULSEEXPIRED
OFF
OFF
PULSEEXPIRED
ON
PULSEREADY
OFF
PULSEREADY
ON
OFF
May go to ON state if disagreement
persists for less than full DELAY interval.
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications.
950
R110
February 2014
Provides an up to 8-input
AND algorithm, meaning that
it performs the Boolean
operation of conjunction. Each
input (IN[1], IN[2], ..., IN[8])
has the capability of being
optionally inverted, if required.
AND
OUT = ON.
If any input is OFF, then:
OUT = OFF.
CHECKBAD
CHECKBOOL
R110
February 2014
951
CHGEXEC
ATTENTION
The CONTACTMON block can only be used with C300 Controllers.
952
R110
February 2014
CONTACTMON
editable on the
monitoring side. A string
input to the SR
parameter results in an
error message being
reported during
configuration and the
input string is rejected.
The alarm flags are
DELAY
R110
February 2014
953
EQ
DEADBAND1), then:
OUT = ON.
If ((IN[1] - IN[2]) >
DEADBAND2), then:
OUT = OFF.
Else OUT is not changed.
DEADBAND1 and
DEADBAND2 must satisfy
the following constraint::
0 <= DEADBAND1 <=
DEADBAND2
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.
FTRIG
954
R110
February 2014
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
FTRIG block OUT responds as a result of block state transitions such as activate, warm start, cold
start or RAM Retention Restart (RRR). The following table summarizes the possible OUT action
for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
ANY
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.
GE
Provides a 1- or 2-input
Compare Greater Than or
Equal (with deadband)
function. That is, it checks to
see if one designated input
(IN[1]) is greater than or equal
to either a second input (IN[2])
or, for single inputs, a
designated trip point
parameter (TP).
OUT = ON.
If IN[1] < (IN[2] -
R110
February 2014
955
GT
Provides a 1- or 2-input
Compare Greater Than (with
deadband) function. That is, it
checks to see if one
designated input (IN[1]) is
greater than either a second
input (IN[2]) or, for a single
input, a designated trip point
parameter (TP).
OUT = ON.
If IN[1] <= (IN[2] -
LE
Provides a 1- or 2-input
Compare Less Than or Equal
(with deadband) function, that
is, it checks to see if one
designated input (IN[1]) is less
than or equal to either a
second input (IN[2]) or, for a
single input, a designated trip
point parameter (TP).
OUT = ON.
If IN[1] > (IN[2] +
+ DEADBAND), then:
OUT is not changed.
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.
956
R110
February 2014
LIMIT
LT
Provides a 1- or 2-input
Compare Less Than (with
deadband) function, that is, it
checks to see if one
designated input (IN[1]) is less
than either a second input
(IN[2]) or, for a single input, a
designated trip point
parameter (TP).
OUT = ON.
If IN[1] >= (IN[2] +
+ DEADBAND), then:
OUT is not changed.
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.
MAX
R110
February 2014
957
MAXPULSE
IN
OUT
Maximum
Pulsewidth
958
Maximum
Pulsewidth
R110
February 2014
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
MAXPULSE block OUT responds as a result of block state transitions such as activate, warm
start, cold start or RAM Retention Restart (RRR). The following table summarizes the possible
OUT action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
ANY
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.
MIN
R110
February 2014
959
MINPULSE
IN
OUT
Minimum
Pulsewidth
960
Minimum
Pulsewidth
R110
February 2014
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
MINPULSE block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
ANY
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.
MUX
R110
February 2014
Provides an up to 8-input
Extensible Multiplexer
algorithm, meaning that it
selects 1 of "N" inputs
depending on a separate
input K.
961
Provides an up to 8-input
Extensible Multiplexer
algorithm, that is, it selects 1
of "N" inputs depending on a
separate input K.
MUX-REAL
MVOTE
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
MVOTE block output DISCREP responds as a result of block state transitions such as activate,
warm start, cold start or RAM Retention Restart (RRR). The delay timing starts fresh whenever a
state transition occurs. Disagreement in inputs causes DISCREP to go to On only if it persists
throughout the DELAY interval following a state transition. The following table summarizes the
possible DISCREP action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Some
IN
Disagree . . .
PULSEEXPIRED
OFF
OFF
PULSEEXPIRED
ON
PULSEREADY
OFF
PULSEREADY
ON
OFF
May go ON if disagreement persists for
less than full DELAY interval.
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.
962
R110
February 2014
NAND
Provides an up to 8-input
NAND algorithm, that is, it
performs an inverted AND
function. Each input (IN[1],
IN[2], ..., IN[8]) has the
capability of being optionally
inverted, if required.
OUT = OFF.
If any input is OFF, then:
OUT = ON.
NE
Provides a 1- or 2-input
Compare Not Equal (with
deadband range) function,
that is, it checks to see if one
designated input (IN[1]) is not
equal to either a second input
(IN[2]) or, for a single input, a
designated trip point
parameter (TP).
DEADBAND1), then:
OUT = OFF.
If ((IN[1] - IN[2]) >
DEADBAND2), then:
OUT = ON.
Else OUT is not changed.
DEADBAND1 and
DEADBAND2 must satisfy
the following constraint::
0 <= DEADBAND1 <=
DEADBAND2
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.
R110
February 2014
963
nOON
And, Current
IN Value
Is . . .
PULSEEXPIRED
ANY
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications.
964
R110
February 2014
NOR
Provides an up to 8-input
NOR algorithm, that is, it
performs an inverted OR
function. Each input (IN[1],
IN[2], ..., IN[8]) has the
capability of being optionally
inverted, if required.
NOT
OFFDELAY
If IN = ON, then:
OUT = OFF.
If IN = OFF, then
OUT = ON.
the DELAYTIME
parameter.
R110
February 2014
965
IN
OUT
OFF Delay
Time
OFF Delay
Time
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
OFFDELAY block OUT responds as a result of block state transitions such as activate, warm
start, cold start or RAM Retention Restart (RRR). The following table summarizes the possible
OUT action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
OFF
OFF
PULSEEXPIRED
ON
ON
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.
966
R110
February 2014
ONDELAY
the DELAYTIME
parameter.
ONDELAY timing diagram:
IN
OUT
ON Delay
Time
ON Delay
Time
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
ONDELAY block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
OFF
OFF
PULSEEXPIRED
ON
ON
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications.
R110
February 2014
967
OR
Provides an up to 8-input OR
algorithm, meaning that it
performs the inclusive OR
Boolean function. Each input
(IN[1], IN[2], ..., IN[8]) has the
capability of being optionally
inverted, if required.
PULSE
968
R110
February 2014
IN
OUT
Pulsewidth
Pulsewidth
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
PULSE block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
ANY
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.
R110
February 2014
969
QOR
Qualified OR - provides an (N
+ 1)-input generic-qualified
OR function, that is, the
output (OUT) is turned ON if a
certain number (k) of total
inputs (IN[n]) is ON. Each
input (IN[1], IN[2], ..., IN[8])
has the capability of being
optionally inverted, if required.
ROL
N bits, circular.
16-Bit Integer
N Bits
Rotate
Out
Rotate
Left
ROR
N Bits
Rotate
In
N bits, circular.
16-Bit Integer
N Bits
Rotate
In
970
Rotate
Right
N Bits
Rotate
Out
R110
February 2014
RS
RTRIG
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
RTRIG block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
ANY
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications.
R110
February 2014
971
SEL
SEL-REAL
SHL
16-Bit Integer
Zero
Fill
In
N Bits
Shift
Out
Shift
972
Left
R110
February 2014
SHR
16-Bit Integer
N Bits
Shift
Out
Zero
Fill
In
Shift
R110
February 2014
Right
973
SR
974
R110
February 2014
STARTSIGNAL
R110
February 2014
CMLOAD
b)
CMACTIVE
c)
CEECOLD
d)
CEEWARM
e)
CEESWITCH
975
976
CMLOADFL
R110
February 2014
TRIG
CMACTIVEFL
CEECOLDFL
CEEWARMFL
ANYRESTARTFL
An Off to On or On to Off
R110
February 2014
977
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
TRIG block OUT responds as a result of block state transitions such as activate, warm start, cold
start or RAM Retention Restart (RRR). The following table summarizes the possible OUT action
for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .
And, Current
IN Value
Is . . .
PULSEEXPIRED
ANY
PULSEREADY
ANY
We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications.
WATCHDOG
978
R110
February 2014
Provides an up to 8-input
XOR algorithm, meaning it
performs the exclusive OR
function.
XOR
of inputs (2, 4, 6, or 8)
are ON.
ON when odd number of
inputs(1, 3, 5, or 7) are
ON.
This action adheres to the
IEC DIS 1131-3 standard.
But, this may not be the
expected behavior for an
XOR with more than two
inputs.
Parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the named logic function block.
R110
February 2014
979
You can only use the CHGEXEC block with blocks that are qualified to run under
change driven execution. Most of the PControl Execution Environment (CEE) blocks are
not qualified to do this, as shown in the list of qualified blocks in the following section.
The CHGEXEC block resides in the LOGIC library in the Library tab of Control Builder
and is represented graphically in the control drawing as shown in the following
illustration.
980
R110
February 2014
R110
February 2014
981
Risk Factor
You can only use the block types listed in the following
section within the context of change driven execution.
982
R110
February 2014
Risk Factor
CAUTION
Block Type
Neither Control Builder nor the CEE prevent application engineers from
using unqualified blocks in a change driven configuration. Application
engineers are responsible using only qualified blocks with the
CHGEXEC block. Failure to follow this guideline can lead to
unpredictable results in the operation of control strategies.
Qualified For
Use With
CHGEXEC
Comment
DEVCTL Library
DEVCTL
No
LOGIC Library
R110
February 2014
983
Block Type
Qualified For
Use With
CHGEXEC
Comment
2OO3
Yes
AND
Yes
CHECKBAD
Yes
CHECKBOOL
No
Design of the CHECKBOOL block is not tolerant of changedriven execution. It can only function properly within a
continuously executing CM.
DELAY
Yes
EQ
Yes
FTRIG
Yes
GE
Yes
GT
Yes
LE
Yes
LIMIT
Yes
LT
Yes
MAX
Yes
MAXPULSE
Yes
984
R110
February 2014
Block Type
Qualified For
Use With
CHGEXEC
Comment
Yes
MINPULSE
Yes
MUX
Yes
MUXREAL
Yes
MVOTE
Yes
NAND
Yes
NE
Yes
NOON
Yes
NOR
Yes
NOT
Yes
OFFDELAY
Yes
ONDELAY
Yes
OR
Yes
PULSE
Yes
QOR
Yes
ROL
Yes
ROR
Yes
RS
Yes
RTRIG
Yes
SEL
Yes
SELREAL
Yes
SHL
Yes
R110
February 2014
985
Block Type
Qualified For
Use With
CHGEXEC
Comment
SHR
Yes
SR
Yes
STARTSIGNAL
Yes
TRIG
Yes
WATCHDOG
Yes
XOR
Yes
Utility Library
FLAG
Yes
FLAGARRAY
Yes
MESSAGE
Yes
NUMERIC
Yes
NUMERICARRAY
Yes
PUSH
Yes
TEXTARRAY
Yes
TIMER
Yes
986
R110
February 2014
Block Type
Qualified For
Use With
CHGEXEC
TYPECONVERT
Comment
Yes
Controller
C300 Embedded
Controller
Simulator
SIM-C300 Simulator
CHGEXEC
Supported
Yes
R110
February 2014
987
If Parameter Is . . .
LASTDATA[1..32 ]
TRIGGER
CHGINDEX
An integer valued output parameter which gives the index of the first
input, in increasing order, where change was detected. CHGINDEX
holds a non-zero value for one cycle following an input change. It goes to
zero after the first cycle where there is no input change. CHGINDEX
shows zero after auto-trigger execution where there was no input
change.
EXITOPT
as follows.
is as follows.
988
R110
February 2014
If Parameter Is . . .
NUMDATA
AUTOPERIOD
AUTOPHASE
A configuration parameter which controls the phasing of periodic autotrigger processing within a CHGEXEC. AUTOPHASE prevents large
numbers of CHGEXEC instances from synchronizing in such a fashion
that their periodic processing occurs on the same CEE cycle.
AUTOPHASE may be explicitly assigned by the application engineer, but
this happens rarely. Usually engineers prefer to leave AUTOPHASE at
its default of -1. This causes the CHGEXEC to assign a random phase
value within the allowed range at the time of block load.
Once assigned, the value of AUTOPHASE is preserved across RRR and
across checkpoint save/restore. This causes load impact from
CHGEXEC background processing to be held constant across CEE
processing cycles when a controller restart occurs.
TESTOPT
989
If Parameter Is . . .
R110
February 2014
R110
February 2014
Description
A CHGEXEC cascade crossing CM boundaries would probably involve
coordinated logic, which had been partitioned across modules. Such
strategies would typically execute with the same PERIOD and PHASE
values. This is shown in the Control Module figures above.
Experion LX Control Builder Components Theory
Honeywell
991
Consideration
Block Execution
Order
Description
Order of block execution must be deliberately assigned for any CM
strategy, but especially for CHGEXEC strategies. Often the CHGEXEC
runs as the first block within a CM, with computational logic following.
The ORDERINCM values would be chosen accordingly. This is shown in
the Control Module figures above.
It is not required to have the CHGEXEC execute as the first block within
a CM. But any logic preceding the CHGEXEC would execute once every
CM period and would not benefit from the change driven execution. The
CHGEXEC instance and its position within the block execution order
determines where the CM exits if there has been no change of inputs.
Control Module
Execution Order
EXITOPT Setting
TRIGGER with
Multiple Secondaries
Secondary Control
Module Output
Connections
PHASE and
no I/O or peer data is used without passing it explicitly through the
secondary's CHGEXEC.
Strategy defects can arise from using I/O or peer data which is not
guaranteed to have the same value as that which triggered the change
execution. See the Importance of Using Consistent Input Data section for
more information
Cascades that Cross
CEE Boundaries
992
R110
February 2014
Consideration
Description
should explicitly pass all output data from the primary through the
CHGEXEC.
R110
February 2014
993
The following CHGEXEC must receive the TRIGGER output of the leading
CHGEXEC as an input.
994
The CM connections are quite flexible. They allow data flow to be configured
through both wired connections or parameter connections. They allow parameters to
be fetched from within the same CM, from different CMs in the same CEE, from
CMs in a different CEE or from IO modules outside the CEE.
This design issue exists regardless of whether a CHGEXEC is used in the design of
a logic strategy. If On / Off data is consumed more than once within the strategy best
practice is to pull that data into local storage and have the multiple consumers pull
from common storage. But failure to follow this practice is less critical if the CM
executes continuously. Any anomalous result will be transient and corrected by the
time of next execution.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
995
to parameters outside the CM or to I/O within the CM. The output DATA[ ] will be
referenced by downstream logic within the CM.
996
R110
February 2014
997
998
The auto-trigger phase can be read from parameter AUTOPHASE and can also be
assigned through that parameter if desired. Normally, AUTOPHASE is left at its
default of -1 when a CHGEXEC block is first configured. This causes CHGEXEC to
assign a random value within the allowed range when the instance is loaded. If
AUTOPHASE is not -1 upon load its value is accepted and left unchanged.
The value of AUTOPHASE is preserved across RAM Retention Restart and across
checkpoint save / restore. This means that the processing load from periodic autotrigger which is seen by each cycle will not change when the CEE restarts. Note,
however, that AUTOPHASE is not preserved across CM reload unless the
application engineer takes deliberate action. If AUTOPHASE has been left at -1
within the CB project configuration then reloading will cause a new AUTOPHASE
value to be assigned. To avoid this, the application engineer should do Control
Builder Upload and Update on the parent CM after AUTOPHASE been assigned.
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
CHGEXEC AUTOPERIOD
Platform
0.50
1.00
2.00
0.05
Supported
Supported
Supported
C300
0.10
Supported
Supported
Supported
C300
0.20
Not Supported
Supported
Supported
C300
0.50
Not Supported
Not Supported
Supported
C300
1.00
Not Supported
Not Supported
Supported
C300
Greater Than
or Equal 2.00
Not Supported
Not Supported
Not Supported
C300
999
Normally CHGEXEC would be the first or one of the first blocks to execute within a
change driven CM. In this case, Execution Segment 1 would be completely empty or
nearly empty. However, if appropriate, the application engineer could place substantial
block content ahead of the CHGEXEC instance. In this case, only the blocks following
the CHGEXEC would execute on a change driven basis.
Any blocks which are ordered to execute ahead of the CHGEXEC are not subject to the
restrictions which apply to change driven execution. This means that unqualified blocks
can be placed within a CM that hosts a CHGEXEC as long as they are ordered to execute
ahead of any CHGEXEC. Application engineers should exercise caution, if they choose
to apply this technique so that no mistakes are made with block ordering.
State
Transition
CHGEXEC Parameter
Behavior
DATA[ ]
LASTDATA[ ]
TRIGGER
Load of
Parent CM
Off
Off
Off
Activation of
Parent CM
Unchanged until
inputs are pulled
on first cycle of
execution.
Unchanged until
set equal to
DATA[ ] on first
cycle of
Changes state on
first cycle of
execution.
Changes state
See Note 1
1000
R110
February 2014
execution.
again on second
cycle of
execution.
See Note 4
detection to allow CM
to run to completion
regardless of whether
or not DATA[ ] has
changed.
Inactivation of
Parent CM
Unchanged
Unchanged
Unchanged
CEE
Execution
Start
Unchanged until
inputs are pulled
on first cycle of
execution.
Unchanged until
set equal to
DATA[ ] on first
cycle of
execution.
Changes state on
first cycle of
execution.
CEE
Execution
Stop
Unchanged
Unchanged
Unchanged
Redundancy
Role Change
Unchanged until
inputs are pulled
on first cycle of
execution.
Unchanged until
set equal to
DATA[ ] on first
cycle of
execution.
Unchanged
unless DATA[ ]
has changed
since last
execution before
role change.
See Note 2
See Note 5
See Note 3
See Note 4
Notes:
1. Activation of Parent CM consists of the following transition.
Cold Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.
Warm Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.
RAM Retention Restart when CEESTATE is Run and EXECSTATE of parent CM is Active.
Cold Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.
R110
February 2014
1001
Warm Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.
RAM Retention Restart when CEESTATE is Run and EXECSTATE of parent CM is Active.
4. In the case of transition Activation of Parent CM, the TRIGGER parameter emits a full pulse (both the
positive going edge and the negative going edge) over the course of the first two execution cycles. This
is to insure that for any cascaded CHGEXECs in different CMs, the downstream (secondary) CM is
guaranteed to execute at least once when the upstream (primary) CM executes. Since the state of
LASTDATA[ i] in the downstream CM could be On or Off the TRIGGER must emit both edges.
In the case of transition CEE Execute Start, forcing both edges is not necessary. Each CHGEXEC within
the CEE will allow its parent CM to run to completion as a result of the CEE-wide state transition.
5. If CHGEXEC is used heavily within a CEE it is possible for cycle overruns to occur as a result of CEE
Execute Start transitions (Cold Restart, Warm Restart or RAM Retention Restart). These transitions
force all CHGEXEC CMs to run to completion during the first execution of each CEE cycle. After all
cycles have executed no more overruns occur within a properly balanced CEE configuration. CEE will
not report any alarms as a result of start up transition overruns.
EXITOPT
NUMDATA
AUTOPERIOD
AUTOPHASE
TESTOPT
Dynamic data of a CHGEXEC block is not persisted as a result of checkpoint save. Upon
checkpoint restore the following parameters take the same values they do following
configuration load (Off for Booleans and 0 for Integers).
1002
DATA[ ]
LASTDATA[ ]
TRIGGER
CHGINDEX
R110
February 2014
CRCYCLEORN[40]
CPUCYCLEAVG[40]
CPUCYCLEMAX[40]
In applications where logic is running at the fastest period, these three numbers alone
give a good summary of load effects. Application engineers can monitor these
parameters during development to get a good sense of strategy performance.
Description
Implement the CHGEXEC CM as well as any cascaded CMs whose
Experion LX Control Builder Components Theory
Honeywell
1003
Stage
Description
implementation is closely coupled.
1004
Make sure no CMs of interest have inputs which can change during the
course of the test.
Make sure other control strategies are completely unchanging during the
course of the test. Other strategies may be loaded and active. But they may
not be loaded or unloaded while the test is in progress. Similarly no strategies
may be activating or inactivated during the test.
Identify which cycle to monitor for load effects. If the CMs of interest all
execute at the fastest period, then CPUCYCLEAVG[40] provides the best
information. If the CMs do not execute at the fast period then
CPUCYCLEAVG[40] cannot be used. Instead identify one cycle (called
CYCLE here) where all CMs of interest execute and monitor that. For
example, if the CMs of interest have a PERIOD of 1 second and a PHASE of
3 then CYCLE could be either 3 or 23.
Set STATSRESET to ON. Note that STATSRESET will never show a value of
ON. But setting it to ON causes statistics parameters to reinitialize.
10
11
12
13
14
15
16
R110
February 2014
Stage
17
Description
This completes the procedure.
R110
February 2014
1005
1006
R110
February 2014
1007
(INACTINDETTM) parameter specifies the amount of time that must expire before the
block determines if it should take the configured Bad Input Action. During this time, the
inputs status must be continually INACTIVE during this detection time for the action to
be taken. When the input is INACTIVE for less than this time, no action is taken. If the
input goes INACTIVE again the time starts counting over. The other two parameters are
Bad Input Detection Threshold Time (BADINDETTM[n]) and Bad Input Action
Minimum Time (BADINACTMINTM[n]). The BADINDETTM[n] parameter
determines how long the block will delay before the configured action. The
BADINACTMINTM[n] establishes the minimum time the action will be provided on
OUT. Once this minimum time expires, the output value/status is only set to the input
value/status when the input status is valid. While invalid, the bad action will continue to
be provided on OUT.
The following scenarios define the CHECKBOOL block operation for both valid and
invalid input data. In each of the scenarios, it is assumed that the CHECKBOOL block is
connected to a device which is capable of supplying it the proper input data ( IN[1] and
INSTS[1]) and the CHECKBOOL block is sending this data to a block which requires
validated data downstream. Neither the upstream and downstream blocks nor their
connections have been shown. Only the operations within the CHECKBOOL block and
its actions on both input and output data will be discussed here. Also, only one
input/output pair is shown for each CHECKBOOL block, but each block can handle up
to eight input/output pairs.
CheckBool Scenario 1
In this scenario the user has configured the block for immediate Inactive input detection
with no minimum time for bad action on bad-to-good recovery. The output will track the
input no delay. OUTSTS will be UNCERTAIN while the BADINACT is in effect.
1008
R110
February 2014
CheckBool Scenario 2
In this scenario, the user has configured the block with a 2 second bad detection period
and no minimum time for bad action on bad-to-good recovery. This configuration forces
a 2 second delay when an INSTS is "BAD". Once the Bad Input Detection Threshold
Time has elapsed, the output values will track those of the input.
R110
February 2014
1009
CheckBool Scenario 3
In this scenario the user has configured the block with a 2 sec Inactive Input Detection
Threshold and a 4 sec minimum time for bad action on Inactive-to-good recovery. In this
configuration an "INACTIVE" INSTS is not acted upon until the 2 sec
INACTINDETTM has elapsed. If at the end of this time the block still has an INSTS of
"INACTIVE", the output will be set to BADINACT ("OFF") and will be held at that
value until the Bad Input Action Minimum Time of 4 sec has expired.
1010
R110
February 2014
CheckBool Scenario 4
In this scenario, the user has configured the block with a 2 second bad detection period
and a 4 second minimum time for bad action on bad-to-good recovery. In this
configuration a "BAD" INSTS is not acted upon until the 2 second BADINDETTM has
elapsed. If at the end of this time the block still has an INSTS of "BAD", the output will
be set to BADINACT ("OFF") and will be held at that value until the Bad Input Action
Minimum Time of 4 seconds has expired.
R110
February 2014
1011
Enables alarm generation whenever the state of both inputs is same or different
based on the NORMAL state configuration.
Predecessor Block
The input to the Contact Monitoring block can be any block with a digital output. NOT
of the XOR of these inputs is the output of the block.
1012
R110
February 2014
Execution
When a Contact Monitoring block is configured as in the preceding illustration, the
digital inputs are supplied to the block using an arrayed IN parameter. The output of the
block is a NOT of the XOR of the inputs to the block. The possible combinations are
listed in the following table:
IN[0]
IN[1]
PVFL
OUT1
OUT2
ON
ON
ON
OFF
OFF
ON
OFF
OFF
ON
OFF
OFF
ON
OFF
OFF
ON
OFF
OFF
ON
OFF
OFF
The alarm is generated based on the NORMAL parameter and the priority and severity of
the alarm are configurable. When STATETEXT[0] is configured as OFF and
STATETEXT[1] as ON, the possible combinations are listed in the following table:
PVFL
STATE0
STATE1
NORMAL
Alarm
Generated
ON
OFF
ON
State0
Yes
OFF
ON
OFF
State0
No
R110
February 2014
1013
PVFL
1014
STATE0
STATE1
NORMAL
Alarm
Generated
OFF
ON
OFF
State1
Yes
ON
OFF
ON
State1
No
None
No
R110
February 2014
If a NaN input is encountered when calculating, the result (and the output) shall be
NaN.
Disconnected inputs have a default value of zero (with the exception of multiply
where the input(s) default is one).
Infinity values will be considered according to IEEE 754 floating point computation
rules. For instance, +INF - (+INF) = NaN, so any sum including positive infinity
and negative infinity values will result in a NaN output value.
Function
Approximate Size
in Bytes
ABS
Absolute value
50
ADD
Sum of n arguments
110
DIV
Division
60
EXP
e to the power of x
50
LN
50
R110
February 2014
1015
Block Library
Name
Function
Approximate Size
in Bytes
LOG
50
MOD
(x MOD y)
60
MUL
Product of n arguments
110
NEG
-(x)
50
POW
(x^y)
60
ROUND
50
SQRT
square root
50
SUB
Subtraction
60
TRUNC
50
ROLLAVG
Rolling average
120
Note: This does not
include the auxiliary
memory buffer that
is based on the
number of samples
configured by the
function block user.
1016
R110
February 2014
Block Name/
Graphic
Description
Function
ABS
ADD
DIV
EXP
LN
LOG
R110
February 2014
1017
1018
MOD
MUL
NEG
POW
ROUND
SQRT
R110
February 2014
SUB
TRUNC
ROLLAVG
2.
3.
While calculating the rolling average, only good samples are included in the calculation
and all bad samples are excluded from the calculation. The rolling average is calculated
at each Rolling Average function block execution as long as there is at least one good
sample. The block also displays the quality of the rolling average value by counting the
number of good samples and bad samples.
R110
February 2014
1019
ROLLBFBASE Defines the unit of time for the collection buffer (ROLLBUF).
CM Period =5 Secs
ROLLFREQ =5
ROLLFRBASE = Sec
ROLLBUF = 20
ROLLBFBASE = Sec
1020
R110
February 2014
The block also displays the good and bad values as ROLLAVGBAD=1 and
ROLLAVGOK=3
ATTENTION
When the collection buffer is filled with the maximum number of samples
(3800), the new sample overwrites the oldest sample in the buffer.
The 3800 can be updated as "(ROLLBUF * ROLLBFBASE)/(ROLLFREQ *
ROLLFRBASE.
A bad input is counted as a bad sample and is not included in rolling average
calculation. The OUT remains a NaN until one good sample is collected.
The CM is activated without correcting the errors that occurred while loading the
block. When this happens, ROLLAVGSZ and ROLLMULTIPLE parameter values
remain at 0. However, the Control Modules remaining functions are unaffected.
The CM Period is changed to a value that is illegal for the block to execute. For
example, if you change the CM Period from 1 sec to 2 secs while you have specified
the frequency of sample collection as 1 sec. You can change the CM Period only
when the CM is inactive or the controller is idle. When this happens, the
ROLLAVGSZ parameter value remains unchanged and the ROLLMULTIPLE
R110
February 2014
1021
The number of samples in the sample buffer exceeds its limits (greater than 3800).
The size of the collection buffer (ROLLBUF) is not legal for collection frequency or
not a multiple of frequency. For example, if frequency = 2 seconds and buffer size =
61 seconds, this is considered as illegal (since sample collection occurs every 2
seconds and cannot occur at the 61st second).
The frequency of sample collection (ROLLFREQ) is greater than the buffer size. For
example, if frequency = 10 minutes and buffer size = 5 minutes, this is considered
illegal (since sample collection occurs every 10 minutes, the buffer size must be
greater than the frequency).
The frequency of sample collection (ROLLFREQ) is less than the CM Period. For
example, if frequency = 1 minutes and CM Period = 2 minutes, this is considered
illegal.
An error also occurs if the memory available in CEE is insufficient for the rolling
average sample buffer.
Refer to the Control Builder Parameter Reference document for more information on the
parameters.
Memory size for the block
The estimated memory size for the Rolling Average function block is as follows:
1022
R110
February 2014
Estimated user memory (RAM) is 112 bytes per instance. (This size is reflected in
the block size information).
Estimated code size (firmware) is 3100 bytes. (This size is not reflected in the block
size information).
The user memory tool displays the memory per instance. The auxiliary memory is 8
times the RollavgSz for the number of additional bytes for a block.
Validations of the memory size
The CEE calculates and verifies the memory associated with the block to be within
the range (1 to 3800).
Also, the CEE validates that the size of the collection buffer is within the limits (0 to
3800) based on the CM Period and the frequency of the sample collection.
Refer to the Control Builder Parameter Reference document for more information on the
parameters.
R110
February 2014
1023
1024
R110
February 2014
Function
Block
Description
Support Coordinated
Master Control scheme
GRPCAPRBK
(Group Capability
and Runback)
Block
HTMOTOR (HT
Motor Drive
Control) Block
LEVELCOMP
(Drum Level
Computation)
Block
LTMOTOR (LT
Motor Drive
Control) Block
MAINIBV (IBV
Logic) Block
SOLENOID
(Solenoid Valve
Drive Control)
Block
Support valve/damper
VALVEDAMPER
R110
February 2014
1025
control requirements
(Valve/Damper
Drive Control)
Block
Description
Name: Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC): Lets you specify a text
R110
February 2014
Configuration Tab
Description
Number of Equipments (NUMBEROFEQP) -The number
following alarms.
Dependencies
R110
February 2014
1027
Configuration Tab
Description
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
This block provides the capability for a group of same type of equipments
depending upon the equipment status.
This block provides the Group Capability and Group Runback Rate for the
configured number of equipments.
The block accepts configurable number of equipments' input status and desired unit
load set point.
The block enables the user to configure equipment OFF state Capability Value
(OFFCAP) and ON state Capability Value (ONCAP) for individual equipment.
The block is capable of generating a Safe output flag when the load setpoint input
status bad or all equipment on/off status are bad.
The block has the capability to generate alarm for Run back Active when out
capability is less than unit load set point.
ATTENTION
Ensure that the OFFCAP value is configured less than the ONCAP value. If
1028
R110
February 2014
the OFFCAP value is greater than the ONCAP value, the ONCAP value is not
stored.
If the Group Capability block is connected through another block and the
OFFCAP is greater than the ONCAP value, the ONCAP value is not stored
(Also, there is no error message.)
This block provides the Group Capability and Group Runback Rate of the configured
number of equipments. The block accepts configurable number of equipments' status
inputs and desired unit load set point. This block provides two analog and one discrete
output.
The possible blocks in the downstream are:
Both blocks support PSTS. But OUTCAP is generated internally. ROCLM depends on
LOADSP. AUXCALC and SIGSEL sets it output to NaN, only if all the Inputs (p1-p6)
are BAD. Therefore there is no absolute need to provide the STS from this block, but
there is a need to handle NaN.
These two parameters do not have STS, but need to handle NaN as OPHILM can clamp
to low or HI limit based on input value range.
The possible blocks in Upstream are identified as:
Predecessor Block
The input IN of this block can be from any block with digital output. The input LOADSP
of this block can be from any Regulation Control block like AUTOMAN, SWITCH or
RATIOBIAS.
R110
February 2014
1029
Successor Block
The outputs OUTCAP and ROCLM of this block can be connected to any block with
analog input (for example, LOGIC:MIN). The output RUNBKACTFL of this block can
be connected to any block with digital input (for example, LOGIC:OR).
Configuration examples
User Scenario 1: The predecessor block for DI input can be a DIGACQ block or DI Channel
Block. The predecessor block for LOADSP input can be the AUTOMAN Block. The successor
block for OUTCAP and ROCLM can be SIGNALSEL block. The successor block for
RUNBKACTFL and SAFEOPTRIGFL can be LOGIC: OR block. This is a common scenario.
Inputs
DI[1..10]
Outputs
1030
R110
February 2014
Error handling
An Error is reported when a user enters a higher OFFCAP value than ONCAP value
of equipment. An error is also reported when the OFFCAP value equals the ONCAP
value of equipment. The block reports an error when the default values of ONCAP
is not changed The ONCAP and OFFCAP parameters report an error when ONCAP
and OFFCAP values are changed to NaN.
This block supports the invalid index check and Access level checks for all
parameters specific to the block.
On CM inactivation or CEE state IDLE, all output values are set to default values.
If all the DISTS of the Configured Number of Equipment are BAD, then:
If there is more than one block per CM, the number of blocks per display depends
on the configuration on the first block. A maximum of six blocks per display are
R110
February 2014
1031
possible. If more than six blocks per display is configured, the details of the first six
blocks are displayed along with an error message.
ATTENTION
GRPCAPRBK parameters
REFERENCE
Refer to the Control Builder Components Reference for parameter details for
the Group Capability and Runback Function block.
1032
R110
February 2014
The following diagram illustrates the START logic flow for an HT Motor block.
R110
February 2014
1033
1034
R110
February 2014
The following diagram illustrates the STOP logic flow for an HT Motor block.
R110
February 2014
1035
The following diagram illustrates the TRIP logic flow for an HT Motor block.
1036
R110
February 2014
Each HT Motor Control block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
1037
Configuration Tab
Description
or AUTO for process input connection, TRACK for
tracking OP. Only applicable with PV Source Option
selection of ALL. The default selection is AUTO.
Mode Attribute (MODEATTR) - Lets you set the block's
1038
R110
February 2014
Configuration Tab
Description
is ON, lets you change OP regardless of the state of the
Override interlocks, if BYPASS is set ON. This does not
affect the Safety Override Interlock (SI). When you reset
the BYPASS parameter to OFF, any existing Override
Interlocks (OI[0..2]) take effect immediately.
BYPASS when BKT (BKTBYPASS) - Lets you change
R110
February 2014
1039
Configuration Tab
Description
the STOP state.
SCM
Alarms
1040
R110
February 2014
Configuration Tab
Description
Command Fail (CMDFALALM.FL): This alarm checks to
1041
Configuration Tab
Description
disables the alarm. The default setting is 0. This value
must be less than the value set for CMDDISALM.TM[0].
Time to RUN (or assigned State Name)
R110
February 2014
Configuration Tab
Description
default setting is DISABLED.
Priority (SIALM.PR): Lets you select the priority level as
R110
February 2014
1043
Configuration Tab
Description
for the following alarms.
Motor trip alarm: Lets you configure the following
parameters for this alarm.
Option (MOTORTRIPALM.OPT): Lets you specify
R110
February 2014
Configuration Tab
Description
Bearing Temperature Trip alarm: Lets you configure the
following parameters for this alarm.
Option (BRNGTEMPALM.OPT): Lets you specify
1045
Configuration Tab
Description
Identification
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
1046
The HT Motor Control block has two inputs, two states, and two outputs.
Provides PV Source Selection; PV has 2 basic states such as RUN and STOP and an
additional BAD state.
R110
February 2014
Provides First out detection mechanism to detect the input that acted first to cause
the motor to trip.
Provides maintenance statistics: Running and stopped hours for the motor are
calculated similar to the STATIME parameter of Device Control block. The trip
time is recognized by motor state at STOP and presence of corresponding OI or SI
parameter or MTT or WDGTEMPTRIP or VIBRTRIP or BRNGTEMPTRIP.
Provides Bypass permissive interlock and protection interlock when the breaker is in
test position (BKT = ON). However, this does not bypass SI interlocks and
Switchgear protection.
You can red tag a HTMOTOR block. Refer to the About Red Tagging section for more
information.
Predecessor and Successor Block
The HT Motor Drive Control block takes inputs from DI channels or from the program.
All the inputs are two state inputs and can be connected to any block with a digital
output. The output of the block can be connected to DO or further connected to
subsequent logic, if necessary.
Configuration examples
Scenario 1:
The following scenario depicts the implementation of an HT Motor block in a Control
Strategy with Auto Start/Stop, Equipment trips, Local Start/Stop and MCC inputs:
R110
February 2014
1047
1048
R110
February 2014
R110
February 2014
1049
1050
R110
February 2014
R110
February 2014
1051
Callout
1
Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR)
and breaker status inputs (BKS, BKR) from the DICHANNEL block to the
HT Motor block.
2
1052
Use the PV parameter connection to carry Remote switch input from the
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Callout
Description
DI channel block to the HT Motor block.
In case of an auto standby configuration, the HT motor block can be
commanded by Auto Start, Auto Stop provided the Remote switch is ON,
the local switch is OFF and MODEATTR is in PROGRAM.
Use the PV parameter connection to carry Local switch input from the DI
channel block to the HT Motor block.
In case of a local mode configuration, the HT motor block can be
commanded by Local Start, Local Stop provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.
Use the PVFL parameter connection of the Dig Acq block to carry
vibration trip inputs from the DI channel block to the HT Motor through
the Dig Acq block.
Use the PV parameter connection to carry equipment trip inputs (bearing
temperature, winding temperature) from the DI channel block to the HT
Motor.
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
Scenario 2
The following scenario depicts the implementation of an HT Motor block in a Control
Strategy with Safety, Override, and Permissive logic and MCC Inputs.
R110
February 2014
1053
1054
R110
February 2014
R110
February 2014
1055
Callout
1
Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR)
and breaker status inputs (BKS, BKR) from the DICHANNEL block to the
HT Motor block.
1056
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
R110
February 2014
Scenario 3
The following scenario depicts the implementation of an HT Motor block in a Control
Strategy with Equipment trips and UCP Start/Stop logic and MCC Inputs.
R110
February 2014
1057
1058
R110
February 2014
Callout
1
Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR)
and breaker status inputs (BKS, BKR) from the DICHANNEL block to the
HT Motor block.
R110
February 2014
1059
Callout
2
Description
Use the PVFL parameter connection of the Dig Acq block to carry
vibration trip inputs from the DI channel block to the HT Motor through
the Dig Acq block.
Use the PV parameter connection to carry equipment trip inputs (bearing
temperature, winding temperature) from the DICHANNEL block to the HT
Motor.
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
Inputs
The HT Motor block can have two inputs. Each input is a Boolean value, representing
the state of another block output or a field DICHANNEL (Digital Input Channel) block.
The inputs which are physically wired into the system and brought to this block through
Channel blocks are termed as Hard inputs. The Soft inputs normally operate from
displays or other function blocks.
Hard Inputs: MTT, MTR, MTS, LRR, BKS, BKT, BKR, WDGTEMPTRIP,
VIBRTRIP, BRNGTEMPTRIP, LOCALSWITCH, REMOTESWITCH,
LOCALSTART, LOCALSTOP, UCPREL, UCPSTART, UCPSTOP, SEQSTART,
SEQSTOP, AUTOSTART, AUTOSTOP, RESETFIRSTUP, BKTBYPASS
Soft Inputs: PORUNCONNECTED, POSTOPCONNECTED, RUNPULSEWIDTH,
STOPPULSEWIDTH, PI[0], PI[1], OI[0], OI[1], TRKNUMTRANS,
TRKNUMSIOVRD, TRKSTATETIME, RESETFL.
Outputs
The HT Motol Control block may have two outputs. Each output can be latched or
pulsed (On Pulse or Off Pulse). Each output is a Boolean value, which can be connected
1060
R110
February 2014
The DOCHANNEL (DOC) block can connect three different inputs to a drive
control block (output). However, only one of these inputs can be connected for any
single DOC.
DOC.SO can be connected to the latched outputs like CmdRun and CmdStop.
You can configure an individual PULSEWIDTH for each PO*. The setting range is
between 0.000 and 60 seconds with a resolution of 1 millisecond.
The DOCHANNEL block determines the actual pulsewidth resolution and accuracy
based on its execution rate. It always rounds-off the configured pulsewidth value up
consistent with its own execution rate. For example, if the execution rate of the
DOCHANNEL block is 125 milliseconds and the configured PULSEWIDTH value
is 450 milliseconds (.45 seconds), the actual pulse time output is 500 milliseconds,
which is the next highest multiple of 125 milliseconds.
Error handling
LOCALSTART can be initiated only when 'Other FB' access lock, Operator mode
and Local/Remote selection switch is at LOCAL.
AUTOSTART can be initiated only when access lock in not 'Other FB' and
local/remote switch is at REMOTE.
R110
February 2014
1061
UCPSTART can be initiated only when access lock is not OtherFB and UCP
RELEASE is available.
For the HT Motor FB, if both feedback status is ON and OFF, a fault status is
flagged and output generation is not processed.
States
A "state" represents the current condition of a device. In the case of HT Motor, RUN and
STOP represent the two states, with Stop being the safe or failsafe state. Each input
combination is assigned to a specific state and this mapping is fixed. The PV parameter
represents the current state of the HT Motor.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state - RUN or STOP. The OP parameter
represents the commanded state or the device state commanded by an operator. The
block transmits the OP, monitors the PV, and produces alarms based on the State
Assignment configurations, which represent whether or not the process feedback has
achieved the state commanded in OP.
1062
State parameters
PV
PVAUTO
OP
OPFINAL
R110
February 2014
The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter. An operator can use these parameters.
The Generic State parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are as follows:
SAFE - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the
internal value is set to the designated SAFEOP.
And, GENSTAT_ENM is
STATETEXT[0]
Bad
Null
STATETEXT[1]
Inbet
Inbet
STATETEXT[2]
Active
Active
STATETEXT[3]
Safe(STOP)
Safe
STATETEXT[4]
STOP
S0
R110
February 2014
1063
STATETEXT[5]
RUN
S1
STATETEXT[6]
NOCOMMAND
S2
PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.
MODEATTR can be changed from PROG to OPER and vice versa through other
FB through MODEATTRCHGFL.
1064
Local\Remote Switch
ModeAttribute
LocalStart
LOCAL
UCPStart
REMOTE
AutoStart
REMOTE
PROG
SeqStart
REMOTE
PROG
ConsoleStart
REMOTE
OPER
R110
February 2014
HT MOTOR
Local\Remote Switch
LocalStop
ModeAttribute
LOCAL
UCPStop
AutoStop
REMOTE
PROG
SeqStop
REMOTE
PROG
ConsoleStop
OPER
Ignore
Check
Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. The state
of the digital input can be stored to the LOCALMAN pin added to the HT Motor block
through a DICHANNEL connection. The control system cannot have control over the
field device when the HAND/OFF/AUTO switch is not in AUTO position, the
LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP is set to STOP. This ensures that the
last commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. You cannot directly command the OP (GOP) if
LOCALMAN is ON.
You cannot access LOCALMAN, if the HT Motor block has no inputs or no outputs
connected. PV is illegal for no inputs and OP is illegal for no outputs, and therefore
LOCALMAN has no meaning for these conditions.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdRun/Stop will follow OPFINAL.
ATTENTION
LOCALMAN can be used, when the LT Motor commands are commanded by
Local, and controlled directly from the MCC and not from the DCS.
R110
February 2014
1065
Permissive interlocks
PI[0..1]are Permissive Interlocks inputs that can be connected to an external function
block to determine whether the operator and/or user program are allowed to change the
commanded output (OP) of the HT Motor block to a specific state. Permissive Interlocks
themselves never cause OP to change.
The Permissive Interlocks are all defaulted to ON, thereby allowing permission to all
the states - they must be individually set to OFF to prevent access to the
corresponding OP state.
the operator
a user program
Override Interlocks
OI[0..1] are Override Interlocks which, when active, force the commanded output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.
1066
Override Interlocks may be connected to other block outputs or may be directly set
by an operator if MODEATTR = OPERATOR and the block is inactive.
Override Interlock parameters are all defaulted to OFF, thereby disabling all the
Override Interlocks. They must be set to ON to force OP to go to any specific state.
If the Override Interlock forces OP to go to a momentary state, it stays in that state
R110
February 2014
as long as the interlock remains ON and then switches back to the original state
when the Override Interlock is reset to OFF.
SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks are determined by the state assigned to predefined SAFEOP that
is STOP and the priority is SI, OI[0], OI[1].
When BYPASS is ON, OP can be changed regardless of the state of the Override
Interlocks.
When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.
Alarms
An available set of PV state alarms may be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.
Command Fail alarm - generated when the Current Active State (PV) fails to change
from an original value to any other value within a configurable time interval after
the OP parameter is commanded.
R110
February 2014
You can configure the feedback time (CMDFALALM.TM[0..1) for each state
through the Alarms tab on HT Motor block configuration form. The value of OP
just commanded determines which CMDFALALM.TM[0..1] is active. The
CMDFALALM.TM[0..1] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..1] parameter to 0 disables the alarm for the associated
state[0..1]. The alarm function is automatically disabled, if there are no inputs or
no outputs. CMDFALALM.TM[0..1] changes from or to 0, require CM InActive
or CEE Idle.
Experion LX Control Builder Components Theory
Honeywell
1067
ATTENTION
Bad PV alarm - generated whenever the Current Active State (PV) is detected to be
a NULL (or bad) state.
Command Disagree alarm - generated when the Commanded Output State (OP) is
changed and the actual input state (PV) does not change accordingly within a
specified feedback time.
This alarm condition returns to NORMAL when the input PV state becomes equal
to the OP state.
Uncommanded Change alarm - generated if the actual input state (PV) changes but
has not been commanded to change (unless it is a bad PV). This alarm is configured
whenever the Command Disagree alarm is configured.
This alarm condition returns to NORMAL when the input PV state becomes equal
to the commanded OP state.
Off Normal alarm - This alarm is generated whenever PV does not match OPREQ, if
OPREQ is not Null.
Override Interlock alarms - When the alarm is enabled and the active interlock
causes an OP state change, an alarm is generated.
Safety Override Interlock alarm - When the alarm is enabled and the active interlock
causes an OP state change, an alarm is generated.
R110
February 2014
(setting of the output state and related alarm notification) always occurs regardless of the
effect of the other alarm.
Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (STOP), but OP is not altered.
Observe OPFINAL to determine what state was actually commanded to the output
destinations. The OPFINAL is displayed in reverse video while monitoring Control
Builder if it differs from OP. OPFINAL is set equal to OP on the next store to OP, which
clears the "seal" condition.
You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and
CMDDISALM.TM [0..1] is configured.
FIRSTUP functionality
The HT Motor block has an inbuilt FIRSTUP logic which enables the FIRSTUPACTED
flag on detecting a valid input transition. The firstup detected is not reset on restarting
the motor; it has to be reset manually through RESETFIRSTUP. The inputs that are
scanned for FIRSTUP detection include MTTACTED, WDGTEMPTRIPACTED,
VIBRTRIPACTED, BRNGTEMPTRIPACTED, LOCALSTOPACTED,
UCPSTOPACTED, SEQSTOPACTED, AUTOSTOPACTED, OIACTED, SIACTED,
LRRACTED.
This is a structure containing the INITREQ status and the DOC.SO current value.
R110
February 2014
1069
INITMAN - This is a BOOLEAN value which is set TRUE whenever any of the
INITDOWN[i].STATUS is TRUE.
OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value is
NORMALOPT.
1070
If any of the Override Interlocks are active and not bypassed, the OP is set to the
highest priority Override Interlock
R110
February 2014
if a valid OP value can be constructed from the values of the output connections.
Maintenance statistics
The HT MOTOR block collects a set of maintenance statistics which are classified into
three categories which are enabled by enable options - TRKSIOVRD,
TRKNUMTRANS, TRKSTATETIME.
The following maintenance statistics are collected:
R110
February 2014
1071
The statistics are accumulated after the most recent reset. The operator can reset the
statistics of HT MOTOR block anytime irrespective of Redtagging, unlike the DEVCTL
block.
Output requests
Whenever an external FB attempts to change the commanded state OP, the HT MOTOR
block uses the OP request mechanism. The OP request (OPREQ/GOPREQ) differs from
direct access an operator uses to the commanded state OP. The OPREQ is a string in the
same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM, which is the
same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from SCM. When MODEATTR is OPERATOR, an
operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ continues to attempt stores even
if attributes, such as interlocks, become active and block changes to OP. Thus, once the
attributes blocking change to OP the reset OPREQ stores the commanded state to OP.
Output command
The block provides Boolean command capability through an array of Boolean inputs
(AUTO START/STOP, UCP START/STOP, LOCAL START/STOP, SEQ
START/STOP).
1072
When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, an output from a Logic block can be used to set the requested
output state (OPREQ) through the given Boolean input command (AUTO
START/STOP, SEQ START/STOP).
R110
February 2014
2.
3.
4.
2.
3.
If an SCM commands the HT Motor block by sending a Null type of request to GOP and
there are active OPCMDs such as AUTO START/STOP, UCP START/STOP, LOCAL
START/STOP (this is possible when SCMOPT = NONE, MODEATTR = Program, and
SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM store to GOP is
rejected if any of the OPCMD elements are active (one or more OPCMD members are
ON). Only an SCM can gain control, only when all OPCMD elements are OFF.
The HT Motor can also be commanded by SCM through SEQ START/STOP when SCM
option is FIXED and MODEATTR is PROGRAM.
ATTENTION
R110
February 2014
1073
UCP STOP and CONSOLE STOP ignore the switches for its operation.
Since BKT and BKS are complimentary inputs, the HT motor can be
commanded only when either one of them is ON.
HTMOTOR parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.
1074
R110
February 2014
Ref: Density of water in wet leg (This computation uses the Water Leg temperature)
R110
February 2014
1075
S: Density of steam
W: Density of water
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
the wet leg temperature. Wet leg refers to the liquid filled
low side impulse line in a differential pressure level
measuring system. You can enter a range of 0 to 70
DEGC (or 32 to 158 Deg F). The default value is 45 Deg
F.
DP Slope (DPSLOPE) - Defines the slope to be applied
1076
R110
February 2014
Configuration Tab
Description
to DP parameter. Default value =1.
DP Bias (DPBIAS) - Defines the bias to be applied to the
Engineering Unit
Dependencies
Block Pins
R110
February 2014
1077
Configuration Tab
Description
Control Builder.
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
The Drum Level Computation function block computes the drum level from the
measured DP, Pressure and other field specific constants.
The block has an algorithm for generating steam and water density from the given
pressure input as long as the pressure input is good.
The Level Status (PV) becomes bad when one of the input's status becomes bad and
PV is not be computed.
Enables the user to select ENGUNIT for DP, Pressure, WETLEGTEMP, and drum
level.
Block Configuration
By default, the PRSLOPE is set to 1 and PRBAIS is set to 0, the DPSLOPE is set to 1,
DPBIAS is set to 0.
Predecessor Block
1078
R110
February 2014
The channel blocks bring in analog channels such as DP and pressure to the Drum level
Computation.
This block is required as the transmitter selection block does not have alarm capability.
The signals involved - Pressure and DP, employs dual/triple redundant configuration.
Therefore this block supports "median value selection."
Block5: DACA
R110
February 2014
1079
Successor Block
The output of the Drum Level Computation block has a direct connectivity to a DACA
block.
Inputs
Outputs
1080
PV - Drum level.
R110
February 2014
Error handling
The Level Status (PVSTS) becomes bad when one of the input's status becomes bad
and PV is not computed and PV takes a NaN. If any of the input status is not bad,
then PV is calculated and the status is updated appropriately.
The block limits the range of Wet leg Temperature input. The permissible range that
can be entered is 0 to 70 Deg C (or 32 to 158 Deg F).
LEVELCOMP parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drum Level Computation block.
1081
and Process inputs have to hover around this one single input pin by employing OR or
AND blocks for multiplexing. The LT Motor Control function block (LTMOTOR),
available under the POWERGEN library is derived from the Device Control block in
Experion LX (DEVCTL) customized to meet the LT Motor Drive control requirements
found in power plants. It accepts inputs and interlocks pertaining to a conventional
LTMOTOR drive's MCC and is capable of controlling the drive through outputs
governed by predetermined logic.
The LT Motor Control function block is graphically represented as follows.
Each LT Motor Control block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab.
1082
R110
February 2014
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
R110
February 2014
1083
Configuration Tab
Description
commands when the process feedback state cannot
follow the commanded output state. Selections are
DISABLE and ENABLE. If ENABLE, the field output
destinations are set to SAFEOP but OP is not altered.
Pulse Output (POSTOPCONNECTED and
R110
February 2014
Configuration Tab
Description
after the last statistics reset.
(Total number of statet transitions (NUMTRANS) - The
SCM
R110
February 2014
1085
Configuration Tab
Description
NONE.
Alarms
R110
February 2014
Configuration Tab
Description
Command Disagree - Lets you configure the following
parameters for this alarm.
Time to STOP (CMDDISALM.TM[0]): Lets you set the
1087
Configuration Tab
Description
parameters for this alarm.
Priority (UNCMDALM.PR): Lets you select the priority
1088
R110
February 2014
Configuration Tab
Description
as NONE, JOURNAL, LOW, HIGH, or URGENT. The
default setting is LOW.
Severity (OIALM[0].SV): Lets you set the relative severity
1089
Configuration Tab
Description
Identification
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
1090
The LT Motor function block has two inputs, two states, and two outputs.
R110
February 2014
Provides maintenance statistics: Running and stopped hours for the motor is
calculated and stored in RUNTIME, STOPTIME parameters. The Trip time is
recognized by motor state at STOP and presence of corresponding OI or SI
parameter and stored in TRIPTIME parameter.
You can red tag a LTMOTOR block. Refer to the About Red Tagging section for more
information.
Predecessor and successor block
The LT Motor Drive Control block can take inputs from DI channels or from the
program. All inputs are two state inputs and can be connected to any block with a digital
output. The output of the block can be connected to DO or further connected to
subsequent logic, if necessary.
Configuration examples
Scenario 1:
The following scenario depicts the implementation of an LT Motor block in a Control
Strategy with Auto Start/Stop, Local Start/Stop logic and MCC inputs.
R110
February 2014
1091
1092
R110
February 2014
R110
February 2014
1093
1094
R110
February 2014
Callout
1
Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS)
fromthe DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the LT Motor block.
Use the PV parameter connection to carry Remote switch input from the
DI channel block to the LT Motor block.
In case of an auto standby configuration, the LT motor block can be
commanded by Auto Start, Auto Stop provided the Remote switch is ON,
the local switch is OFF and MODEATTR is in PROGRAM.
Use the PV parameter connection to carry Local switch input from the DI
channel block to the LT Motor block.
In case of a local mode configuration, the LT motor block can be
R110
February 2014
1095
Callout
Description
commanded by Local Start, Local Stop provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
Scenario 2
The following scenario depicts the implementation of an LT Motor block in a Control
Strategy with Safety, Override and permissive inputs and MCC inputs.
1096
R110
February 2014
R110
February 2014
1097
Callout
1
Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
1098
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
R110
February 2014
Scenario 3
The following scenario depicts the implementation of a LT Motor block in a Control
Strategy with UCP Start/Stop logic and MCC Inputs.
R110
February 2014
1099
1100
R110
February 2014
Callout
1
Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the LT Motor block.
R110
February 2014
1101
Callout
Description
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
Inputs
An LT Motor block can have two boolean inputs which can represent the state of another
block output or a field DICHANNEL (Digital Input Channel) block.
The inputs which are physically wired into the system and brought to this block via a
Channel blocks are termed as Hard inputs. The Soft inputs normally operate from
displays or other function blocks.
Hard Inputs: MTT, MTR, MTS, LRR, BKS, BKT, BKR, LOCALSWITCH,
REMOTESWITCH, LOCALSTART, LOCALSTOP, UCPREL, UCPSTART,
UCPSTOP, SEQSTART, SEQSTOP, AUTOSTART, AUTOSTOP
Soft Inputs: PORUNCONNECTED, POSTOPCONNECTED, RUNPULSEWIDTH,
STOPPULSEWIDTH, PI[0,1], OI[0,1], TRKNUMTRANS, TRKNUMSIOVRD,
TRKSTATETIME, RESETFL
Outputs
An LT Motor Control function block may have two outputs. Each output can be latched
or pulsed (On Pulse or Off Pulse). Each output is a Boolean value, which can be
connected to any other block parameter or to a field DOCHANNEL (Digital Output
Channel) block.
1102
The DOCHANNEL (DOC) block can connect two different inputs to a drive control
block (output). However, only one of these inputs can be connected for a single
DOC.
DOC.SO can be connected to the latched outputs like CmdRun and CmdStop.
R110
February 2014
Each PO* can be configured with an individual PULSEWIDTH. The setting range is
between 0.000 and 60 seconds with a resolution of 1 millisecond.
The DOCHANNEL block determines the actual pulsewidth resolution and accuracy
based on its execution rate. It always rounds the configured pulsewidth value up
consistent with its own execution rate. For example, if the execution rate of the
DOCHANNEL block is 125 milliseconds and the configured PULSEWIDTH value
is 450 milliseconds (.45 seconds), the actual pulse time output is 500 milliseconds,
which is the next highest multiple of 125 milliseconds.
Error handling
LOCALSTART can be initiated only when access lock is 'Other FB', mode is
Operator and Local/Remote selection switch is at local.
AUTOSTART can be initiated only when access lock in not 'Other FB' and
local/remote switch is at remote.
UCPSTART can be initiated only when access lock is not OtherFB and UCP
RELEASE is available.
For the LT Motor FB, if both feedback status is ON and OFF, a fault status is
flagged and output generation is not processed.
R110
February 2014
1103
States
A "state" represents the current condition of a device. In the case of an LT Motor, RUN
and STOP represent the two states, with STOP being the safe or failsafe state. Each input
combination is assigned to a specific state and this mapping is fixed. The PV parameter
represents the current state of the LT Motor.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state, such as RUN or STOP. The OP
parameter represents the commanded state or the device state commanded by an
operator. The block transmits the OP, monitors the PV, and produces alarms based on the
state assignment configurations, which represent whether or not the process feedback has
achieved the state commanded in OP.
State parameters
PV
PVAUTO
OP
OPFINAL
The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter. An operator can use these parameters.
The Generic State parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are:
1104
R110
February 2014
Inbet - Represents an in between state and could be designated MOVPV for moving
PV.
Safe - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the
internal value is set to the designated SAFEOP.
And, GENSTAT_ENM is
STATETEXT[0]
Bad
Null
STATETEXT[1]
Inbet
Inbet
STATETEXT[2]
Active
Active
STATETEXT[3]
Safe(STOP)
Safe
STATETEXT[4]
STOP
S0
STATETEXT[5]
RUN
S1
STATETEXT[6]
NOCOMMAND
S2
R110
February 2014
1105
PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.
MODEATTR can be changed from PROG to OPER and vice versa through other
FB via MODEATTRCHGFL.
Local\Remote Switch
ModeAttribute
LocalStart
LOCAL
UCPStart
REMOTE
AutoStart
REMOTE
PROG
SeqStart
REMOTE
PROG
ConsoleStart
REMOTE
OPER
LocalStop
LOCAL
UCPStop
AutoStop
REMOTE
PROG
SeqStop
REMOTE
PROG
ConsoleStop
1106
OPER
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Ignore
Check
Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. You can
then have the state of the digital input stored to the LOCALMAN pin added to the LT
Motor block through a DICHANNEL connection. The control system cannot have
control over the field device when the HAND/OFF/AUTO switch is not in the AUTO
position, the LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP is set to STOP. This ensures that the
last commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. You cannot directly command the OP (GOP) while the
LOCALMAN is ON.
The LOCALMAN cannot be accessed, if the LT Motor block has no inputs or no outputs
connected. PV is illegal for no inputs and OP is illegal for no outputs, and therefore
LOCALMAN has no meaning for these conditions.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdRun/Stop follows OPFINAL.
ATTENTION
LOCALMAN can be used, when the LT Motor commands are commanded by
Local, and controlled directly from the MCC and not from the DCS.
Permissive interlocks
PI[0..1]are Permissive Interlocks which are inputs that can be connected to an external
function block determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the LT Motor block to a specific state. Permissive
Interlocks themselves never cause OP to change.
R110
February 2014
1107
The Permissive Interlocks are all defaulted to ON, thereby allowing permission to all
the states - they must be individually set to OFF to prevent access to the
corresponding OP state.
the operator
a user program
Override Interlocks
OI[0..1] are Override Interlocks which, when active, force the Commanded Output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.
1108
Override Interlocks can be connected to other block outputs or can be directly set by
an operator if MODEATTR = OPERATOR and the block is inactive.
Override Interlock parameters are all defaulted to OFF, thereby disabling all the
Override Interlocks. They must be set to ON to force OP to go to any specific state.
If the Override Interlock forces OP to go to a momentary state, it stays in that state
as long as the interlock remains ON and then switches back to the original state
when the Override Interlock is reset to OFF.
SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks are determined by the state assigned to predefined SAFEOP that
is STOP and the priority is SI, OI[0], OI[1].
R110
February 2014
When BYPASS is ON, OP can be changed regardless of the state of the Override
Interlocks.
When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.
Alarms
An available set of PV state alarms can be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.
Command Fail alarm - generated when the Current Active State (PV) fails to change
from an original value to any other value within a configurable time interval after
the OP parameter is commanded.
You can configure the feedback time (CMDFALALM.TM[0..1) for each state
through the Alarms tab on LT Motor block configuration form. The value of OP
just commanded determines which CMDFALALM.TM[0..1] is active. The
CMDFALALM.TM[0..1] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..1] parameter to 0 disables the alarm for the associated
state[0..1]. The alarm function is automatically disabled, if there are no inputs or
no outputs. CMDFALALM.TM[0..1] changes from or to 0, require CM InActive
or CEE Idle.
ATTENTION
R110
February 2014
1109
Bad PV alarm - generated whenever the Current Active State (PV) is detected to be
a NULL (or bad) state.
Command Disagree alarm - generated when the Commanded Output State (OP) is
changed and the actual input state (PV) does not change accordingly within a
specified feedback time.
You can configure the feedback time (CMDDISALM.TM[0..1) for each state
through the Alarms tab on LT MOTOR block configuration form. The value of
OP just commanded determines which CMDDISALM.TM[0..1] is active. The
CMDDISALM.TM[0..1] setting range is 0 to 1000 seconds. Setting a given
CMDDISALM.TM[0..1] parameter to 0 disables the alarm for the associated
state[0..1]. The alarm function is automatically disabled, if there are no inputs or
no outputs. CMDDISALM.TM[0..1] changes from or to 0, require CM InActive
or CEE Idle.
This alarm condition returns to NORMAL when the input PV state becomes equal
to the OP state.
Uncommanded Change alarm - generated if the actual input state (PV) changes but
has not been commanded to change (unless it is a bad PV). This alarm is configured
whenever the Command Disagree alarm is configured.
This alarm condition returns to NORMAL when the input PV state becomes equal
to the commanded OP state.
Off Normal alarm - This alarm is generated whenever PV does not match
OPREQ, if OPREQ is not Null.
Override Interlock alarms - When the alarm is enabled and the active interlock
causes an OP state change, an alarm is generated.
Safety Override Interlock alarm - When the alarm is enabled and the active interlock
causes an OP state change, an alarm is generated.
Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
1110
R110
February 2014
field output destinations are set to the Safe Output State (STOP), but OP is not altered.
You can observe OPFINAL to determine what state was actually commanded to the
output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.
You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and
CMDDISALM.TM [0..1] is configured.
This is a structure containing the INITREQ status and the DOC.SO current value.
INITMAN - This is a BOOLEAN value which is set to TRUE whenever any of the
INITDOWN[i].STATUS are TRUE.
OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value is
NORMALOPT.
R110
February 2014
1111
If any of the Override Interlocks are active and not bypassed, the OP is set to the
highest priority Override Interlock;
if a valid OP value can be constructed from the values of the output connections.
1112
R110
February 2014
Maintenance statistics
The LT MOTOR block collects a set of Maintenance Statistics which are classified into
three categories which are enabled by their respective enable options such as,
TRKSIOVRD, TRKNUMTRANS, TRKSTATETIME.
The maintenance statistics collected include:
The statistics are accumulated after the most recent reset. The operator can reset the
statistics of LT MOTOR block anytime irrespective of Redtagging, unlike the DEVCTL
block.
R110
February 2014
1113
Output requests
Whenever an external FB attempts to change the commanded state OP, the LT MOTOR
block uses the OP request mechanism. The OP request (OPREQ/GOPREQ) differs from
direct access an operator uses to the commanded state OP. The OPREQ is a string in the
same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM, which is the
same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ continues to attempt stores even
if attributes, such as interlocks, become active and block changes to OP. Thus, once the
attributes blocking change to OP have reset OPREQ stores the commanded state to OP.
Output command
The block provides a Boolean command capability through an array of Boolean inputs
(AUTO START/STOP, UCP START/STOP, LOCAL START/STOP, SEQ
START/STOP).
When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command
(AUTO START/STOP, SEQ START/STOP).
1114
R110
February 2014
If an SCM commands the LT Motor block by sending a Null type of request to GOP and
there are active OPCMDs such as AUTO START/STOP, UCP START/STOP, LOCAL
START/STOP. (this is possible when SCMOPT = NONE, MODEATTR = Program, and
SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM store to GOP is
rejected, if any of the OPCMD elements are active (one or more OPCMD members are
ON). An SCM can gain control, only when all OPCMD elements are OFF.
The LT Motor can also be commanded by SCM through SEQ START/STOP when SCM
option is FIXED and MODEATTR is PROGRAM.
ATTENTION
UCP STOP and CONSOLE STOP ignore switches for its operation.
LTMOTOR parameters
R110
February 2014
1115
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.
The Main - IBV Logic block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
1116
R110
February 2014
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
1117
Configuration Tab
Description
severe, assuming that the PV value is bad. This
determines the alarm processing order relative to other
alarms. The default value is 0.
Mode Attribute (MODEATTR) - Lets you set the block's
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
1118
R110
February 2014
Triggers an open sequence failure alarm in case an OPEN command fails to open the
Main valve.
Triggers a close sequence failure alarm in case a CLOSE command fails to close
Main valve.
Triggers a BADPV alarm in case the IBV open feedback or Main close feedback is
in BAD state.
Commands the Drive Control blocks for further operation of Main and IBV valve.
Inputs
Outputs
Control logic
The following figure illustrates the control logic of the Main-IBV function block:
R110
February 2014
1119
The details of the Control logic illustration are described in the following table:
Path
1120
Description
Path (1):
Activation
Path (2):
Path (3):
Path (4):
Path (5):
Path (6):
Path (7):
Path (8):
Path (9):
R110
February 2014
Path (10):
ATTENTION
Operator can take control of Valve Damper/ Drive/ Dev ctl by changing
mode attribute to operator whenever required for bypassing the
MAINIBV.
R110
February 2014
1121
1122
R110
February 2014
R110
February 2014
1123
ATTENTION
1124
R110
February 2014
Error handling
Displays an error for invalid input index while loading or accessing parameters.
Limits the range of DELAY input for the user. Only a positive value can be entered
for DELAY on the Project and Monitoring side.
MAINIBV parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Main-IBV Logic block.
1125
The Solenoid Valve Control function block (SOLENOID), available under the
POWERGEN library is graphically represented as follows:
Each Solenoid Valve Control block supports the following user configurable attributes.
The following table lists the given name of the "Tab" in the parameter configuration
form and then briefly describes the attributes associated with that tab.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
1126
R110
February 2014
Configuration Tab
Description
characters long.
Engineering Units (EUDESC) - Lets you specify a text
1127
Configuration Tab
Description
Note: SEALOPT can be enabled only when
CMDDISALM.TM[0..1] is configured.
Bypass Permit (BYPPERM) - Lets you specify if
R110
February 2014
Configuration Tab
SCM
Description
SCM Mode Tracking Opt (MODETRACK) - Lets you
1129
Configuration Tab
Description
OP state is commanded. For slow responding devices,
absence of this alarm indicates that the device
responded to the command, even if it has not yet moved
to its commanded position.
Uncommanded Change (UNCMDALM.FL): This alarm
R110
February 2014
Configuration Tab
Description
parameters for the command fail alarm.
Time to Close (or assigned State Name)
1131
Configuration Tab
Description
parameters for the safety override interlock alarm.
Safety Override Interlock (SIALM.FL): This alarm is
R110
February 2014
Configuration Tab
Description
parameters for this alarm.
Priority (OFFNRMALM.PR): Lets you select the priority
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
The solenoid valve has two inputs, three states, and one output.
R110
February 2014
1133
You can red tag a SOLENOID block. Refer to About Red Tagging section for more
information.
Predecessor and Successor Block
The Solenoid Valve Control block takes inputs from DI channels or from the
PROGRAM. All the inputs are two state inputs and are connected to any block with a
digital output. The output of the block can be connected to a DO or further connected to
subsequent logic, if necessary.
Configuration examples
Scenario 1:
The following scenario depicts the implementation of a Solenoid Valve Control block in
a Control Strategy with Auto Open/Close, Remote Switch, Local Open/Close logic and
MCC inputs.
1134
R110
February 2014
R110
February 2014
1135
1136
R110
February 2014
R110
February 2014
1137
Callout
1
Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Solenoid Valve block.
In the Solenoid valve block, the MCC inputs (LTO, LTC) provide the
feedback if the valve is open or close.
Use the PV parameter connection to carry Remote switch input from the
DI channel block to the Solenoid Valve block.
In case of an auto standby configuration, the Solenoid Valve block can be
commanded by Auto Open, Auto Close provided the Remote switch is
ON, the local switch is OFF and MODEATTR is in PROGRAM.
Use the PV parameter connection to carry Local switch input from the DI
channel block to the Solenoid Valve block.
In case of a local mode configuration, the Solenoid Valve block can be
commanded by Local Open, Local Close provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.
4
1138
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
Callout
Description
OFF.
Scenario 2:
The following scenario depicts the implementation of a Solenoid Valve Control block in
a Control Strategy with Safety, Override and permissive inputs and MCC inputs.
R110
February 2014
1139
1140
R110
February 2014
Callout
1
Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Solenoid Valve block.
In the Solenoid Valve block, the MCC inputs (LTO, LTC) provide the
feedback if the valve is open or close.
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
Scenario 3:
The following scenario depicts the implementation of a Solenoid Valve Control block in
a Control Strategy with UCP Open/Close logic and MCC inputs.
R110
February 2014
1141
1142
R110
February 2014
R110
February 2014
1143
Callout
1
Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Solenoid Valve block.
In the Solenoid Valve block, the MCC inputs (LTO, LTC) provide the
feedback if the valve is open or close.
1144
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
R110
February 2014
Inputs
The inputs which are physically wired to the system and brought to this block through a
Channel blocks are termed as Hard input. The Soft inputs normally operate from displays
or other function blocks.
Outputs
The output parameters are: CMPOPEN, OP, PV, NUMTRANS[0,1], NUMSIOVRD
Error handling
UCPOPEN/UCPCLOSE can be initiated only when access lock is not 'Other FB' and
UCP release is available.
For the drive control blocks (except Valve and damper), if both feedback status is
ON or OFF, a fault status is flagged and output generation is not processed.
If the feedback status is bad, an alarm is raised and there is no output generation.
States
A "state" represents the current condition of a device. In the case of a Solenoid valve,
OPEN and CLOSE represent the two states, where failsafe can be configured. Each input
combination is assigned to a specific state and this mapping is fixed. The PV parameter
represents the current state of the Solenoid valve.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state, such as OPEN or CLOSE. The OP
parameter represents the commanded state or the device state commanded by an
operator. The block transmits the OP, monitors the PV, and produces alarms based on the
R110
February 2014
1145
state assignment configurations, which represent whether or not the process feedback has
achieved the state commanded in OP.
State parameters
PV
PVAUTO
OP
OPFINAL
The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter for use by an operator.
The Generic State parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are:
1146
Inbet - Represents an in between state and could be designated MOVPV for moving
PV.
R110
February 2014
Safe - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the
internal value is set to the designated SAFEOP.
And, GENSTAT_ENM is
STATETEXT[0]
Bad
Null
STATETEXT[1]
Inbet
Inbet
STATETEXT[2]
Active
Active
STATETEXT[3]
Safe(OPEN/CLOSE)
Safe
STATETEXT[4]
CLOSE
S0
STATETEXT[5]
OPEN
S1
STATETEXT[6]
NOCOMMAND
S2
PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.
R110
February 2014
1147
MODEATTR can be changed from PROG to OPER and vice versa through other
FB through MODEATTRCHGFL.
Local\Remote Switch
ModeAttribute
LOCAL
UCPOpen
AutoOpen
REMOTE
PROG
SeqOpen
REMOTE
PROG
ConsoleOpen
LocalClose
OPER
LOCAL
UCPClose
AutoClose
REMOTE
PROG
SeqClose
REMOTE
PROG
ConsoleClose
OPER
Ignore
Check
Based on Safe OP configuration
If Safe OP = OPEN then UCPOpen and Console Open will ignore switches.
1148
R110
February 2014
Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. You can
then have the state of the digital input stored to the LOCALMAN pin added to the
Solenoid Valve block through a DICHANNEL connection. The control system cannot
have control over the field device if the HAND/OFF/AUTO switch is not in the AUTO
position, the LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP is set to SAFEOP. This ensures that the
last commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. You cannot directly command the OP (GOP) while the
LOCALMAN is ON.
You cannot access LOCALMAN, if the Solenoid Valve block does not have any
inputs/outputs connected. PV is illegal for no inputs and OP is illegal for no outputs, and
therefore LOCALMAN has no meaning for these conditions.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdOpen/CmdClose will follow OPFINAL.
ATTENTION
LOCALMAN can be used for the above purpose, when the Solenoid Valve
Commands are Commanded by Local, controlled directly from MCC and not
through DCS.
Permissive interlocks
PI[0..1]are Permissive Interlocks which are inputs that can be connected to an external
function block to determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the Solenoid Valve block to a specific state.
Permissive Interlocks themselves never cause OP to change.
R110
February 2014
1149
the operator
a user program
Override Interlocks
OI[0..1] are Override Interlocks which, when active, force the commanded output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.
Override Interlocks can be connected to other block outputs or can be directly set by
an operator if MODEATTR = OPERATOR and the block is inactive.
Override Interlock parameters are all default OFF in case of Solenoided, thereby
disabling all the Override Interlocks. They must be set to ON to force OP to go to
any specific state. If the Override Interlock forces OP to go to a momentary state, it
stays in that state as long as the interlock remains ON and then switches back to the
original state when the Override Interlock is reset to OFF.
SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks are determined by the state assigned to configurable SAFEOP:
R110
February 2014
When BYPASS is ON, OP can be changed regardless of the state of the Override
and Permissive Interlocks.
When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.
Alarms
An available set of PV state alarms may be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.
Command Fail alarm - It is generated when the Current Active State (PV) fails to
change from an original value to any other value within a configurable time interval
after the OP parameter is commanded.
You can configure the feedback time (CMDFALALM.TM[0..1]) for each state
through the Alarms tab on Solenoid Valve block configuration form. The value of
OP just commanded determines which CMDFALALM.TM[0..1] is active. The
CMDFALALM.TM[0..1] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..1] parameter to 0 disables the alarm for the associated
state[0..1]. The alarm function is automatically disabled, if there are no inputs or
no outputs. CMDFALALM.TM[0..1] changes from or to 0, require CM InActive
or CEE Idle.
ATTENTION
Bad PV alarm - It is generated whenever the Current Active State (PV) is detected to
be a NULL (or bad) state.
Command Disagree alarm - It is generated when the Commanded Output State (OP)
is changed and the actual input state (PV) does not change accordingly within a
specified feedback time.
R110
February 2014
1151
This alarm condition returns to NORMAL when the input PV state becomes equal
to the OP state.
Uncommanded Change alarm - It is generated if the actual input state (PV) changes
but has not been commanded to change (unless it is a bad PV). This alarm is
configured whenever the Command Disagree alarm is configured.
This alarm condition returns to NORMAL when the input PV state becomes
equal to the commanded OP state.
Off Normal alarm - This alarm is generated whenever PV does not match OPREQ, if
OPREQ is not Null.
Override Interlock alarms - When the alarm is enabled and the active override
interlock causes an OP state change, an alarm is generated.
Safety Override Interlock alarm - When the alarm is enabled and the active safety
interlock causes an OP state change, an alarm is generated.
Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (SafeOP), but OP is not altered.
You can observe OPFINAL to determine what state was actually commanded to the
output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.
1152
R110
February 2014
You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and
CMDDISALM.TM [0..1] is configured.
This is a structure containing the INITREQ status and the DOC.SO current value.
INITMAN - This is a BOOLEAN value which is set TRUE whenever any of the
INITDOWN[i].STATUS are TRUE.
OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value for
Solenoid is NORMALOPT.
R110
February 2014
1153
Otherwise, if any of the Override Interlocks are active and not bypassed, the OP is
set to the highest priority Override Interlock;
If a valid OP value can be constructed from the values of the output connections.
1154
R110
February 2014
Maintenance statistics
The Solenoid Valve block collects a set of Maintenance Statistics which are classified
into three categories which are enabled by their respective enable options such as,
TRKSIOVRD, TRKNUMTRANS.
The maintenance statistics collected include:
The statistics are accumulated after the most recent reset. The operator can reset the
statistics of Solenoid Valve Control block anytime irrespective of redtagging,
Output requests
Whenever an external FB attempts to change the commanded state OP, the Solenoid
Valve block uses the OP request mechanism. The OP request (OPREQ/GOPREQ)
differs from direct access an operator uses to the commanded state OP. The OPREQ is a
string in the same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM,
which is the same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
R110
February 2014
1155
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is NULL. This means the OPREQ continues to attempt stores
even if attributes, such as interlocks, become active and block changes to OP. Thus, once
the attributes blocking change to OP have reset OPREQ stores the commanded state to
OP.
Output command
The block provides a Boolean command capability through an array of Boolean inputs
(AUTO OPEN/CLOSE, UCP OPEN/CLOSE, LOCAL OPEN/CLOSE, SEQ
OPEN/CLOSE).
When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command (AUTO
OPEN/CLOSE, SEQ OPEN/CLOSE).
Similarly, you can command the Solenoid Valve block through LOCAL
OPEN/CLOSE, UCP OPEN/CLOSE provided the following conditions are met:
Similarly, you can command the Solenoid Valve block through Console
OPEN/CLOSE provided the following conditions are met:
If an SCM commands the Solenoid Valve block by sending a Null type of request to
GOP and there are active OPCMDs such as AUTO OPEN/CLOSE, UCP OPEN/CLOSE,
LOCAL OPEN/CLOSE. (this is possible when SCMOPT = NONE, MODEATTR =
Program, and SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM store
1156
R110
February 2014
to GOP is rejected; if any of the OPCMD elements are active (one or more OPCMD
members are ON). An SCM can gain control, only when all OPCMD elements are OFF.
The Solenoid Valve can also be commanded by SCM through SEQ OPEN/CLOSE when
SCM option is FIXED and MODEATTR is PROGRAM.
ATTENTION
SOLENOID parameters
R110
February 2014
1157
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.
1158
R110
February 2014
Description
Name - Block (Tag) name of up to 16 characters long.
1159
Configuration Tab
Description
and 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132
characters long.
Engineering Units (EUDESC) - Lets you specify a text
1160
R110
February 2014
Configuration Tab
Description
PORUNCONNECTED) - Lets you specify whether a
given pulse output is to be enabled (ON) or not (OFF). A
Check equals ON. When enabled, the corresponding
output (POCLOSE, POOPEN) pin is exposed on the
block. The default is no pulse outputs configured. The
selectable outputs depend upon the configured number
of outputs.
Bypass Permit (BYPPERM) - Lets you specify if
R110
February 2014
1161
Configuration Tab
Description
number of safety interlock trips that result in OP
changing state, after the last statistics reset.
No. of all PV transitions (NUMALLTRANS) -
1162
R110
February 2014
Configuration Tab
Description
SAFEOP. The default selection is NONE.
Alarms
1163
Configuration Tab
Description
occurs, and has caused an OP state change.
Override Interlock (OIALM[0..2].FL) - This alarm is
R110
February 2014
Configuration Tab
Description
seconds. A time of 0 disables the alarm. The default
setting is 0. This value must be less than the value set
for CMDDISALM.TM[2]. This can only be configured if
the number of states is 3.
Priority (CMDFALALM.PR): Lets you select the priority
1165
Configuration Tab
Description
severe. The default setting is 0.
NOCOMMAND Override Interlock Alarm - Lets you
configure the following parameters for this alarm.
Option (OIALM[0].OPT): Lets you specify whether the
R110
February 2014
Configuration Tab
Description
Priority (OFFNRMALM.PR): Lets you select the priority
R110
February 2014
1167
Configuration Tab
Description
priority level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.
1168
Identification
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
R110
February 2014
Function
The Valve/Damper block has four inputs, three states, and two outputs.
Provides alarm when Torque switch Open or Torque switch Close are detected.
You can red tag a VALVEDAMPER block. Refer to About Red Tagging section for
more information.
Predecessor and Successor Block
The Valve/Damper Drive Control block accepts inputs from DI channels or from the
PROGRAM. All inputs are two state inputs and can be connected to any block with a
R110
February 2014
1169
digital output. The output of the block can be connected to DO or further connected to
subsequent logic, if necessary.
Configuration examples
Scenario 1:
The following scenario depicts the implementation of a Valve/Damper block in a control
strategy with Auto Open/Close, Remote Switch, Local Open/Close logic and MCC
inputs.
1170
R110
February 2014
R110
February 2014
1171
1172
R110
February 2014
Callout
1
Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC)
provide the feedback if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the Valve/Damper block.
Use the PV parameter connection to carry Remote switch input from the
DI channel block to the Valve/Damper block.
In case of an auto standby configuration, the Valve/Damper block can be
commanded by Auto Open, Auto Close provided the Remote switch is
R110
February 2014
1173
Callout
Description
ON, the local switch is OFF and MODEATTR is in PROGRAM.
Use the PV parameter connection to carry Local switch input from the DI
channel block to the Valve/Damper block.
In case of a local mode configuration, the Valve/Damper block can be
commanded by Local Open, Local Close provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
Scenario 2:
The following scenario depicts the implementation of a Valve/Damper block in a control
strategy with safety, override and permissive inputs and MCC inputs.
1174
R110
February 2014
R110
February 2014
1175
1176
R110
February 2014
Callout
1
Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC)
provide the feedback if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the Valve/Damper block.
R110
February 2014
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
Experion LX Control Builder Components Theory
Honeywell
1177
Callout
Description
OFF.
Scenario 3:
The following scenario depicts the implementation of a Valve/Damper block in a control
strategy with UCP Open/Close logic and MCC inputs.
1178
R110
February 2014
R110
February 2014
1179
Callout
1
Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC)
provide the feedback if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the Valve/Damper block.
1180
R110
February 2014
Callout
Description
In case of a UCP configuration, the Valve/Damper block can be
commanded by UCP Open, UCP Close provided the Remote switch is
ON, Local switch is OFF, UCP REL is ON and MODEATTR is in
PROGRAM.
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.
Inputs
The inputs which are physically wired to the system and brought to the block through
channel blocks are termed as hard inputs. The soft inputs normally operate from displays
or other function blocks.
Outputs
The output parameters are: POOPEN, POCLOSE, CMDOPEN, CMDCLOSE, OP, PV,
NUMTRANS[0,1,2], NUMALLTRANS, NUMSIOVRD, OPENFEEDBKTIME,
CLOSEFEEDBKTIME
Limit Switches
The following are some of the behavior of Limit switches:
The LTO switch feedback is used to withdraw the OPEN command irrespective of
TSEnabled.
R110
February 2014
1181
If TSForProt is OFF and TSO acted, the OPEN command is not withdrawn.
When TSForProt is ON and TSC is also ON, you cannot issue CLOSE command.
If TSEnabled is OFF, the LTC feedback is used to withdraw the CLOSE command.
If TSEnabled is ON, the TSC feedback in place of the LTC feedback is used to
withdraw the CLOSE command.
A CLOSE command cannot also be issued if TSC and TSEnabled are ON.
If TSEnabled or TSForProt are ON and TSC is ON, you cannot issue a CLOSE
command.
If OI(1) transitions from OFF to ON when TSO or LTO is ON, the store will be
rejected as per LTO OR (TSO AND TSCPROT).
Error handling
1182
R110
February 2014
UCPOPEN/UCPCLOSE can be initiated only when access lock is not Other FB and
UCP release is available.
For Valve/Damper, both OFF status are valid state (In-between). Both ON is flagged
and output is not generated.
States
A "state" represents the current condition of a device. In a Valve/Damper block, OPEN,
CLOSE, and INBETWEEN represent the three states, where the failsafe state is
predefined as NOCOMMAND. Each input combination is assigned to a specific state
and this mapping is fixed. The PV parameter represents the current state of the
Valve/Damper.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state, such as OPEN, CLOSE, or
NOCOMMAND. The OP parameter represents the commanded state or the device state
commanded by an operator. The block transmits OP, monitors PV, and produces alarms
based on the state assignment configurations, which represent whether or not the process
feedback has achieved the state commanded in OP.
State parameters
PV
PVAUTO
OP
OPFINAL
R110
February 2014
1183
The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter for an operator's use.
The generic state parameters are consistent data types, which can be compared with each
other through the enumeration GENSTAT_ENM. The generic state enumerations are:
Inbet - Represents an in between state and could be designated MOVPV for moving
PV.
1184
And, GENSTAT_ENM is
STATETEXT[0]
Bad
Null
STATETEXT[1]
Inbet
Inbet
STATETEXT[2]
Active
Active
STATETEXT[3]
Safe(NOCOMMAND)
Safe
STATETEXT[4]
NOCOMMAND
S0
STATETEXT[5]
OPEN
S1
STATETEXT[6]
CLOSE
S2
R110
February 2014
PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.
MODEATTR can be changed from PROG to OPER and vice versa through other
FB via MODEATTRCHGFL.
Local\Remote Switch
ModeAttribute
LocalOpen
LOCAL
UCPOpen
REMOTE
AutoOpen
REMOTE
PROG
SeqOpen
REMOTE
PROG
ConsoleOpen
REMOTE
OPER
LocalClose
LOCAL
R110
February 2014
1185
ValveDamper
Local\Remote Switch
ModeAttribute
UCPClose
REMOTE
AutoClose
REMOTE
PROG
SeqClose
REMOTE
PROG
ConsoleClose
REMOTE
OPER
Ignore
Check
Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. The AUTO position of the switch can be hard wired to a digital input. The state
of the digital input can then be configured to store to the LOCALMAN pin added to the
Valve/Damper block through a DICHANNEL connection. The control system may not
have control over the field device when the HAND/OFF/AUTO switch is not in the
AUTO position.
The LOCALMAN parameter provides feedback about the switch position. When the
LOCALMAN parameter is ON, the OP state tracks the PV state, if it is in a settable state.
If PV is in a non-settable state, OP is set to SAFEOP. This ensures that the last
commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. The OP (GOP) cannot be commanded directly when
LOCALMAN is ON.
You cannot access LOCALMAN, if the Valve/Damper block does not have any inputs or
outputs connected. PV is illegal for no inputs and OP is illegal for no outputs, and
therefore LOCALMAN is of no consequence in such a condition.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdOpen/CmdClose will follow OPFINAL.
ATTENTION
LOCALMAN can be used for the above purpose, when the Valve/Damper is
Commanded by Local, Controlled directly from MCC and not through DCS.
1186
R110
February 2014
Permissive interlocks
PI[0..2]are Permissive Interlocks which are inputs that can be connected to an external
function block to determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the Valve/Damper block to a specific state.
Permissive Interlocks themselves never cause OP to change.
To change the state of OP, the corresponding Permissive Interlock parameter should
be set to ON.
When MODEATTR is set to OPER and the block is inactive, the SI can be
connected to other blocks or can be directly set by an operator.
Override Interlocks
OI[0..2] are Override Interlocks which, when active, force the commanded output (OP)
to its respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.
Override Interlocks can be connected to other block outputs or can be directly set by
an operator if MODEATTR = OPERATOR and the block is inactive.
Override Interlock parameters, by default are OFF, thereby disabling the Override
Interlocks. They must be set to ON to force OP to a specific state. If the Override
Interlock forces OP to go to a momentary state, it stays in that state as long as the
interlock remains ON and then switches back to the original state when the Override
Interlock is reset to OFF.
R110
February 2014
1187
SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks are determined by the state assigned to a predefined SAFEOP
that is NOCOMMAND and the priority is SI, OI[0], OI[1], OI[2].
When BYPASS is ON, OP can be changed regardless of the state of the Override
and Permissive Interlocks.
When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.
Alarms
An available set of PV state alarms can be configured to represent disagreements
between the commanded output state (OP) and the current active state (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.
1188
Command Disagree alarm - It is generated when the commanded output state (OP)
changes and the actual input state (PV) does not change accordingly within a
specified feedback time.
You can configure the feedback time (CMDDISALM.TM[1..2) for each state
from the Alarms tab on the Valve/Damper block configuration form. The value of
OP just commanded determines which CMDDISALM.TM[1..2] is active. The
CMDDISALM.TM[1..2] setting range is 0 to 1000 seconds. Setting a given
CMDDISALM.TM[1..2] parameter to 0 disables the alarm for the associated
state[1..2]. The alarm function is automatically disabled in the absence of
inputs/outputs. CMDDISALM.TM[1..2] changes from or to 0, provided the CM
is InActive or CEE Idle.
This alarm condition returns to NORMAL when the input PV state becomes equal
to the OP state.
R110
February 2014
Command Fail alarm - generated when the current active state (PV) fails to change
from an original value to any other value within a configurable time interval after
the OP parameter is commanded.
Bad PV alarm - This alarm is generated whenever the current active state (PV) is
detected as NULL (or bad) state.
Uncommanded Change alarm - This alarm is generated if the actual input state (PV)
changes but has not been commanded to change (unless it is a bad PV). This alarm is
configured whenever the Command Disagree alarm is configured.
This alarm condition returns to NORMAL when the input PV state becomes equal
to the commanded OP state.
Off Normal alarm - This alarm is generated whenever PV does not match OPREQ, if
OPREQ is not Null.
Override Interlock alarms - When the alarm is enabled and the active override
interlock causes an OP state change, an alarm is generated.
Safety Override Interlock alarm - When the alarm is enabled and the active safety
interlock causes an OP state change, an alarm is generated.
1189
Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (NOCOMMAND), but OP is not
altered. You can observe OPFINAL to determine what state was actually commanded to
the output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.
This is a structure containing the INITREQ status and the DOC.SO current value.
INITMAN - This is a BOOLEAN value which is set TRUE whenever any of the
INITDOWN[i].STATUS is TRUE.
OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value for
Valve/Damper is NORMALOPT.
1190
R110
February 2014
Otherwise, if any of the Override Interlocks are active and not bypassed, the OP is
set to the highest priority Override Interlock;
If a valid OP value can be constructed from the values of the output connections.
1191
Maintenance statistics
The Valve/Damper block collects a set of maintenance statistics classified into three
categories which are enabled by their respective enable options such as, TRKSIOVRD,
TRKNUMTRANS, TRKOPENFEEDBKTIME, TRKCLOSEFEEDBKTIME.
The maintenance statistics collected include:
The statistics are accumulated after the most recent reset. The operator can reset the
statistics of Valve/Damper block anytime irrespective of Redtagging, unlike the
DEVCTL block.
1192
R110
February 2014
Output requests
Whenever an external FB attempts to change the commanded state OP, the
Valve/Damper block uses the OP request mechanism. The OP request
(OPREQ/GOPREQ) differs from direct access an operator uses to the commanded state
OP. The OPREQ is a string in the same manner as OP, and GOPREQ is the enumeration
GENSTAT_ENM, which is the same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ continues to attempt stores even
if attributes, such as interlocks, become active and block changes to OP. Thus, once the
attributes blocking change to OP have reset OPREQ stores the commanded state to OP.
Output command
The block provides a Boolean command capability through an array of Boolean inputs
(AUTO OPEN/CLOSE, AUTONOCMD, UCP OPEN/CLOSE, LOCAL OPEN/CLOSE,
SEQ OPEN/CLOSE, SEQNOCMD).
When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command (AUTO
OPEN/CLOSE, AUTONOCMD) provided REMOTE SWITCH is ON.
R110
February 2014
1193
If an SCM commands the Valve/Damper block by sending a Null type of request to GOP
and there are active OPCMDs such as AUTO OPEN/CLOSE, UCP OPEN/CLOSE,
LOCAL OPEN/CLOSE. (this is possible when SCMOPT = NONE, MODEATTR =
PROGRAM, and SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM
store to GOP is rejected; if any of the OPCMD elements are active (one or more
OPCMD members are ON). An SCM can gain control, only when all OPCMD elements
are OFF.
The Valve/Damper can also be commanded by SCM through SEQ OPEN/CLOSE when
SCM option is FIXED and MODEATTR is PROGRAM.
ATTENTION
1194
R110
February 2014
VALVEDAMPERparameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.
R110
February 2014
1195
Function
Block
Description
Support alarm
annunicator indication
ALMWINDOW
(Alarm Window Alarm
Annunciator)
Block
Support alarm
annunicator indication
ANNPANEL
(Annunciator
Panel) Block
DIGACQ (Digital
Acquisition) Block
EXECTIMER
Block
FIRSTOUT (First
Out Detection)
Block
FLAG Block
R110
February 2014
1197
1198
FLAGARRAY
Block
MESSAGE Block
NUMERIC Block
TIMER Block
TYPECONVERT
Block
R110
February 2014
Each Alarm Window block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Number Of Inputs (NUMIN) - Lets you specify the
1199
Configuration Tab
Description
default is 4.
Alarm Sequence - Allows the user to select among the
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
The Alarm Window function block accepts Boolean inputs (1 to 16) and performs the
configured sequence. It provides one alarm output (ALMOUT) and group status output
(FLSHSTAT).
Predecessor and Successor Block
The Alarm windows blocks take inputs from DI channels or DIGACQ or from the
program (ALMIN[1..16]inputs). The Alarm windows output FLSHSTAT is connected to
FLSHSTAT[*] input of the annunciator panel block.
1200
R110
February 2014
Inputs
The ALMIN[] input pins of the block receive Boolean values from the alarm inputs.
The NUMIN input parameter decides the number of alarm inputs that can be connected
to the block.
Outputs
The FLSHSTAT output is given to the ANNWINDOW block. This pin receives the
RESET and ACK status of the ANNPANEL block through a hidden connection.
Alarms
Ringback sequence
The following is an illustration of the Alarm window state machine:
R110
February 2014
1201
Following is the state transition table of the Alarm window state machine
Lamp State
LampOff
Events
NewAlarm
AckAlarm
RtnAlarm
RstAlarm
LampState =
FastFlash
No Action
DoNothing
No Action
No Action
LampState =
LampSteady
LampState =
SlowFlash
No Action
LampState =
FastFlash
No Action
LampState =
SlowFlash
No Action
FastFlash
LampSteady
1202
R110
February 2014
Lamp State
SlowFlash
Events
LampState =
FastFlash
No Action
LampState =
LampSteady
if(All alrms
have rtn) then
{LampState =
LampOff} else
{LampState =
LampSteady}
R110
February 2014
1203
Following is the state transition table of the Alarm window state machine Manual Reset:
LampState
LampOff
Events
NewAlarm
AckAlarm
RtnAlarm
RstAlarm
LampState =
FastFlash
NoAction
NoAction
NoAction
NoAction
LampState =
LampSteady
NoAction
NoAction
LampState =
FastFlash
NoAction
NoAction
If(All Alms
RTN){LampSt
ate =
LampOff}
FastFlash
LampSteady
1204
R110
February 2014
Following is the state transition table of the Alarm window state machine Automatic
Reset:
LampState
LampOff
FastFlash
R110
February 2014
Events
NewAlarm
AckAlarm
RtnAlarm
RstAlarm
LampState =
FastFlash
No Action
No Action
No Action
No Action
If(All Alarms
RTN)
{LampState =
LampOff}
No Action
No Action
Else
Experion LX Control Builder Components Theory
Honeywell
1205
{LampState =
LampSteady}
LampSteady
LampState =
FastFlash
No Action
LampState =
LampOff
No Action
Error handling
The block displays an error when an invalid index or access lock is received during
loading of the block.
If the user tries to store a value more than 16 for the NUMIN parameter, an error
"Invalid Value" is displayed.
Access level check is done at the time of loading the block as well as during a
parameter write.
An error is generated if we try to write the block description after the alarm window
is connected to an alarm panel.
ALMWINDOW parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Alarm Annunciator-Alarm Window block.
1206
R110
February 2014
R110
February 2014
1207
Each Annunciator Panel block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
1208
Description
R110
February 2014
Configuration Tab
Description
Name - Block (Tag) name of up to 16 characters long.
Main
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
R110
February 2014
1209
Configuration Tab
Template Defining
Description
Lets you view and define parameters for associated
templates.
Function
This function block accepts FLSHSTAT from the Alarm Window function block and
provides Lamp output for the annunciation windows with synchronized lamp flash
sequence and the hooter annunciation. This block accepts the TEST input, which forces
the entire Lamp out to glow steadily. This block establishes hidden connection with the
Alarm window function block to pass the RESET and ACK parameter values.
Predecessor and Successor Block
The annunciator Panel block outputs LAMP OUT 1 to LAMP OUT 16 and the Outhorn1
and Outhorn 2 is connected to digital output channels. The input LAMP TEST is from
digital input channel blocks or DIGACQ block.
Configuration Example
ATTENTION
Ensure that the Control Module containing the ANNPANEL block is
configured for an Execution Period of 100 milliseconds or faster. The flashing
rate of the annunciator panel only works as expected when the block is
placed in a 100 millisecond or faster CM.
The ALMWINDOW blocks are connected to the ANNPANEL block as shown in the
following block diagram.
The ALMWINDOW blocks receive alarm inputs from other logics. The ALMWINDOW
block's FLSHSTAT parameter is connected to the ANNPANEL block's FLSHSTAT
inputs. The ACK and RESET signals are propagated by the ANNPANEL to all the
ALMWINDOW blocks through hidden connections.
The LAMPOUT and OUTHORN parameters of the ANNPANEL are connected to DO
channels.
1210
R110
February 2014
Inputs
The FLSHSTAT[] takes its input from the AlmWindow block's FLSHSTAT[] outputs.
Additionally, a hidden connection is established through this pin to transfer the RESET
and ACK status to the ALMWINDOW block.
The ACK input receives the operator alarm acknowledgement. This pin usually receives
the input from a digital input channel block.
The RESET input receives the operator alarm reset. This pin usually receives the input
from a digital input channel block.
The LAMPTEST input receives the operator lam test signal. This pin usually receives the
input from a digital input channel block.
ATTENTION
If there are more than 32 inputs, two Alarm panel blocks can be combined to
achieve the same functionality.
Outputs
The LAMPOUT output is the output to the DO channel.
The OUTHORN1 and OUTHORN2 outputs are the hooter outputs which are connected
to DO channels.
R110
February 2014
1211
Error Handling
The block displays an error when an invalid index or access lock is received during
loading of the block.
If the user tries to store a value more than 32 for the NUMANNUNWIN parameter,
than an error "Invalid Value" appears.
Access level check is done at the time of loading the block as well as during a
parameter write.
ANNPANEL parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Alarm Annunciator - Alarm Panel block.
The Digital Acquisition block supports the following user configurable attributes. The
following table lists the name of the "Tab" in the parameter configuration form with a
brief description of the attributes associated with that tab.
1212
R110
February 2014
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
characters long.
Engineering Units (EUDESC) - Lets you specify a text
in PV.
PV Source Option (PVSRCOPT) - Lets you select
1213
Configuration Tab
Description
LOW.
Bad PV Alarm Severity (BADPVALM.SV) - Lets you
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
Function
Supports alarm generation when the current process variable state differs from the
configured NORMAL state.
Block configuration
1214
R110
February 2014
Predecessor block
If PVSOURCE is set to SUB, any block with a digital output can be a predecessor.
R110
February 2014
1215
Configuration Scenario
PVFL can be exposed as an input pin. This enables the Digital acquisition block to use a
PVFL parameter connection to carry inputs from another FB when PVSOURCE is SUB
as in the following illustration:
Inputs
IN - Input parameter
Outputs
1216
Depending on the value of PVSRCOPT and PVSOURCE, the output is set to one of
the following input values:
R110
February 2014
PVSRCOPT
PVSOURCE
PV
Only Auto
AUTO
Value of PVAUTOFL
ALL
AUTO
Value of PVAUTOFL
ALL
MAN
Value of PVFL
ALL
SUB
Value of PVFL
The PVFL and PV parameters always match. When the PVSOURCE parameter is
changed to MAN, the value of PVFL/PV does not change and retains the last value.
The value can be changed as needed.
If the input to the DigAcq block goes bad and PVSOURCE is AUTO, a BAD PV
alarm is generated in the Dig Acq block and the same status is communicated to
subsequent blocks since PVSTS is an enumeration.
Error handling
The Digital Acquisition block reports errors when a parameter is accessed with a
privilege lower than the expected access level.
Manual - kManValSts.
SCM - kUncertainValSts.
Auto - kNormalValSts.
If the CM is inactive or CEE is IDLE, the block holds the last legal value.
If there is more than one block in a CM, the number of blocks per display depends
on the configuration on the first block. However, you can have a maximum of six
blocks per display. If more than six blocks per display is configured, the details of
the first six blocks are displayed along with an error message.
DIGACQ parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Digital Acquisition block.
R110
February 2014
1217
The EXECTIMER block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main
Description
Execution Order in CM (ORDERINCM): Specifies the
R110
February 2014
Configuration Tab
Description
statistical computations unless the following criterion is met.
DTIME <= REJFACTOR * DTIMEMIN
If the application engineer chooses to use REJFACTOR,
the value of MAXMINRATIO can be used to judge an
appropriate value.
Offset (DTAOFFSET): Subtractive offset applied to
R110
February 2014
1219
Configuration Tab
Description
EXECTIMER instance used to establish the beginning of
the time interval. Displays non-NaN on the EXECTIMER
instance used to establish the end of the time interval if the
following holds true:
R110
February 2014
Configuration Tab
Description
DTIMEMIN.
In cases where an application engineer wants to set
parameter REJFACTOR to a value other than NaN,
MAXMINRATIO can be used to judge what would be an
appropriate value. If MAXMINRATIO is large, it typically
means the measurement is capturing interrupt execution or
higher priority task execution unrelated to the block or
blocks under test.
Standard Deviation (DTIMESTD): DTIMESTD is the square
Identification
Dependencies
R110
February 2014
1221
Configuration Tab
Description
Template Defining
Function
EXECTIMER is used by creating two instances. One instance marks the beginning of a
time interval, that is, the BEGTIME instance. The other instance marks the end of a
time interval, that is, the ENDTIME instance. The output parameter
BEGTIME.TIMEOUT is then connected to the input parameter ENDTIME.TIMEIN.
With this configuration, any module, block, group of modules, or group of blocks which
execute between the two EXECTIMER instances is included in the time measurement.
Block ordering must be deliberately controlled when using EXECTIMER. When
measuring execution time of basic blocks, the BEGTIME instance and ENDTIME
instance are placed within the same CM. The ORDERINCM configuration of these two
instances is set up to include or exclude from the measurement other blocks within the
same CM.
When measuring execution time of modules, the BEGTIME instance and ENDTIME
instance are placed within different CMs, that is, CM_BEGTIME and
CM_ENDTIME. The ORDERINCEE configuration of these two CM instances is
setup to include or exclude from the measurement other CMs within the same CEE.
EXECTIMER is supported on the following platforms.
C300
SIMC300
Input
The input parameter is ENDTIME.TIMEIN. There is no input for the BEGTIME
instance that serves to mark the beginning of a time interval.
Output
The output parameter is BEGTIME.TIMEOUT. There is no output for the ENDTIME
instance that serves to mark the end of a time interval.
EXECTIMER Parameters
1222
R110
February 2014
REFERENCE INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the EXECTIMER function block.
EXECTIMER Example
EXECTIMER block can be used in any module, block, group of modules, or group of
blocks.
Block ordering must be deliberately controlled when using EXECTIMER. When
measuring execution time of basic blocks, the BEGTIME instance and ENDTIME
instance are placed within the same CM. The ORDERINCM configuration of these two
instances is set up to include or exclude from the measurement, other blocks within the
same CM as displayed in the following figure.
In case of a group of modules, the BEGTIME instance and ENDTIME instance are
placed in the CMs as displayed in the following figure. The ODERINCEE value for each
R110
February 2014
1223
CM is selected to cause execution in the order listed. Measurements can include any
number of CMs or SCMs.
1224
R110
February 2014
Limitations
As with any simple time measurement, the readings given by EXECTIMER can be
skewed by intervening interrupts or higher priority tasks. This effect is often not
significant. If it is significant, reduce the effect by using the REJFACTOR parameter.
When used in a C300, EXECTIMER works well but has a limitation similar to that of
other measurements techniques, such as CPUCYCLEAVG[40]. EXECTIMER only
covers the explicit block execution time. Other CPU effects which may scale with block
properties, such as CPU consumed by redundancy communications, is not included in
the measurement. Load effects which accumulate outside the execution interval for a
block can only be measured by using large configurations and differencing techniques
based on CPUFREEAVG.
Exactly two instances of EXECTIMER are required for each timing measurement to be
made. That is, it is not possible to place an EXECTIMER instance in the middle of a
longer interval of interest and have it serve as both; the ENDTIME instance for an
EXECTIMER which precedes it; and the BEGTIME instance for an EXECTIMER
instance which follows it.
The timing measurements that EXECTIMER can perform are confined to a single CEE.
While it can be used to measure the execution timing of blocks that might be involved in
peer communication, OPC communication, or IO communication, EXECTIMER cannot
be used for any of the following purposes.
R110
February 2014
1225
The First Out Detection block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main
Description
Name - Block (Tag) name of up to 16 characters long.
1226
R110
February 2014
Configuration Tab
Description
execution order of the block in the CM relative to other
blocks contained in this CM. Enter a number between 0
and 65535. The default value is 10.
Description (DESC) - Block descriptor of up to 132
characters long.
Engineering Units (EUDESC) - Lets you specify a text
Alarm
Identification
Dependencies
Block Pins
Configuration
Parameters
Monitoring Parameters
Block Preferences
Template Defining
R110
February 2014
1227
Function
Provides the First Out function. A First Out logic enables the identification of the
digital input signal that was first to transition from NORMAL state, among a set of
digital inputs connected to the block. The set of digital inputs connected to the block
is scanned in ascending order and once a transition (from NORMAL state) is
detected, First Out is flagged and further scanning is stopped for the rest of the
cycles until a Reset.
Provides an output which is an OR of all NORMAL state inputs and it goes high if
any input goes to ABNORMAL state. It resets when all inputs come back to
NORMAL state.
Provides an alarm once a First Out is detected. If a single input transitions from
NORMAL state, the input that caused the alarm is identified and its description
(INDESC[*]) is used for alarm. In case of multiple input transitions in a single
cycle, the alarm description is as defined in the MULTIINPTDESC (Multiple Input
description field).
Enables you to reset the First Out flag using a raising edge pulse input only when all
inputs come back to NORMAL state.
Block Pins
The input pins are located at the top or the left, and output pins at the bottom or the right.
For ease of use, the input pins are exposed at the left and output pins are exposed at the
right of the block. Any parameter can be exposed as a block pin, input, output, or both,
as appropriate.
By default, eight inputs are exposed. However, more inputs can be exposed during
configuration. To perform this, the following I/O pin connections are required:
RESET Input
FIRSTOUTACTED Output
Therefore, these parameters are exposed through block pins in the default state. The
following parameters are exposed in the FB panel in monitoring view.
1228
NUMDINPUTS
INPUTACTED[1] - INPUTACTED[8]
FIRSTOUTINPUT
Experion LX Control Builder Components Theory
Honeywell
R110
February 2014
NUMDINPUTS
FIRSTOUT FB uses NUMDINPTS parameter which obtains the value from the Main
configuration form. The range of NUMDINPTS is 1-24. If user configured
NUMDINPTS data in the Main configuration form is invalid, an error message is
displayed during configuration and download.
Inputs
The First Out block accepts a set of related digital input and detects the input that first
transitioned from the configured NORMAL state. Usually, this block is associated with
critical equipment. Usually, equipment's or a drive's protection interlocks and stop
command are connected as input to the First-out block. When an input signal transitions
from NORMAL state, the output flag of the First Out logic is raised. In addition, the
input responsible for the First Out flag is recorded. The recording is locked until a reset
is applied to the block.
Predecessor and Successor Blocks
The First Out block is used for two state devices in a main Drive CM. The First Out
block can be connected to DEVCTL (two/three states) or any other set of DIs. The
output can be used for debugging or can be sent to the annunciation panel. Its inputs are
a set of digital inputs (equipment's or a drives protection interlocks and stop command)
connected to the equipment or device.
R110
February 2014
1229
OI[*], PI[*], OPCMD[*], and SI are the recommended signals for a DEVCTL block.
The output signals are used to indicate the conditions responsible for a drive to trip,
enabling the operator to analyze the exact reason for the trip to take corrective action.
Execution
The number of inputs can be restricted during configuration. By default, eight inputs
are allowed.
After download and activation, the block initializes current inputs in the current
cycle and history inputs in the last cycle to OFF, and reads all inputs in an ascending
order during one life cycle. If a First Out input is not detected, the block processes
the inputs by using the following procedure.
1230
If there is a change from OFF to ON (the history input in the last cycle is OFF and
current input in this cycle is ON), the block raises the First Out flag and identifies
the input that caused the output flag of the First Out Logic to be raised. The block
also provides an alarm. The status is held until a reset command is issued to the
block to reset all inputs and output flag and alarm. The input scan is limited to the
number of configured inputs.
R110
February 2014
If any of the inputs transition from the last cycle, the INPUTACTED is turned
ON.
The history inputs of the last cycle (equal to the values of current inputs in this
cycle) are updated.
Reset Value
INPUTACTED[*]
OFF
FIRSTOUTINPUT
None
FIRSTUPACTED
OFF
Inputs
R110
February 2014
1231
The block supports 24 inputs, of which eight inputs are exposed by default. The
remaining inputs (924) can be exposed during configuration using the configurable
parameter NUMDINPUTS.
The NORMAL[1..24] parameter indicates the NORMAL state (ON\OFF) of the
connected inputs. If First Out logic is active, and if any of the inputs transition from the
configured state to another state, the First Out logic detects and records this transition
and raises the corresponding INPUTACTED[*] flag and FIRSTUPACTED flag. The
recorded detail is RESET upon a raising edge trigger at RESET pin.
The FIRSTOUTINPUT captures the index of the first input pin that transitioned, causing
the First Out action. In the case of multiple inputs transitioning, FISTOUTINPUT reports
as "multiple".
Outputs
FIRSTOUTACTED - This flag is set when there is an input transition from its
configured NORMAL state.
OREDOUT - It is an OR of all NORMAL state inputs and it goes high if any input
goes to ABNORMAL state. It resets when all inputs come back to NORMAL state.
Error handling
1232
This block checks and reports for invalid input indexes while loading or accessing
parameters.
The SR parameter cannot be edited on the monitoring side. A string input to the SR
parameter results in an error message being reported during configuration and the
input string is rejected.
The block limits the range of NUMDINPUTS to 0 to 24 on the project side. If the
input value for NUMDINPUTS is greater than 24 or less than 0, an error is reported
during configuration and the input value is rejected.
R110
February 2014
Function
Used to define two separate states (for example, Running/Stopped, Off/On) to indicate
status of a particular input.
Current state of flag can be changed/read using PVFL (Boolean) or using PV (either
STATETEXT[0] or STATETEXT[1]).
R110
February 2014
configurable access lock which determines who can write a value to the block
(such as operator, engineer, or other function block).
Experion LX Control Builder Components Theory
Honeywell
1233
Input/Output
The block has one output flag (PVFL). But, all block pin parameters are available to be
exposed and connected to using Control Builder graphical connections.
FLAG parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the FLAG function block.
Function
Used to define two separate states (Off/On) to indicate status of a particular input.
1234
Current state of flags can be changed/read using flag value (PVFL[n]) (Boolean).
Block also supports configurable access lock which determines who can write a
value to the block (such as an operator, engineer, or other function block).
R110
February 2014
Input/Output
The block has up to 1000 output flags(PVFL[n]). But, all block pin parameters are
available to be exposed and connected to using Control Builder graphical connections.
FLAGARRAY parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the FLAGARRAY function block.
Information
Confirmable
Function
When a client triggers a given send flag (SENDFL[n]) input, the corresponding message
(MESSAGE[n]) is sent to the Message and the Event Summary displays in the Station
application.
For information only type (INFO) messages, the client trigger sets the corresponding
SENDFL[n] to True. Since the SENDFL[n] is a pulse trigger, it is automatically set to
R110
February 2014
1235
False during the next execution cycle. This means the MESSAGE block is ready to send
the same message again in the next cycle.
For confirmation type (CONFIRM) messages, the client trigger pulses the corresponding
SENDFL[n] to send the MESSAGE[n] to the Server. The client of the MESSAGE block
checks for the confirmed parameter (CONFIRMED[n]) to be set to True. The
CONFIRMED[n] parameter indicates whether the MESSAGE block has received a
confirmation.
A message can be confirmed only by acknowledging it twice through the Message
Summary display in Station. This action sets the CONFIRMED[n] parameter true (ON).
If the CONFIRM[n] parameter is set through the Monitoring mode, an operator must still
acknowledge the message through the Message Summary display to remove it from the
display.
The CONFIRM[n] parameter can be configured as a block input pin and/or a monitoring
parameter that appears on the face of the block in the Monitoring mode. That is, a client
block or an operator, depending upon application requirements, can trigger it.
The MESSAGE[n] and MSGTYPE[n] parameters can also be configured as block input
pins and/or monitoring parameters. However, the MESSAGE[n], MEANINGPRI[n], and
MEANINGSEC[n] parameters cannot be changed online in the monitoring mode. It is
possible to change the MSGTYPE[n] and MINLVLSECSIG[n] parameters online in the
Monitoring mode should the application requirements change with an access level of
Engineer or greater.
Input/Output
The block has up to 16 inputs (SENDFL[0..15]) and 16 outputs (CONFIRMED[0..15]),
depending on the message types configured.
1236
R110
February 2014
MESSAGE parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the MESSAGE function block.
Function
Used to store up to 8 bytes of a floating point value within defined upper and lower
limits for use in a control strategy.
Also supports a configurable access lock which determines who can write a value to
the block (such as operator, engineer, other function block).
Input/Output
The block has one output (PV). But, all block pin parameters are available to be exposed
and connected using Control Builder graphical connections.
NUMERIC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
R110
February 2014
1237
1238
R110
February 2014
Function
The NUMERICARRAY block outputs (PV[n]) can be used as source parameters to
provide predefined analog constants to other function blocks. A bad numeric output
parameter typically has the value NaN (Not-a-Number).
The block supports these user configurable attributes.
A configurable Access Lock (ACCLOCK) which determines who can write a value
to the block (such as operator, engineer, or other function block).
A configurable PV Format (PVFORMAT) which lets you select the decimal format
to be used to display the PV[n] values. The selections are D0 for no decimal place (XXXXXX.), D1 for one decimal place (-XXXXX.X), D2 for two decimal places (XXXX.XX), and D3 for three decimal places (-XXX.XXX). The default selection is
D1 for one decimal place.
Input/Output
The block has up to 200 outputs (PV[n]), depending on the number of numeric values
(NNUMERIC) configured. But, all block pin parameters are available to be exposed and
connected to using Control Builder graphical connections.
NUMERICARRAY parameters
R110
February 2014
1239
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the NUMERICARRAY function block.
Function
The function block fetches the input when it is scheduled to run and stores the output in
the same execution cycle after the type conversion. If data type conversion is not
necessary, then none will be done.
Execution Status
The status of input fetching is reflected in the following parameter:
The EXECSTS provide information on how successful the block is in fetching the input.
EXECSTS can have the following values:
1240
OK Successful, that is when fetching of inputs as well as the conversion was done
without any error or clamping.
R110
February 2014
the block was in type conversion. After fetching good data, if the block had to clamp
the input during type conversion, EXECSTS will be CLAMPWARNING.
BADINPUT - This happens when the connection to input block is lost or it is simply
bad data.
INBLKMISSING - This happens when the block detects that there is no input
connection made to any of the inputs of the PUSH block
Store Status
The status of output store is reflected in the following parameter:
The STORESTS provide information on how successful the block is in storing the input.
STORESTS can have the following values:
STOREFAIL - If the output destination block rejects the store, the push block
displays the STOREFAIL status. The reason for failure may be very block specific.
When the store fails, the PUSH block retries the store immediately in the next
execution cycle. If this store also fails, then the store is not tried for two cycles. This
continues until the time goes to 6 secs. After that the store is not made until 6
seconds are over. Thus there is exponential increase in time between any two failed
stores. This is required to save precious peer-to-peer communication resources.
DATATYPERR - This is used if the output store could not be made because of
some error in CL/CB where connection of parameters between different data types is
allowed. This is also the store status if there is no output connection configured on
the PUSH block.
PUSH parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PUSH function block.
R110
February 2014
1241
Function
The TEXTARRAY block outputs (STR[n]) can be used to provide predefined text
strings to other function blocks.
The block supports these user configurable attributes.
A configurable Access Lock (ACCLOCK) which lets you define who can write a
value to the block (such as operator, engineer, or other function block).
A configurable Number of String Values (NSTRING) which lets you specify the
desired number of string values (up to 120) to be supported.
A configurable Character Length of String Values which lets you specify the
number of characters (8, 16, 32, or 64) allowed in the strings.
The TEXTARRAY block supports a maximum size of 960 two-byte characters. The
following table shows the maximum data combinations that you can configure through
NSTRING and STRLEN values. Illegal combinations of NSTRING and STRLEN
values, those requiring more than 960 two-byte characters of data, will be rejected.
1242
NSTRING Value
STRLEN Value
STR[n] Range
15
64
[1. .15]
30
32
[1. .30]
60
16
[1. .60]
R110
February 2014
120
[1. .120]
Input/Output
The block has up 120 output strings (STR[n]), depending on the number of string values
(NSTRING) configured. But, all block pin parameters are available to be exposed and
connected to using Control Builder graphical connections.
TEXTARRAY parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TEXTARRAY function block.
Function
Used to keep track of elapsed time during a process and provides indication when
elapsed time reaches predefined limit. The TIMEBASE can be configured to represent
seconds, minutes, or cycles (number of execution cycles).
R110
February 2014
1243
Input/Output
The block has one Status Output (SO). But, all parameters are available to be exposed
and connected to using Control Builder graphical connections.
Commands
Commands are sent to the timer in one of two ways:
You can give a Reset command any time, even if the TIMER is not running, and it will
always be executed. However, the Stop command is only valid while the TIMER is
running. For example, giving a Stop command directly after a Reset command is not
allowed.
The Start and Restart commands are not interchangeable. A Start command is only
executed after a prior Reset, when the timer is starting from the beginning (PV = 0).
Similarly, a Restart command is only executed after a prior Stop command, which froze
the timer when it was running (PV usually = non-zero).
When more than one of the Boolean command parameters is set at the same time, the
following priority is used:
STOPFL
RESTARTFL
For example, when both RESETFL and STARTFL are ON, the TIMER executes the
Reset command and nothing else happens until RESETFL goes Off. This leaves the
STARTFL as the only Boolean command ON, at which time the TIMER is started.
If you use both methods for issuing commands to the TIMER at the same time, the same
priority described above for the flags also applies for the commands. For example, if
STARTFL is ON and a Stop command is given (through COMMAND), the Stop
command is executed and all lower priority command flags are automatically turned
OFF.
1244
R110
February 2014
TIMER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TIMER function block.
Boolean
Enumeration
Function
The TYPECONVERT block is used to connect one input parameter to one or many
output parameters with different data types. For example, a Boolean input
(IN.BOOLEAN) can be converted to a 32-bit integer (OUT.INT32), a 64-bit floating
point number (OUT.FLOAT64), and an enumeration (OUT.ENUM) outputs. The
general Control Builder configuration rule about only connecting parameters of the same
data types for block inputs and outputs still applies. The TYPCONVERT block reads the
input value and only provides the converted output when the block connected to its
output runs.
R110
February 2014
1245
You identify the source parameter by wiring it to the IN.xx pins of the
TYPECONVERT block during configuration. For example, connecting
CM1.DEVCTL.GPV and CM1.PID1.OP to the same TYPECONVERT block is not
allowed. The Control Module block load fails, if such a situation exists at the load time.
Continuing with this example, the IN.ENUM might be connected to
CM1.DEVCTL.GPV and the OUT.FLOAT64 connected to CM1.EQ.IN(1), where GPV
is the generic state Enumeration representation of a Device Control block's PV, IN(1) is
the first input of an Equal comparison block (data type of Real), and CM1 is the Control
Module block that contains the DEVCTL and EQ blocks. The TYPECONVERT block
fetches the GPV Enumeration when it runs, and converts the value to a Real number
when the EQ function block runs and tries to fetch this value.
Continuing with the above example, you can connect CM1.DEVCTL.GPV to IN.ENUM
pin. Connecting this pin to any other pin is rejected by the Control Builder application.
Type conversions are supported for all possible combinations of the four supported data
types. For example, Boolean-to-Integer, Boolean-to-Real, Boolean-to-Enumeration, and
so on. Conversions from a particular data type to the same data type, such as Integer-toInteger, are supported; but you do not need to use the TYPECONVERT block in these
cases.
The block supports these user configurable attributes.
1246
A configurable Threshold Value (THRESHOLD) which lets you define how the
Boolean value is to be interpreted for a 32- or 64-bit floating point to Boolean
conversion. If the floating point input (IN.FLOAT32/IN.FLOAT64) value is greaterthan or equal-to the configured THRESHOLD, the Boolean output
(OUT.BOOLEAN) is turned ON, otherwise, it is OFF.
R110
February 2014
An Enumeration to Boolean Map scroll box lets you configure a given enumeration
(ENUMBOOLMAP[n]) to OFF or ON.
An Enumeration Text scroll box lets you configure up to 12 characters for a given
Self Defining Enumeration output (OUT.SDENUM[n]).
Execution status
The block's execution status (EXECSTS) parameter monitors how successful the block is
in fetching the input and can have the following values.
INBLKMISSING - This happens when the block detects that there is no input
connection made to any of the inputs of the PUSH block.
ATTENTION
The TYPECONVERT block does not use BADINPUT EXECSTS when the
block is in Inactive or in IDLE state.
Input/Output
The block has up to nine inputs and nine outputs. The pins for the four most common
inputs (IN.BOOLEAN, IN.INT32, IN.FLOAT64, IN.ENUM) and outputs
(OUT.BOOLEAN, OUT.INT32, OUT.FLOAT64, OUT.ENUM) are exposed by default.
But, all block pin parameters are available to be exposed and connected to using Control
Builder graphical connections.
TYPECONVERT parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TYPECONVERT function block.
R110
February 2014
1247
R110
February 2014
1249