Control Builder Components Theory: Experion PKS
Control Builder Components Theory: Experion PKS
Control Builder Components Theory: Experion PKS
EPDOC-XX16-en-431E
April 2018
Release 431
Document Release Issue Date
EPDOC-XX16-en-431E 431 0 April 2018
Disclaimer
This document contains Honeywell proprietary information. Information contained herein is to be used solely
for the purpose submitted, and no part of this document or its contents shall be reproduced, published, or
disclosed to a third party without the express permission of Honeywell International Sàrl.
While this information is presented in good faith and believed to be accurate, Honeywell disclaims the implied
warranties of merchantability and fitness for a purpose and makes no express warranties except as may be stated
in its written agreement with and for its customer.
In no event is Honeywell liable to anyone for any direct, special, or consequential damages. The information
and specifications in this document are subject to change without notice.
Copyright 2018 - Honeywell International Sàrl
2 www.honeywell.com
Contents
3
CONTENTS
4 www.honeywell.com
CONTENTS
5.1.10 Runtime peer-to-peer behavior between CEE and non-CEE point ............................................... 113
5.1.11 Runtime peer-to-peer behavior between CEE and Experion Server points ................................... 113
5.2 Initiator Rate - Calculation ............................................................................................................................. 115
5.2.1 Configuration without peer environment table ................................................................................ 115
5.2.2 Configuration with peer environment table ..................................................................................... 115
5.3 Implications for Control Builder Configuration ............................................................................................. 118
5.3.1 Multiple CPMs and ACEs ............................................................................................................... 118
5.3.2 CEE execution and subscription rates .............................................................................................. 118
5.3.3 Function block support .................................................................................................................... 118
5.3.4 Peer-to-peer connections and DEF and REF blocks ........................................................................ 119
5.3.5 Peer-to-peer configuration example ................................................................................................. 119
5.3.6 Peer-to-peer configuration guidelines .............................................................................................. 122
5.3.7 Example to illustrate peer-to-peer configuration for non-CEE points ............................................. 122
6 Time Support in Experion System .................................................................................................... 125
6.1 Date and Time Synchronization ..................................................................................................................... 126
6.2 C300 and Series C Fieldbus Interface Module Time Synchronization .......................................................... 127
6.2.1 BOOTP Mechanism and Multiple Clusters ..................................................................................... 127
6.3 Time Configuration Considerations ................................................................................................................ 128
6.3.1 Time Data Types in Control Execution Environment (CEE) Blocks .............................................. 128
6.3.2 Time Data Types in User Algorithms and Displays ........................................................................ 128
6.3.3 C200/C200E, Application Control Environment (ACE) Time Parameters ..................................... 129
6.3.4 Custom Algorithm Block (CAB) on ACE Time Functions ............................................................. 130
6.4 Examples of Time Usage in CAB and SCM .................................................................................................. 131
6.4.1 Example - Custom Algorithm Block (CAB) writes Time CDP ...................................................... 131
6.4.2 Example - Custom Algorithm Block (CAB) reads Time CDP ........................................................ 131
6.4.3 6.4.3 Example - Sequence Control Module (SCM) waits for a specified Time .............................. 132
6.4.4 Example - Sequence Control Module (SCM) records Time of process command .......................... 132
7 Cold and Warm Restart Functionality .............................................................................................. 133
7.1 Overview ......................................................................................................................................................... 134
7.1.1 CEE Initial Startup ........................................................................................................................... 134
7.1.2 CEE Restarts .................................................................................................................................... 134
7.1.3 CEE Restart Behaviors .................................................................................................................... 134
7.2 Planning .......................................................................................................................................................... 136
7.2.1 Invariant or Variant Restart Behaviors ............................................................................................ 136
7.2.2 Blocks with Invariant Restart Behavior ........................................................................................... 136
7.2.3 Blocks with Variant Restart Behavior .............................................................................................. 138
7.3 Configuration of Restart Behaviors ................................................................................................................ 140
7.3.1 CEE Block ....................................................................................................................................... 140
7.3.2 Control Module (CM) ...................................................................................................................... 140
7.3.3 Control Module Function Blocks .................................................................................................... 141
7.3.4 Logic Blocks .................................................................................................................................... 141
7.3.5 Sequential Control Module (SCM) .................................................................................................. 142
7.3.6 Summary Of SCM Restart Behavior ............................................................................................... 144
7.3.7 Supporting SCM Functionalities ..................................................................................................... 145
7.3.8 SCM Blocks ..................................................................................................................................... 146
7.4 Warm and Cold Restart Behaviors of Cascades ............................................................................................. 147
7.4.1 Definitions ....................................................................................................................................... 147
7.4.2 Regulatory Cascades ........................................................................................................................ 147
7.4.3 CEE to CEE Cascades ..................................................................................................................... 148
7.4.4 CEE to Legacy Cascade when Node hosting Primary is restarted .................................................. 150
7.4.5 CEE to EHPM FTE Cascade ........................................................................................................... 151
7.4.6 CEE to Legacy Cascade when Node hosting Secondary is restarted .............................................. 151
7.4.7 RegCtl Cascades when Node hosting the Primary is restarted ........................................................ 151
5
CONTENTS
6 www.honeywell.com
CONTENTS
11.2 Option to specify a time delay for the REGCTL blocks to shed the mode .................................................. 196
11.2.1 Enabling the option of specifying time delay for REGCTL blocks to shed the mode .................. 196
11.2.2 Description of values for Bad Output Connection Option ............................................................. 197
11.2.3 Considerations for setting the BADOCOPT value ........................................................................ 198
11.2.4 Applicability of BADOCOPT parameter for FANOUT blocks .................................................... 199
11.2.5 Simulation support for the BADOCOPT parameter ...................................................................... 199
11.2.6 Impact of BADOCOPT parameter on regulatory control functionalities ...................................... 199
11.2.7 Effects of BADOCOPT value on delay timer in various scenarios ............................................... 199
11.2.8 Auxiliary memory usage for the parameters .................................................................................. 200
11.2.9 Detail Displays ............................................................................................................................... 200
11.3 Implications for Operation ............................................................................................................................ 202
11.3.1 Resetting mode after I/O communications are restored. ................................................................ 202
11.3.2 Allowing Redundancy synchronization with lost I/O communications ........................................ 202
11.4 Remote Cascade function between Controllers ............................................................................................ 203
12 Enhancements to MODE behavior of the regulatory control blocks ........................................... 205
12.1 About the MODESTARTMAN parameter ................................................................................................... 206
12.2 MODESTARTMAN ..................................................................................................................................... 208
13 Control Builder Export and Import Functionality .......................................................................... 209
13.1 Basic Export/Import Design Concepts ......................................................................................................... 210
13.1.1 Export functionality ....................................................................................................................... 210
13.1.2 Import functionality ....................................................................................................................... 210
14 SCM and CM Chart Visualization Functionality ............................................................................. 211
14.1 Basic Chart Visualization Design Concepts ................................................................................................. 212
14.1.1 How SCM chart visualization works ............................................................................................. 212
14.2 Some SCM and CM Chart Operation Considerations .................................................................................. 216
14.2.1 Detail display interaction notes ..................................................................................................... 216
15 Enhancements to reporting of alarms in Station .......................................................................... 217
15.1 Various configurable alarm attributes ........................................................................................................... 218
15.2 Blocks and applicable alarms ....................................................................................................................... 219
15.2.1 Guidelines for configuring on-delay time for BADCTL alarm ..................................................... 220
15.2.2 Example to illustrate the alarm behavior based on alarm attributes .............................................. 220
15.2.3 Impact of alarm priority change on alarm behavior ...................................................................... 221
15.2.4 Impact of migration on alarm attributes ........................................................................................ 221
15.2.5 Impact of OUTIND parameter on alarm attributes ........................................................................ 221
16 I/O Link Interface .............................................................................................................................. 223
16.1 I/O Functions ................................................................................................................................................ 224
16.2 A word about Point form .............................................................................................................................. 225
16.3 IOP validation ............................................................................................................................................... 226
16.4 I/O Link Cable Status and Statistics ............................................................................................................. 227
16.4.1 Periodic swap functionality ........................................................................................................... 227
16.4.2 Periodic swap transition diagram ................................................................................................... 227
16.4.3 Enabling periodic channel swap .................................................................................................... 228
16.4.4 Viewing cable status and statistics ................................................................................................. 229
17 Process Manager Input/Output Functionality ................................................................................ 231
17.1 High and Low Level Analog Input Points .................................................................................................... 232
17.1.1 Function of high and low level analog input points ...................................................................... 232
17.1.2 PV Characterization ....................................................................................................................... 234
17.1.3 Linear Conversions ........................................................................................................................ 234
17.1.4 Square root conversion .................................................................................................................. 235
17.1.5 Thermal conversion ....................................................................................................................... 235
17.2 Smart Transmitter Interface Point ................................................................................................................. 237
7
CONTENTS
8 www.honeywell.com
CONTENTS
9
CONTENTS
10 www.honeywell.com
CONTENTS
11
CONTENTS
12 www.honeywell.com
CONTENTS
13
CONTENTS
14 www.honeywell.com
CONTENTS
15
CONTENTS
16 www.honeywell.com
CONTENTS
17
CONTENTS
18 www.honeywell.com
CONTENTS
19
CONTENTS
20 www.honeywell.com
CONTENTS
21
CONTENTS
22 www.honeywell.com
CONTENTS
23
CONTENTS
24 www.honeywell.com
CONTENTS
25
CONTENTS
26 www.honeywell.com
1 About This Document
Provides general and detailed theoretical or how it works information for selected Control Builder related
functions and the control library function blocks. It does not cover the hardware associated blocks like the
Control Processor Module (CPM) and Input/Output Module blocks.
Revision history
Revision Date Description
A February 2015 Initial release of document.
B April 2016 Updated the document with the C300CEE windup behavior when PVSTS =
Manual.
C December 2017 Updated the RTRIG and TRIG blocks
D January 2018 Updated PAR # 1-8MGI93 information in the document.
E April 2018 Note is added regarding K (gain) in the document.
27
1 ABOUT THIS DOCUMENT
28 www.honeywell.com
2 Control Builder Components
Related topics
“Control Builder Underlying Concepts” on page 30
“Control Capacity and Performance” on page 39
“I/O Capacity and Performance” on page 51
“Function Block Execution Schedules” on page 55
“Block Configuration Load Considerations” on page 62
“Memory Usage for CEE on C200/C200E, C300 or ACE” on page 65
“CPU Utilization for CEE on CPM” on page 73
“CEE Standard Control Blocks” on page 74
“Control Component Library (CCL) Blocks” on page 78
29
2 CONTROL BUILDER COMPONENTS
Attention
The C200E Controller is an enhanced C200 Controller with additional user memory and an enhanced function block
set. The C200E Controller provides increased user memory from 4 MB to 16 MB.
30 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Function Description
Human Interface 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.
In addition, operators can view entries made in the controller's configuration
database, but changes are usually under keylock or password control.
Communications Driver The communications driver serves as the translator for the data that flows between
the human interface and the control data process or functions. It translates signals
into appropriate display data or control action.
Control Data Processor The control data processor defines the operating characteristics for the controller
which is usually stored in memory as the controller's configuration database. It
solves the configured or selected Proportional, Integral, and Derivative (PID) control
equation and usually runs self-diagnostic tests.
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.
31
2 CONTROL BUILDER COMPONENTS
32 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
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.
33
2 CONTROL BUILDER COMPONENTS
example, If you have two Control Modules named CM724 and CM725, you can have a PID block named PIDA
in CM724 and in CM725 as shown in the following figure. In this case, the Tag Name PIDA is dependent on the
Control Module's independent name of CM724 or CM725 for system wide recognition.
Figure 4: Component block names are dependent on container block tag name for system wide recognition.
34 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
• For a dependent type (component) block: <Independent Tag Name>.<Dependent Tag Name>.<Parameter
Name>
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
• To reference the Execution State (EXECSTATE) parameter of a Control Module named PIDLOOP, you
identify the parameter as follows:
• PIDLOOP.EXECSTATE
The main thing to remember about naming is that you must specify a unique name for the Function Block or
parameter that you want recognized on a system wide basis.
The following figure illustrates some typical Tag Name assignments used in a sample Control Builder
configuration.
Figure 5: Sample Control Builder configuration with sample tag name assignments.
See the following table for a description of the callouts in the figure above.
Callout Description
1 Tag names for CPM and CEE with MAC address of 01 and CPM installed in slot number 1.
(CPM0101, CEE0101)
Note that the format for these tag names is used for example purposes only.
2 Configured tag name for analog input type IOM FB. (AI_IOM_01)
3 Predefined names for FB parameters. (PVSRCOPT, PIFILTIME, PVEULO, PVEUHI, P1)
4 Configured tag name for Control Module. (FIC101)
35
2 CONTROL BUILDER COMPONENTS
Callout Description
5 Configured dependent block names for component FBs. (DACA, PIDA, AI00, AO00)
6 Configured full tag name for connection to a parameter in another Control Module.
(TIC101.PIDA.OP)
36 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
The CEE provides the control execution services for the Control Processor. It coordinates all data flow between
parameters at execution time. Without getting into a lot of detail, the CEE parameters exist only within the
Function Blocks for the loaded control strategy. These parameters are classified as “active” or “passive” based
on whether or not the block itself handles the data flow connection processing. The active parameters require
special connection processing for actions such as status handling or initialization propagation from inside the
block. The passive parameters depend on activity outside the block to initiate data flow in or out. The Control
Module Function Block is the agent for data flow between connected passive parameters.
37
2 CONTROL BUILDER COMPONENTS
38 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Related topics
“Control network capacity” on page 39
“C200/C200E configuration options” on page 40
“C200/C200E Redundancy” on page 41
“C200/C200E communication performance” on page 41
“C200E Whole Array Transfer Performance” on page 43
“C200/C200E processing resources” on page 43
“C200/C200E Memory Resources and Block Configuration” on page 44
“C300 configuration options” on page 44
“C300 Redundancy” on page 45
“C300 communication performance” on page 45
“C300 processing resources” on page 47
“C300 Memory Resources” on page 48
“ACE configuration options” on page 48
“ACE communication performance” on page 48
“ACE processing resources” on page 50
“ACE Memory Resources” on page 50
39
2 CONTROL BUILDER COMPONENTS
Attention
The CEE of the C200E Controller supports only 50 ms base execution period.
40 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Note:
Supervisory CIP Ethernet LAN clusters only guarantee a Pull/Get Request Rate of 500 milliseconds or greater. Faster
Pull/Get rates can be configured, however, data arrival at the configured rate cannot be guaranteed for rates faster than 500
milliseconds.
Attention
The PROFIBUS interface Module SST-PB3-CLX-HWL (SAP item 1120160021), manufactured by Molex Inc.
(formerly Woodhead / SST), supersedes models SST-PBF-CLX and SST-PBF-CLX-RLL.
Redundancy compliant devices CNI, C200/C200E CPM, FTEB, FIM, IOLIM, RM, BEM,
LIOM
Non-redundancy compliant devices (cannot be Chassis IOM, SIM, PIM, SST-PB3-CLX-HWL, C100 CPM,
introduced in a redundant chassis pair) TC-CEN021 Ethernet Module, DHRIO, DeviceNet Module
Control Processing Switchover Interruption Time 500 ms
Redundancy Module Cable Medium Fiber Optic Cable
Redundancy Module Cable Lengths 1, 3, 10 meters
Redundancy Module Slot Width 2 slots
Initial Synchronization Time (from Sync Start to • C200: 90 sec
Completion) • C200E: 300 sec
Maximum Elapsed Time Between Commanded • C200: 150 sec
Switchover and Completion of Initial Synchronization • C200E: 400 sec
Maximum Elapsed Time Between Switchover Due to • C200: 200 sec
Power Cycle of the Primary and Completion of Initial • C200E: 400 sec
Synchronization
Maximum OPM Control Freeze time • C200: 10 seconds
• C200E: 20 seconds
The following table lists performance related values for C200/C200E Controller communications. The
abbreviation PPS stands for Average Parameters Per Second and PPM stands for Average Parameters Per
Minute.
41
2 CONTROL BUILDER COMPONENTS
42 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
The following table lists the processing resources for a C200/C200E Controller in Processing Units (PU). The
PU represents a platform independent amount of processing resources (time) required to complete a predefined
amount of computational (control) work.
43
2 CONTROL BUILDER COMPONENTS
44 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
45
2 CONTROL BUILDER COMPONENTS
46 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
47
2 CONTROL BUILDER COMPONENTS
For Maximum Cycle Loading, over a cycle (0-39), the “Average CPU Used” (CPUCYCLEAVG) statistic is not
to exceed the stated maximums.
48 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
49
2 CONTROL BUILDER COMPONENTS
50 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Related topics
“C200/C200E IO capacity” on page 51
“C300 IO capacity” on page 52
“IO Unit load factors” on page 53
The following table lists I/O configuration constraints you should observe to avoid overloading the C200/
C200E Controller and impacting its ability to operate correctly.
51
2 CONTROL BUILDER COMPONENTS
Maximum Number of IOMs having Scan Rate as “Priority IOM” Per Not applicable. 4 modules
IOLINK Of C300”
SERIES A I/O-RELATED ONLY
Maximum Number of Series A I/O Chassis connected through FTEB per 83 Not Supported
C300
52 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
The C300 50ms controller strategies cannot be imported to a C300 - 20, as CM and IOM assignments will fail.
To modify the exported file, change the CM Periods and IOM Scan rates to a value, which is supported by the
C300 - 20 and then import the exported file to a C300 - 20 controller. These CMs can only contain function
blocks that are supported by C300 - 20 controller.
53
2 CONTROL BUILDER COMPONENTS
54 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Related topics
“Schedule consideration differences” on page 55
“Control Module and Sequential Control Module FBs schedule” on page 55
“CM Component Function Block scheduling” on page 58
“IOM FB schedule” on page 60
“CPM, ACE, and CEE FBs schedule” on page 61
“Cycle overruns” on page 61
55
2 CONTROL BUILDER COMPONENTS
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 will run in
cycles 1, 5, 9, …,37. Another Control Module block with an Execution Period of 200 milliseconds and a Phase
of 2 will run in cycles 2, 6, 10, …,38. The entry value range for the Execution Phase is -1 and 0 to 39. However,
the system will accept and clamp values outside the appropriate range for a given Period as long as the value is
within the overall entry range. Obviously, a block with an Execution Period of 50 milliseconds will always be
evenly distributed, since it will run 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. In the future, a Phase value of -1 will instruct the CEE to assign Phase values that will
distribute the overall-processing load.
Attention
This same scheduling concept applies for the ACE supervisory controller but for periods from 500 milliseconds to 20
seconds.
56 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
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. This means 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.
57
2 CONTROL BUILDER COMPONENTS
C300 Execution Periods of 5 sec, 10 sec, 20 sec, 30 sec, and 1 min should only be used for Control Modules
with Profit Controller blocks. For more information on Profit Controller blocks in CEE, see the Experion Profit
Controller User's Guide.
You can configure the parameter through the FB configuration form or by double-clicking the parameter on the
FB faceplate.
Attention
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.
58 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
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 type IOCHANNEL FBs do a sample and hold operation when they execute. IOCHANNEL FBs read data
from the associated IOM FB 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.
59
2 CONTROL BUILDER COMPONENTS
60 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
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.
Obviously, 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.
61
2 CONTROL BUILDER COMPONENTS
Related topics
“Data categories” on page 62
“Container and self-standing blocks load versus states” on page 62
“Load error messages” on page 63
“RAM Retention Start Up (RRSU)” on page 63
62 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
• IOMFB.EXECSTATE
The following table summarizes the state parameter status versus FB load permissions.
This error message generation applies for on-line parameter stores as will 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.
63
2 CONTROL BUILDER COMPONENTS
If RAM errors were detected or you did not load the CEE FB before the power interruption, the CEE FB state
will be NotLoaded at startup.
Upon any CPM startup, the CEE reissues all active notifications as part of the Experion notification recovery
routine. The CEE also issues “stat” transition notifications from the CEE FB and CPM FB that are logged in the
event journal to show whether or not an RRSU occurred.
Refer to Notifications Theory for more information
64 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Attention
The following Control Builder Block Libraries will consume the extra Memory Units listed, when the first block of a
given type is loaded to the C200/C200E Controller:
• RAIL_IO_HAZ = 125 MU
• RAIL IO = 125 MU
• EXCHANGE = 70 MU
• PLUSEINPUT = 100 MU
• FBUSIF = 90 MU
65
2 CONTROL BUILDER COMPONENTS
66 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
67
2 CONTROL BUILDER COMPONENTS
68 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
The C300 - 20msCEE controller supports all the modules except Sequence Control Module (SCM) and Recipe
Control Module (RCM) with same Memory Resource Usage.
69
2 CONTROL BUILDER COMPONENTS
70 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
71
2 CONTROL BUILDER COMPONENTS
72 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Category Description
Core CPU Load CPU load from core services independent of any load imposed by user
configuration.
Dynamic CPU Load CPU load imposed circumstances, which are unaccounted for by block
configuration. This includes such factors as CPU loading From:
notification report and distribution, and
parameter response Server Cache.
Configured CPU Load CPU load imposed by the user's control strategy configuration. You can
estimate this load by determining the number of “typical module types” as
described in the previous Typical Requirements section.
Attention
This is not intended for the C300 - 20mS CEE Controller.
73
2 CONTROL BUILDER COMPONENTS
Block Name C300 Size (bytes) C200/C200E Size (bytes) ACE Size (bytes)
2OO3 64 60 64
ABS 48 40 48
ACEFB 232
ADD 108 100 108
AICHANNEL 100 88
AIMODULECLS 552 516
AINIMODULECLS 684 648
ALMPANEL 212 212
ALMWINDOW 128 132
AND 44 36 44
AOCHANNEL 184 172
AOMODULECLS 588 552
AONIMODULECLS 668 632
AUTOMAN 1268 1272 1708
AUXCALC 536 516 560
AUXSUMMER 684 656 724
CABLOCK 404
CDBLOCK 164 152 164
CEEACEFB 37752
CEEC300FB 30164
CEEFB 29784
CHECKBAD 44 36 44
CHECKBOOL 976 952 1008
CHGEXEC 112 112
CONTACTMON 68 68
CONTROLMODULE 288 272 336
CPMFB 516
DATAACQ 680 672 1116
DEADTIME 784 772 792
DELAY 48 40 48
DEVCTL 1104 1084 1132
DICHANNEL 100 88
DIGACQ 120 124
DIMODULECLS 280 244
DIV 56 48 56
74 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Block Name C300 Size (bytes) C200/C200E Size (bytes) ACE Size (bytes)
DOCHANNEL 132 120
DOMODULECLS 968 932
EHGOUT 470
ENHAUXCALC 932 904 972
ENHGENLIN 1784 1788
ENHREGCALC 2628 2608 3112
EQ 80 72 80
EXECTIMER 120 120
EXP 48 40 40
FANOUT 2700 2704 9168
FIRSTOUT 204 204
FLAG 52 44 52
FLAGARRAY 44 36 44
FLOWCOMP 480 472 508
FTRIG 36 28 36
GE 80 72 80
GENLIN 304 296 308
GRPCAPRBK 648 692
GT 80 72 80
HANDLER 44 36 44
HIWAYOUT 472
HTMOTOR 1096 1116
LE 80 72 80
LEADLAG 240 232 244
LEVELCOMP 240 248
LIMIT 140 132 140
LN 48 40 48
LOG 48 40 48
LT 80 72 80
LTMOTOR 992 1012
MAINIBV 268 276
MAX 108 100 108
MAXPULSE 48 40 48
MESSAGE 212 204 212
MIN 108 100 108
MINPULSE 48 40 48
MOD 56 48 56
MUL 108 100 108
MUX 56 48 68
MUXREAL 108 100 108
MVOTE 68 64 68
75
2 CONTROL BUILDER COMPONENTS
Block Name C300 Size (bytes) C200/C200E Size (bytes) ACE Size (bytes)
NAND 44 36 44
NE 80 72 80
NEG 48 40 48
NOON 100 92 100
NOR 44 36 44
NOT 36 28 36
NUMERIC 64 56 64
NUMERICARRAY 48 40 48
OFFDELAY 48 40 48
ONDELAY 48 40 48
OR 44 36 44
OVRDSEL 1864 1848 2316
PCDI_MASTER 25512
PCDI_FLAGARRCH 13512
PCDINUMARCH 9140
PCDINTEXTARRCH 3232
PHASE 420 404 428
PID 1892 1892 2336
PIDER 2016 2012 2468
PIDFF 2012 2008 2460
PID-PL 2904 2788 3348
POSPROP 2016 2012 2472
POW 56 48 56
PULSE 48 40 48
PULSECOUNT 336 320 356
PULSELENGTH 316 300 356
PUSH 192 180 200
PWMCHANNEL 184 172
QOR 60 52 60
RAMPSOAK 1588 1592 2028
RATIOBIAS 1428 1424 1872
RATIOCTL 1768 1764 2220
RCM 3128 3160
REGCALC 1988 1980 2448
REGSUMMER 1492 1488 1944
REMCAS 1492 1488 1936
ROC 156 160
ROL 40 32 40
ROR 40 32 40
ROUND 48 40 48
RS 36 28 36
76 www.honeywell.com
2 CONTROL BUILDER COMPONENTS
Block Name C300 Size (bytes) C200/C200E Size (bytes) ACE Size (bytes)
RTRIG 36 28 36
SCM 3128 3112 3160
SecCPMFB 400
SEL 40 32 40
SELREAL 60 52 60
SHL 40 32 40
SHR 40 32 40
SIFLAGARRCH 360 348
SIGNALSEL 520 504 544
SIM 1712 1436 1712
SIMODULECLS 4876 4856
SINUMARRCH 688 676
SITEXTARRCH 436 424
SOLENOID 960 980
SQRT 48 40 48
SR 36 28 36
STARTSIGNAL 44 36 44
STEP 200 192 200
SUB 56 48 56
SWITCH 2544 2504 3012
SYNC 176 168 176
TEXTARRAY 48 40 48
TIMER 72 64 72
TOTALIZER 248 240 252
TRANSITION 184 176 184
TRIG 36 28 36
TRUNC 48 40 48
TYPECONVERT 156 148 160
UCM 296 264 344
UCNOUT 472
VALVEDAMPER 1120 1148
WATCHDOG 48 40 48
XOR 44 36 44
77
2 CONTROL BUILDER COMPONENTS
78 www.honeywell.com
3 Control Module Independence
Related topics
“Module Independence for Flexible Modification” on page 80
“CM Independence and Hypothetical Controller Comparison” on page 81
“CEE Architecture” on page 83
“Validation of Control Module Independence” on page 87
“Resource Coupling Across Different Platforms” on page 88
79
3 CONTROL MODULE INDEPENDENCE
80 www.honeywell.com
3 CONTROL MODULE INDEPENDENCE
Infrastructure services
The infrastructure services would consist of a variety of system enablers, two of the most important being a
Real Time Operating System, vendor purchased or custom developed, and a set of Communication Services.
Another important set of infrastructure services would 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 would
develop this program and implement custom control strategies. Supposing that multiple control strategies could
be supported within this program, all applications implemented within it would share certain properties since it
is a single program. For example, they would all be loaded together and would have the same timing properties.
Assuming that the timing properties have the potential to be fast, they are unregulated.
81
3 CONTROL MODULE INDEPENDENCE
82 www.honeywell.com
3 CONTROL MODULE INDEPENDENCE
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 custom-developed 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
Application programs
The architecture of a CEE-based controller also resembles the hypothetical controller in that 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.
• Partitioning between program and data set
• Partitioning between native programs and custom programs
83
3 CONTROL MODULE INDEPENDENCE
Application programs and control modules work together to create the complete functionality of the application.
In software terminology, the application programs hold the classes for the control algorithms while the Control
Modules hold the object instances (the data).
In CEE, the terminology used is more specific to the domain of control. Classes are referred to as block types
while object instances are referred to as block instances or just blocks. Most CEE block types are encoded
within application programs which are built into the controller and do not change when control applications are
created. These are called native block types. Others types created by end users. These are called custom block
types.
When users insert a block into a Control Module, they are actually creating a block instance. Each module can
hold one or many block instances. Within a module, configuration can be changed and tunable constants can be
modified, both off-line and on-line. All this can be done without impact to any but the module being touched.
In addition, control modules can be loaded and unloaded individually. Load and unload of one module has no
impact on any other.
84 www.honeywell.com
3 CONTROL MODULE INDEPENDENCE
85
3 CONTROL MODULE INDEPENDENCE
86 www.honeywell.com
3 CONTROL MODULE INDEPENDENCE
87
3 CONTROL MODULE INDEPENDENCE
Category Description
Programmatic Coupling These are dependencies which arise from the fact that algorithms are implemented
in a monolithic program or which arise from the fact that there are explicit data
dependencies among the algorithms. Of the types of coupling described in the
preceding sections, Load / Unload, Execution Timing and Data Reference can be
considered examples of Programmatic Coupling.
Resource Coupling Other dependencies are less direct but can arise from the fact that control
algorithms execute on the same hardware platform and share computing
resources. Of the types of coupling described in the preceding sections, Memory
Utilization, CPU Utilization and Communication Bandwidth Utilization can be
considered examples of Resource Coupling.
All CEE-based controllers have equivalent behavior with respect to Programmatic Coupling as these
characteristics are directly determined by the design of CEE. Each hosting controller, C200/C200E, C300 and
ACE, has distinct characteristics of resource coupling, which derive directly from the capacities of the host
platforms. In each case, the effects of adverse Resource Coupling can be controlled by using configurations that
are within specification for the hosting platform.
88 www.honeywell.com
4 Relative References
This section describes what relative references are, how they are displayed, and what Control Builder functions
support them as well as some examples of how they may be used.
Related topics
“About Relative References” on page 90
“Relative References structure rules” on page 91
“Display options for relative references” on page 93
“Control Builder functions supporting relative references” on page 95
“Control Builder blocks supporting expressions” on page 96
“Example of TRANSITION block using relative references” on page 97
“Example of parameter connector using relative references” on page 99
“Example of other parameters using relative references” on page 100
“Bulk Builder and Bulk Editor support” on page 102
89
4 RELATIVE REFERENCES
90 www.honeywell.com
4 RELATIVE REFERENCES
91
4 RELATIVE REFERENCES
92 www.honeywell.com
4 RELATIVE REFERENCES
93
4 RELATIVE REFERENCES
94 www.honeywell.com
4 RELATIVE REFERENCES
95
4 RELATIVE REFERENCES
96 www.honeywell.com
4 RELATIVE REFERENCES
97
4 RELATIVE REFERENCES
98 www.honeywell.com
4 RELATIVE REFERENCES
99
4 RELATIVE REFERENCES
100 www.honeywell.com
4 RELATIVE REFERENCES
101
4 RELATIVE REFERENCES
102 www.honeywell.com
5 Peer-to-Peer Functionality
Related topics
“Basic Peer-to-Peer Design Concepts” on page 104
“Initiator Rate - Calculation” on page 115
“Implications for Control Builder Configuration” on page 118
103
5 PEER-TO-PEER FUNCTIONALITY
104 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
supports two Subscribers with different publication rates, it maintains independent publication rates for all of its
clients. The Publisher continues to publish data until the Subscriber cancels the contract.
The Request/Response model involves a one-time request forget/store data. A get request reads the value of a
data item and a store request writes the value of a data item. Once the responder fulfills the request and the
requester receives the response, the operation is complete.
105
5 PEER-TO-PEER FUNCTIONALITY
Attention
Refer to the latest Experion Specification document for the operating system specifications.
Since the ACE/CEE runs on a time-sharing operating system, the timed event for function block execution may
be delayed or interrupted by other tasks. The ACE/CEE function block includes statistical parameters for
calculating timed event for function block execution.
Cyclic “get” requests are forwarded to the CDA during function block connection configuration load. This
results in the allocation and addition of a request in the shared memory between CDA-sp and ACE/CEE where
peer data is imaged. CDA-sp collects peer data and copies it from communication buffers into shared memory.
At run time, a function block converts memory data into a reference to intimately access peer data.
106 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
Attention
• Peer-to-peer communication is not supported between the non-CEE points and the following:
– C300-20msCEE
– Fieldbus blocks
– PMIO and Series C I/O blocks
– Control cascade.
107
5 PEER-TO-PEER FUNCTIONALITY
CAUTION
If there are any PMD-Experion server Peer Responder connections to points in an EHPM Controller, then, before
you import these EHPM points into ERDB, configure these PMD-Experion server Peer Responder connections to
use a different data access path to the EHPM. If left unchanged, PMD-Experion server Peer Responder
connections are lost permanently after the EHPM points are imported and the EHPM block is loaded to the
Control Builder Monitoring side.
For example, consider a scenario where an EHPM Controller has a point n11b11pmp31, and PMD is
communicating with the EHPM point n11b11pmp31 through the Experion server Peer Responder connection. In
this case, import of EHPM point n11b11pmp31 succeeds but when the EHPM is loaded to the monitoring side in
Control Builder, then the PMD-n11b11pmp31 connection is lost permanently.
If the ACE/C300 CEE-Experion server Peer Responder connections to the EHPM points exist, these connections
are not affected by the import of EHPM points into ERDB and continues to work unchanged.
5.1.7 Guidelines for configuring peer-to-peer communication between CEE and non-CEE points
108 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
Attention
• Whole array peer-to-peer communication is not supported between CEE and non-CEE points.
• CAB on ACE dynamic re-referencing is not supported for non-CEE peer-to-peer references.
• You cannot configure non-CEE points in the Server History and Trend configuration of CM in Control Builder
• Non-CEE points are not listed in the Point Picker. Therefore, you must remember the correct non-CEE point
names to configure in the control strategies.
• The following parameters of the SCM-STEP block cannot be configured for peer-to-peer communication with the
non-CEE points.
– OP[].INSTRUCTTYPE
– OP[].CURRVALREF
– OP[].ENTRYVALREF
– OP[].MONTASKREF
– OP[].TARGETVALREF
– OP[].TARGETDESCREF
– OP[].TARGETMAXREF
– OP[].TARGETMINREF
– OP[].TARGETEUDESCREF
– OP[].CURRDESCREF
– OP[].CURREUDESCREF
– OP[].ENTRYDESCREF
– OP[].ENTRYMAXREF
– OP[].ENTRYMINREF
– OP[].ENTRYEUDESCREF
Before configuring a peer-to-peer reference in the Control Builder to an Experion Server point, you must ensure
the following:
• The point to which the peer-to-peer communication is being configured must exist in the Experion Server
database.
• Performing the Experion Server peer-to-peer configuration when both servers are running and are in
synchronization is recommended. If you perform peer-to-peer configuration when only one server running
as primary, ensure that the System Repository is in synchronized state after the other server is started as
backup server.
• Ensure that you do not perform Experion server peer-to-peer configuration and load when the servers are in
dual primary state. If you attempt to do so, the peer-to-peer communication between the Experion server
points would be lost once the servers recover from the dual primary state.
• TPS points must be primed before referencing it for peer-to-peer communication.
• Array parameter of the TPS point must be configured before configuring the peer-to-peer configuration to
the array parameter of the TPS point in the Experion Controllers (Example: C300, C200E or ACE). If you
want to reconfigure the array parameter of the TPS point, you must reload the control strategy. To reload the
control strategy, refer “Regulatory Control” on page 261.
• Data type of the OPC advanced point is always configured as FLOAT64 parameter. Hence, peer-to-peer
configuration has to be done for FLOAT64 parameter only in the Control Builder. For data type conversion
(example, converting a data type from FLOAT64 to INT16), use TYPECONVERT block for peer-to-peer
communication.
• Variant data types published by point servers cannot be added to peer-to-peer configuration.
Data type matching between the Experion Server points and CEE points.
The following table lists the data type between the CEE, SCADA, OPC advanced, and DSA points.
109
5 PEER-TO-PEER FUNCTIONALITY
Attention
DSA point name has to be unique across clusters. The DSA point with the same name in another cluster cannot be
configured for peer-to-peer communication.
Before configuring a peer-to-peer reference in Control Builder to a Safety Manager or a PMD point, you must
ensure the following:
• Safety Manager and PMD are published to Experion from their respective configuration tools.
For more information about the supported release and subsystem configuration tools for enabling the peer-to-
peer communication between the Experion CEE points and non-CEE points, refer to the respective subsystem
documents. For example, if you want to know about the compatible release of Experion with PMD Controller
that supports native peer-to-peer communication with CEE controllers, refer to Experion PKS with PMD
Controller Software Change Notice and Experion PKS with PMD Controller Overview Guide. For peer-to-peer
configuration details, refer to Experion PKS with PMD Controller Configuration and Operations Guides.
110 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
Note: Configuration Studio Search function can be used to find all the references of the non-CEE point used
in the Control Builder.
2. Open the Control Builder and delete all peer-to-peer non-CEE point references from both Project and
Monitoring view for which the data type has been changed.
3. Close the Control Builder and the Recipe Builder on all nodes.
4. Use the following steps to clear the dangling non-CEE point parameter references when there are dangling
non-CEE point parameter references.
a. From the Configuration Studio, click Administer the control strategy database.
The dbadmin window opens.
b. Navigate to the Server node and select Non-ERDB Dangling Connections tree.
The dangling connections are displayed in the right pane.
c. Right-click Non-ERDB Dangling Connections and select Clear List.
The references to the dangling parameter are cleared.
5. Re-configure the parameter with the new data type.
Attention
• If the dangling point is a DSA point and the data type of the parameter changes on the publishing server, the
parameter type does not change in the subscribing server. This is applicable until the subscriber reads the changed
value next time.
For example, viewing the point parameter value on a display or a trend.
• Before configuring the peer-to-peer configuration with the DSA points, ensure that the DSA point is activated in
the publishing server. Otherwise, the subscribing Server handles the data type as INT16. If the DSA peer-to-peer
reference displays the wrong data type, perform the following steps to fetch the actual data type after activating the
DSA point.
1. Reload the DSA points from publisher and activate the DSA points.
2. Call the DSA parameters in the Trend display from the subscribing Server to fetch the new data type.
3. Open the Control Builder and delete all peer-to-peer non-CEE point references from both Project and
Monitoring view for which the data type has been changed.
4. Close the Control Builder and the Recipe Builder on all nodes.
5. Use the following steps to clear the dangling non-CEE point parameter references when there are dangling
non-CEE point parameter references.
6. From the Configuration Studio, click Administer the control strategy database.
The dbadmin window opens.
7. Navigate to the Server node and select Non-ERDB Dangling Connections tree.
The dangling connections are displayed in the right pane.
8. Right-click Non-ERDB Dangling Connections and select Clear List.
The references to the dangling parameter are cleared.
9. Restart the Control Builder.
10. Reconfigure or re-import the DSA parameter references.
111
5 PEER-TO-PEER FUNCTIONALITY
112 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
SCADA/TPS ANA01.INALM 0
Integer STA01.NumberOfInpu
(INT16) tStates
TPS_ALM.NOPINPTS
Attention
If there is any exception in this behavior, refer to the specific sub-system documentation for the related information.
For example, if there is any behavior change when PMD point is deleted, renamed and published, refer to Experion
PKS with PMD Controller Configuration and Operations Guides.
Experion function block can successfully read the non-CEE point parameter value.
5.1.11 Runtime peer-to-peer behavior between CEE and Experion Server points
Deleting, recreating, reloading the Experion Server points during runtime
The following scenario is applicable when the Experion Server point participating in peer-to-peer
communication is deleted, recreated, and reloaded while reading the Experion Server point.
When an Experion Server point is deleted, the function block running in one of the CEE controllers and reading
the Experion point.parameter receives “FAILSAFE” value. However, if the deleted Experion Server point is
recreated with the same name and reloaded, the function blocks continues to receive the “FAILSAFE” value. To
avoid this issue, perform the following steps.
113
5 PEER-TO-PEER FUNCTIONALITY
1. Delete the control modules referring to the Experion Server point.parameter completely from the
Monitoring view.
Note:You can use Configuration Studio Search Tool to find the Experion Server point.parameter references
in control modules (Search is performed on project configuration and assumption is that project and monitor
configuration is almost the same)
2. Wait for 20 seconds and reload the control modules from the Project to the Monitoring view.
Note:Even, if one of the control modules referring to the Experion Server point.parameter is not deleted from
the Monitoring view, the function blocks reading the Experion Server point.parameter continues to receive the
“FAILSAFE” value. This is applicable though the corresponding control module is deleted/reloaded in the
Monitoring view.
The following scenario is applicable when the Experion Server point is deleted, recreated, and reloaded while
writing the Experion Server point.
When an Experion Server point is deleted, the function block running in one of the CEE controllers and storing
the Experion point.parameter receives “FAILSAFE” value. This is because the destination Experion Server
point is deleted. The Experion Server point writing continues to FAIL until the Experion Server point with the
same name and data type is recreated.
Communication loss between the Experion Server and non-CEE points during runtime
Consider that the CEE controllers are reading the parameter from multiple SCADA points and other Experion
Server points such as SCADA, DSA, OPC, TPS points, and so on. In this case, say parameter reading from one
of the SCADA points fails because the particular SCADA point is not functioning, the parameter reading from
the other points may also result in failure. Similarly, consider that the CEE controllers are trying to write the
parameter to multiple SCADA points and other Experion Server points. In this case, the parameter writing to
one of the SCADA points or any other points may fail because the particular SCADA point or other point is not
functioning.
114 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
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.
4. The Peer Subscription Period is used in the Peer Environment table for SUBSCPERIOD of the target node.
5. 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.
115
5 PEER-TO-PEER FUNCTIONALITY
6. 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.
7. Calculate the initiator rate for these target nodes using the formula below.
8. Initiator Rate for the connection y1 =
9. Note: The global Subscription Period value is used for SUBSCPERIOD (on the Peer Configuration tab).
10. 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] + ?
This CEE block shows the Peer Environment Table with one target node configured, ACE_TGT1, with a Peer
Subscription Period of 500mS.
ACE_TGT2 is configured to use the Global Subscription Period which is 1sec. (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.
116 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
To calculate the Initiator rate for ACE_TGT1 (CEEACEFB_TGT1), 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 ACE_TGT1 =
To calculate the Initiator rate for ACE_TGT2, 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 ACE_TGT2 =
117
5 PEER-TO-PEER FUNCTIONALITY
Attention
Note that the format used for the CPM and CEE tag names in this section is for example purposes only and does not
reflect the current default naming conventions used in Control Builder.
If Function Block Is From This Library in Control Builder . . . Then, It Can Be Used With This Control Environment . . .
CPM/CEE
(Typical Fieldbus Device vendor library.)
ACE/CEE
CPM/CEE
(Restrictions apply - loaded strategies must contain
supported blocks only.)
ACE/CEE
CPM/CEE
118 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
If Function Block Is From This Library in Control Builder . . . Then, It Can Be Used With This Control Environment . . .
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
ACE/CEE
119
5 PEER-TO-PEER FUNCTIONALITY
For this example, assume that this application includes two C200/C200E Process Controllers with CPM blocks
configured as CPM0101 and CPM0301, and their associated CEE blocks CEE0101 and CEE0301, respectively.
The remote primary loop is configured as a CM named REMCAS_PRIMARY and is assigned to CEE0101. The
local primary loop is configured as a CM named REMCAS_CM and is assigned to CEE0301.
In this example, the PID_PRIMARY and REMCAS_1 blocks have both DEF and REF relationships for peer-to-
peer communications.
120 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
Figure 10: Example of DEF and REF block functions in CB configuration using REMCAS block.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 CB builds implicit/hidden connections for BACKCAL data. In this case, CB makes a peer-to-peer
connection to the X1BACKCALOUT parameter from the REMCAS_1 block contained in another CM
named REMCAS_CM, which is assigned to CEE0301.
This means the PID_PRIMARY block is considered a REF type block and the REMCAS_1 block is
considered a DEF type block for peer-to-peer communications of the BACKCAL data.
3 The output parameter OP is to be used as the input value for the X1 parameter for the REMCAS_1 block
contained in another CM named REMCAS_CM.
This means the PID_PRIMARY block is considered a DEF type block and the REMCAS_1 block is
considered a REF type block for peer-to-peer communications of the control variable data.
4 The PID_BACKUP block represents the local or backup primary control loop for a cascade loop using the
REMCAS block. It is contained in the REMCAS_CM CM with the REMCAS_1 block. If there is a
problem with the remote primary loop, the REMCAS_1 block switches its input to the backup primary
loop.
5 The REMCAS block operates like any cascaded secondary loop except that it can switch between two
different primaries.
121
5 PEER-TO-PEER FUNCTIONALITY
Callout Description
6 A parameter connector is used to form a peer-to-peer connection to the OP parameter from the
PID_PRIMARY block contained in another CM named REMCAS_PRIMARY, which is assigned to
CEE0101. In this case, the full tag name for the parameter is REMCAS_PRIMARY.PID_PRIMARY.OP.
This means the PID_PRIMARY block is considered a DEF type block and the REMCAS_1 block is
considered a REF type block for peer-to-peer communications of the control variable data.
7 CB builds implicit/hidden connections for BACKCAL data. In this case, the BACKCAL parameter
X1BACKCALOUT is to be used as the input value for the BACKCALCIN parameter for the
PID_PRIMARY block contained in another CM named REMCAS_PRIMARY.
This means the REMCAS_1 block is considered a DEF type block and the PID_PRIMARY block is
considered a REF type block for peer-to-peer communications of the BACKCAL data.
122 www.honeywell.com
5 PEER-TO-PEER FUNCTIONALITY
123
5 PEER-TO-PEER FUNCTIONALITY
124 www.honeywell.com
6 Time Support in Experion System
Experion uses Coordinated Universal Time (UTC) which is raw time with no time zone and no daylight savings
time adjustments. UTC is stored internally in Experion and is converted to local time when shown to the user
using time zone and daylight savings time adjustments.
Whenever time is stored by Server for history and events, Server also stores bias (minutes offset from UTC
including daylight adjustment) so that local time can be reconstructed at any time in the future regardless of any
adjustments in daylight savings rules in future years, which can be expressed as
• Local Time = UTC + bias
125
6 TIME SUPPORT IN EXPERION SYSTEM
126 www.honeywell.com
6 TIME SUPPORT IN EXPERION SYSTEM
Details of NTP and its subset SNTP (Simple Network Time Protocol) are available by referencing RFC 1361 on
the Web.
Attention
BOOTP services on prior-release Servers must be disabled because they do not provide enough information.
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.
127
6 TIME SUPPORT IN EXPERION SYSTEM
TIME
Use of TIME CDPs requires attention to issues of time zone. In particular, users who create algorithms to
manipulate CDPs of type TIME must understand the Experion policy with respect to time zones and daylight
savings time. This policy is stated below.
• 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 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.
128 www.honeywell.com
6 TIME SUPPORT IN EXPERION SYSTEM
DELTATIME
Whenever a user algorithm manipulates CDPs of type DELTATIME, be that algorithm implemented as a CAB
program or as an SCM or calculator expression, behavior of the datum is simple and intuitive with respect to
HMI.
• Time zone is irrelevant to the display of DELTATIME parameters.
• DELTATIMEs are always displayed as time intervals in a format such as “DD HH:MM:SS“.
Parameter Description
Current Time Format is MM/DD/YY HH:MM:SS
(CURTIME)
Server local time communicated to the controller by Control Data Access (CDA) from Server.
Not affected by TIMEZONE and DAYLIGHTTIME
CURTIME is stored as UTC within the CEE and converted to local time when displayed at
HMI.
TIMEZONE Conversion value for controller's “local time”; must be configured once for each individual
platform
default = 0.0
Range of Values:
-12.0 to 13.0
Consult a World Map of Time zones for the appropriate value for your time zone.
Allows support for unusual case of controller physically residing in different time zone than the
Server, and interpretation of YEAR, MONTH, etc. parameters based on controller's time zone
DAYLIGHTTIME Conversion value for controller's “local time”; must be configured once for each individual
platform
default = OFF
Possible Values:
ON = Daylight savings time is active
OFF = Daylight savings time is inactive
Allows support for unusual case of controller physically residing in different time zone than the
Server, and interpretation of YEAR, MONTH, etc. parameters based on controller's time zone
YEAR “local time” for use in control strategies, including expressions IF TIMEZONE and
DAYLIGHTTIME are set to their default values, YEAR, MONTH, DAY, HOUR, MINUTE,
SECOND, WEEKDAY integer values will always be in raw UTC.
MONTH Same as above
DAY Same as above
HOUR Same as above
MINUTE Same as above
SECOND Same as above
WEEKDAY Same as above
In Windows Date/time applet, Server Time Zone Settings ‘local HOUR’ for use
is set to GMT -05:00 Eastern Time
(US & Canada)
Current time (CURTIME) = 11/02/2003 TIMEZONE = 0 HOUR will be 13
08:54:00
DAYLIGHTTIME = OFF
129
6 TIME SUPPORT IN EXPERION SYSTEM
In Windows Date/time applet, Server Time Zone Settings ‘local HOUR’ for use
is set to GMT -05:00 Eastern Time
(US & Canada)
Current time (CURTIME) = 06/12/2003 TIMEZONE = -5 HOUR will be 17
13:54:00
DAYLIGHTTIME = ON
Function Description
UtcNow current UTC time
For CAB VB.NET programs, DateTime.Now is derived from Experion synchronized time.
Time zone and daylight selection are configured through the Windows date / time applet on the
primary server which has been designated as the system time source. This configuration need
only be done on one server within the system
Now current local time
Date Time Now is based on Windows OS time services and is independent of parameters
TIMEZONE and DAYLIGHTTIME.
ToUniversalTime converts local to UTC time
ToLocalTime converts UTC to local time
It is appropriate for some applications to make use of the UTC time references, DateTime.UtcNow in the case
of CAB VB.NET and UTCNOW in the case of CEE expressions. For other applications, it is appropriate to use
the local time references, DateTime.Now in VB.NET and NOW in CEE expressions.
130 www.honeywell.com
6 TIME SUPPORT IN EXPERION SYSTEM
Related topics
“Example - Custom Algorithm Block (CAB) writes Time CDP” on page 131
“Example - Custom Algorithm Block (CAB) reads Time CDP” on page 131
“6.4.3 Example - Sequence Control Module (SCM) waits for a specified Time” on page 132
“Example - Sequence Control Module (SCM) records Time of process command” on page 132
CurrentTime = Now
CurrentHour = CurrentTime.TimeOfDay.Hours
LASTRUNTIME.Value = CurrentTime.ToUniversalTime
DoShiftCalculations()
End If
DoCapture();
End If
(The statement If DateTime.Now = CAPTURETIME.Value would not work because by the time CAB
receives the value of CAPTURETIME it is in UTC, not local time.)
131
6 TIME SUPPORT IN EXPERION SYSTEM
6.4.3 6.4.3 Example - Sequence Control Module (SCM) waits for a specified Time
To create an SCM transition that designed to wait until a time specified by an operator or supervisor
1 Setup Custom Data Block (CDB) located within a Control Module. Name the Custom Data Block CDB2.
2 Locate CDB2 in a control module called CM2. The SCM will use CDB2 within CM2 as a data repository.
3 CM2.CDB2 has a parameter called STARTTIME of type TIME. The operator will specify STARTTIME.
4 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 would not work even though the
operator enters values for STARTTIME according to the local time zone.)
6.4.4 Example - Sequence Control Module (SCM) records Time of process command
132 www.honeywell.com
7 Cold and Warm Restart Functionality
Related topics
“Overview” on page 134
“Planning” on page 136
“Configuration of Restart Behaviors” on page 140
“Warm and Cold Restart Behaviors of Cascades” on page 147
“Operations” on page 153
133
7 COLD AND WARM RESTART FUNCTIONALITY
7.1 Overview
Related topics
“CEE Initial Startup” on page 134
“CEE Restarts” on page 134
“CEE Restart Behaviors” on page 134
134 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
• 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 what kind of restart it was.
135
7 COLD AND WARM RESTART FUNCTIONALITY
7.2 Planning
Related topics
“Invariant or Variant Restart Behaviors” on page 136
“Blocks with Invariant Restart Behavior” on page 136
“Blocks with Variant Restart Behavior” on page 138
136 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
required when the outputs are referenced outside the containing Control Module. For restarts of an entire
CEE, the normal method of proper ordering of a set of related Control Modules' execution through PERIOD,
PHASE, and ORDERINCEE should be used. For agents in peer nodes referencing a gate output, or in
critical applications where Inactivation of only one of several related Control Modules needs to be tolerated,
consideration should be given to implementation the inter-Control Module references using CHECKBOOL
pairs.
Logic gate inputs and outputs are not treated as persistent state variables in CEE. Thus, they are not restored
as part of a configuration load nor saved as part of checkpoint data. On any execution, including the first
following a restart, connected gate inputs are fetched just before the output is calculated. This insures that
logic gate outputs contained within an executing control module are a function of the most currently fetched
inputs.
In the case of a load or checkpoint restore, all outputs are set to False, and inputs are set to default values
appropriate for the block type. This policy insures that output values will be at a defined, known state, after
load even if the value is read before first block execution. Thus, if an output value happens to be read by an
off node agent before first execution, it will always return False. Logic strategies must be designed so that
they are tolerant of the appearance of False valued outputs before first execution of the source block. Again,
for critical applications, it may be necessary to utilize CHECKBOOL pairs for inter-Control Module
references to fully specify behavior under all restart scenarios.
The policies governing logic gate behavior for restart and load allow strategies to be configured that allow
detection of certain types of restarts. For example if a FLAG block's PVFL is TRUE at the time as
checkpoint save, or is configured as TRUE before load, it will be restored as TRUE. If connected to an
RTRIG's IN, the RTRIG would generate a pulse only on the first restart following a restore. In all cases this
type of implementation is not recommended. If detection of various restart types is required, it should only
be implemented using the STARTSIGNAL block.
• Non-Logic Blocks that maintain state/history: initialize to current inputs from infinite past
A non-logic block which accumulates state or history in response to inputs initializes at first execution in
such a manner that current output is consistent with current inputs as if those inputs had been applied
infinitely in the past.
Examples of blocks which follow this rule are DATAACQ (filter state is initialized to current input upon all
restarts), LEADLAG (difference equation state is set to zero or to match input upon all restarts),
DEADTIME (delay queue is initialized to current input upon all restarts), DELAYTIME (shift register is
initialized to current input upon all restarts).
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.
137
7 COLD AND WARM RESTART FUNCTIONALITY
138 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
139
7 COLD AND WARM RESTART FUNCTIONALITY
Related topics
“CEE Block” on page 140
“Control Module (CM)” on page 140
“Control Module Function Blocks” on page 141
“Logic Blocks” on page 141
“Sequential Control Module (SCM)” on page 142
“Summary Of SCM Restart Behavior” on page 144
“Supporting SCM Functionalities” on page 145
“SCM Blocks” on page 146
140 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
PVEQN Bad Input Handling Warm Restart Handling Cold Restart Handling
EQA Stop accumulation while input is Continue after input turns valid. Set PV to bad and stop accumulation.
bad.
(default)
EQB Use last good value if input is bad. Continue after input turns valid. Set PV to bad and stop accumulation.
EQC Stop if the input is bad and set PV Continue after input turns valid. Set PV to bad and stop accumulation.
to NaN.
EQD Stop accumulation while input is Set PV to bad and stop Set PV to bad and stop accumulation.
bad. accumulation.
EQE Use last good value if input is bad. Set PV to bad and stop Set PV to bad and stop accumulation.
accumulation.
EQF Stop if the input is bad and set PV Set PV to bad and stop Set PV to bad and stop accumulation.
to NaN. accumulation.
Auxiliary Totalizer
All restart behavior of the AUXILIARY TOTALIZER block is equivalent to that of the PULSEINPUT
PITOTALIZER block.
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 “puls” 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.
141
7 COLD AND WARM RESTART FUNCTIONALITY
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 Description
RESTART 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 cycle following a load of the
parent control module.
• CMACTIVE - Holds CMACTIVEFL true for the first execution cycle following
inactivation and then activation of the parent control module.
• CEECOLD -Holds CEECOLDFL true for the first execution cycle following cold start of
the CEE.
• CEEWARM -Holds CEEWARMFL true for the first execution cycle following warm start
of the CEE.
• CEESWITCH - Holds CEESWITCHFL true for the first execution cycle following
redundant switchover of the CEE on a C200/C200E.
• ANYRESTART - Holds ANYRESTARTFL true for the first execution cycle if any of the
preceding flag parameters are true.
It is possible for more than one transition to occur between the time that a control module
stops executing and the time that it restarts. For this reason, there is a priority built into the
values of parameter RESTART. This priority insures that the strongest initialization signal is
the one which will be seen. The priority for RESTART values is CMLOAD > CMACTIVE >
CEECOLD > CEEWARM > CEESWITCH > NONE.
There is no implied priority or mutual exclusivity among the flag parameters. Consider a
scenario in which the CEE starts out in idle, the control module is loaded, the control module
is activated, then the CEE is warm started. On first execution of the control module
parameters CMLOADFL, CMACTIVEFL, CEEWARMFL and ANYRESTARTFL will be
True. Parameters CEECOLDFL and CEESWITCHFL will be False. Parameter RESTART
will have the value CMLOAD.
Parameter RESTART may be displayed on the symbol faceplate of block RESTART for monitoring purposes
but it will only show a value other than NONE until first execution.
Parameter RESTART may be used to drive initializations within the control module but in many cases it will be
more convenient to use one of the associated Boolean-valued flag parameters.
142 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
• 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
143
7 COLD AND WARM RESTART FUNCTIONALITY
by SCM expressions. Whatever the value of CEERESADDR[ ] is at restart, the SCM will resume execution at
that step within the Main handler unless the operator commands execution to start at a different handler.
CEERESADDRN[ ]
The CEERESADDR[ ] parameter may be explicitly changed by SCM expressions, but not through direct
assignment to parameter CEERESADDR[ ]. This is because CEERESADDR[ ] has type BlockId which is not
supported in SCM expressions. A parallel parameter named CEERESADDRN[ ] of integer type is supported.
The CEERESADDRN[ ] parameter is a mirror image of parameter CEERESADDR[ ]. Thus, CEERESADDR[]
and CEERESADDRN[] work in tandem. Anytime one of these parameters changes, the change is reflected in
the other parameter automatically.
To change the values of CEERESADDR[ ] and CEERESADDRN[ ] by writing from a step output, the syntax
would be as shown in the following example.
• SCM1.CEERESADDRN[1] := SCM1.Step2.NUM
144 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
EXCMODEOPT
The SCM parameter EXCMODEOPT maintains its pre-existing meaning. Its corresponding behavior can be
relevant to cold restart scenarios as noted in the following table.
145
7 COLD AND WARM RESTART FUNCTIONALITY
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
146 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
Related topics
“Definitions” on page 147
“Regulatory Cascades” on page 147
“CEE to CEE Cascades” on page 148
“CEE to Legacy Cascade when Node hosting Primary is restarted” on page 150
“CEE to EHPM FTE Cascade” on page 151
“CEE to Legacy Cascade when Node hosting Secondary is restarted” on page 151
“RegCtl Cascades when Node hosting the Primary is restarted” on page 151
“Cascades through UCNIF: UCNOUT/EUCNOUT” on page 152
7.4.1 Definitions
CEE-to-CEE Cascade - a cascade relationship in which the primary is located within the CEE-ACE or CEE-
C200/C200E and the secondary is located within a CEE-ACE or, CEE-C200/C200E or within an IOP presented
by an IOLIM. The primary is always a CEE regulatory control block. The secondary may be a regulatory
control block or a direct analog output block (or slot). CEE-to-CEE Cascades can be local (primary and
secondary located within the same EE) or peer-peer (primary and secondary located in different EEs).
CEE-to-Legacy Cascade - a cascade relationship in which the primary is located within the CEE-ACE and the
secondary is located within a legacy controller presented by an interface gateway or bridge. The primary is
always a CEE regulatory control block assisted by a special purpose interface block. The secondary may be a
regulatory control block or direct analog output located in an XPM accessed through a TPN Server and one or
more additional gateways. It may be a regulatory control block or direct analog output located in a TDC2000
Hiway box accessed through a TPN Server and one or more additional gateways.
CEE-to-EHPM FTE Cascade - a cascade relationship in which the primary is located within the CEE-ACE or
CEE-C300 and the secondary is located within a legacy controller presented by an EHPM FTE. The primary is
always a CEE regulatory control block assisted by a special purpose EUCNOUT interface block. The secondary
may be a regulatory control block or direct analog output located in an EHPM accessed through FTE.
147
7 COLD AND WARM RESTART FUNCTIONALITY
2. Do not resume automatic control until there has been some form of acknowledgement from a human
operator.
Which of these two behaviors applies depends on:
• the nature of the cascade relationship
• the type of node hosting the primary
• the type of node hosting the secondary
• how the node coming back from shutdown is restarted
When the node undergoing the restart is an ACE or C200/C200E and it is hosting the cascade primary then the
CEE generally responds as follows according to restart type.
• Warm Restart
All cascades resume processing under the mode that applied before shut down.
• Cold Restart
Cascades in which the secondary is another regulatory block resume processing under the mode that applied
before shut down. Cascades in which the secondary is a direct analog output shed to manual and do not
resume automatic control until the operator changes mode.
While the above description conveys a guiding principle, actual behavior can be different depending on the type
of node which hosts the cascade secondary. Behavior is as described above when the secondary is hosted by an
ACE, C200/C200E or IOLIM. If the secondary is presented by a different type of node (for example a TPN
Server) the behavior can be different.
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.
148 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
mode of secondary after its host node restarts which refers to the behavior induced in the upstream controller
by the remote secondary as the primary restarts.
Following are the example scenarios:
• When the secondary is in Manual or Auto mode, at the conclusion of primary recovery, the primary will be
held in initialization.
• 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 will shed to Manual.
• When the primary recovers and the communication is not restored to downstream secondary, eventually the
primary will detect communication failure and will shed based on the loss of communication.
• When configured with Shed Primary Mode on Secondary Fault
The secondary AO block has no mode. Primary RegCtl sheds mode to manual on first detection of
communication failure with secondary. Primary RegCtl awaits mode change by operator before initializing
and resuming automatic control.
The following table enumerates the types of events which cause each of the 4 behaviors listed above.
Cascade Primary RegCtl Cascade Secondary type and Event Functional Behavior of
location location Cascade
RegCtl block in ACE1 RegCtl block in ACE Shutdown and cold restart at Recall Primary Mode
primary.
RegCtl block in C200/ Shutdown and cold restart at Recall Primary Mode
C200E primary.
AO block in C200/C200E Shutdown and cold restart at Shed Primary Mode.
primary.
AO point under C200/ Shutdown and cold restart at Shed Primary Mode.
C200E IOLIM primary.
RegCtl block in C200/C200E RegCtl block in ACE Shutdown and cold restart at Recall Primary Mode
primary.
RegCtl block in C200/ Shutdown and cold restart at Recall Primary Mode
C200E primary.
AO block in C200/C200E Shutdown and cold restart at Shed Primary Mode.
primary.
AO point under C200/ Shutdown and cold restart at Shed Primary Mode.
C200E IOLIM primary.
RegCtl block in ACE1 RegCtl block in ACE Shutdown and warm restart Recall Primary Mode
at primary
RegCtl block in C200/ Shutdown and warm restart Recall Primary Mode
C200E at primary
AO block in C200/C200E Shutdown and warm restart Recall Primary Mode
at primary
AO point under C200/ Shutdown and warm restart Recall Primary Mode
C200E IOLIM at primary
RegCtl block in C200/C200E RegCtl block in ACE Shutdown and warm restart Recall Primary Mode
at primary
RegCtl block in C200/ Shutdown and warm restart Recall Primary Mode
C200E at primary
AO block in C200/C200E Shutdown and warm restart Recall Primary Mode
at primary
149
7 COLD AND WARM RESTART FUNCTIONALITY
Cascade Primary RegCtl Cascade Secondary type and Event Functional Behavior of
location location Cascade
AO point under C200/ Shutdown and warm restart Recall Primary Mode
C200E IOLIM at primary
RegCtl block in ACE1 RegCtl block in ACE Shutdown and any recovery Hold Primary Mode Across
at secondary Secondary Fault
RegCtl block in C200/ Shutdown and any recovery Hold Primary Mode Across
C200E at secondary Secondary Fault
AO block in C200/C200E Shutdown and any recovery Shed Primary Mode On
at secondary Secondary Fault
AO point under C200/ Shutdown and any recovery Shed Primary Mode On
C200E IOLIM at secondary Secondary Fault
RegCtl block in C200/C200E RegCtl block in ACE Shutdown and any recovery Hold Primary Mode Across
at secondary Secondary Fault
RegCtl block in C200/ Shutdown and any recovery Hold Primary Mode Across
C200E at secondary Secondary Fault
AO block in C200/C200E Shutdown and any recovery Shed Primary Mode On
at secondary Secondary Fault
AO point under C200/ Shutdown and any recovery Shed Primary Mode On
C200E IOLIM at secondary Secondary Fault
Notes:
1. When you shutdown the ACE, you do not have an ACE block that you can issue COLDSTART, IDLE or
WARMSTART command to unless you load the ACE. ACE does not support RAM retention startup or redundancy.
Only in this case, ACE comes up as IDLE.
150 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
151
7 COLD AND WARM RESTART FUNCTIONALITY
152 www.honeywell.com
7 COLD AND WARM RESTART FUNCTIONALITY
7.5 Operations
Across Experion 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 Supports Warm Start Idle Supports Cold Start Idle to Supports Generic Idle to Run
Activation to Run Transition Run Transition Transition
CM Yes No No No
IOM Yes No No No
CEE No Yes Yes No
IOLIM EE No No No Yes
FIM EE No No No Yes
Because of the different types of startup transitions supported across different Experion subsystems, the HMI
which issues startup commands includes Restart functionality. The following principles apply:
• “Activation” applies only to CMs, SCMs and IOMs
• “Run”, “Warm Start“ and “Cold Start“ are applied, as appropriate, to the idle to run transition of Execution
Environments
153
7 COLD AND WARM RESTART FUNCTIONALITY
154 www.honeywell.com
8 External OPC Server Support
Related topics
“OPC Data Access” on page 156
“OPC Data References” on page 157
“OPC Data Type Conversions” on page 160
“ACE interface to TPS system as OPC server” on page 164
155
8 EXTERNAL OPC SERVER SUPPORT
Related topics
“OPC Server function block” on page 156
“OPC client/server data flow” on page 156
156 www.honeywell.com
8 EXTERNAL OPC SERVER SUPPORT
Related topics
“OPC Data Name Syntax” on page 157
“Parameter connectors only” on page 157
“OPC references in expressions” on page 158
“OPC references in SCM Alias table” on page 158
“Validation of OPC references” on page 159
157
8 EXTERNAL OPC SERVER SUPPORT
With R400, the OPC parameter, which is referenced through the OPC gateway, appears as a hyperlinked
parameter. This enables you to navigate to the configuration form of the corresponding tagged block.
Attention
Expressions support the single quote character, ‘, as a special delimiter that can be used to surround the OPC Server
namespace portion of an external/OPC reference.
For example, OPCTag.‘tag.Param(1)’ can be used so that the parenthesis characters do not confuse the expression
parser.
158 www.honeywell.com
8 EXTERNAL OPC SERVER SUPPORT
• Choose either the External Reference (EXTREF) or the External Reference Structure (EXTREFSTRUCT)
parameters of the OPC server block for the given Alias.
– 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.
159
8 EXTERNAL OPC SERVER SUPPORT
Related topics
“Gets conversions” on page 160
“General data conversion considerations” on page 161
“Stores conversions” on page 162
160 www.honeywell.com
8 EXTERNAL OPC SERVER SUPPORT
Table 4: Keep the following considerations in mind when dealing with data conversions.
From BOOL UINT8 UINT INT8 INT ENUM SD_ENUM FLOAT STRING TIME
UINT16 INT16
To 64 64 32 FLOAT
UINT32 INT32
64
BOOL Yes Yes Yes Yes Yes Yes Yes No No
UINT8 Yes Yes Yes Yes Yes Yes Yes No No
UINT16 Yes Yes Yes Yes Yes Yes Yes No No
UINT32 Yes Yes Yes Yes Yes Yes Yes No No
UINT64 Yes Yes Yes Yes Yes Yes Yes No No
INT8 Yes Yes Yes Yes Yes Yes Yes No No
INT16 Yes Yes Yes Yes Yes Yes Yes No No
INT32 Yes Yes Yes Yes Yes Yes Yes No No
INT64 Yes Yes Yes Yes Yes Yes Yes No No
FLOAT Yes Yes Yes Yes Yes Yes Yes No No
32
FLOAT Yes Yes Yes Yes Yes Yes Yes No No
64
STRING No No No No No No No Yes No
TIME No No No No Yes No No No Yes
EXTREF_ No No No No No No No No No
STRUCT
• Be aware that downcasting occurs when conversions involve a type that supports a wider range of values to
a type with a more narrow range of values.
– For example, an INIT16 value of 333 is converted to UNIT8 value of 255.
– For example, an INT32 value of 100,000 is converted to the maximum Enumeration value of 65,535.
The function block that receives the Enumeration ordinal of 65,535 will likely reject this value, since it is
out of range for the applicable Enumeration parameter. This is consistent with the current behavior where
an out of range store to an Enumeration parameter does not cause the destination parameter to assume
the failsafe value.
– For example, an OPC server data type of Integer is connected to a PID block's MODE parameter. If the
Integer value is 7 at run time, the MODE parameter rejects the value because it is outside the MODE
enumeration range of 0 to 5.
• Float to integer conversions use truncation instead of rounding. For example, a Float of 3.75 is converted to
the Integer 3.
• The underlying type for system Boolean values is unsigned character. Since the underlying type for Boolean
external references cannot be assumed, all external Boolean references are converted in the context of the
system, which uses 0 for False and 1 for True. For example:
– Boolean True converts to Integer 1 or Float 1.0
– Boolean False converts to Integer 0 or Float 0.0
161
8 EXTERNAL OPC SERVER SUPPORT
For example, if the OPC1.InterlockA.Active parameter used as the input to an AND block in the previous figure
in section “Parameter connectors only” on page 157 returns a Boolean, Integer, or Float data type at run time,
the appropriate conversion is made and the data get is completed successfully. If the OPC1.InterlockA.Active
parameter returns a String data type, the Boolean failsafe value of Off is applied to the AND block input.
162 www.honeywell.com
8 EXTERNAL OPC SERVER SUPPORT
The ACE supervisory controller supports the UCNOUT block, PUSH block, and SCM Step Output expressions
for initiating stores to the OPC server.
163
8 EXTERNAL OPC SERVER SUPPORT
Added ACE Function With HCI Server What the Added Functions Provides
Experion server to TPS system access Access levels for stores from Control Strategies loaded in ACE supervisory
level propagation controller to a TPN server in APP node are sent along with the data. The
Sequential Control Modules (SCMs) in Control Strategies use Program access
level, while other function blocks like the UCNOUT block use a Continuous
Control access level. Since the access level definitions for an Experion system and
a TPS system are consistent, no translation is necessary.
Redirection Server When the Redirection Server is installed on the ACE node, the CDA-sp interfaces
to it just like a remote HCI server. As long as the OPC server block configured in
Control Builder identifies the HCI Redirection Server, the HCI Redirection
capabilities are used.
Tip
The additional HCI related functions are transparent to the Control Modules and Sequential Control Modules in
control strategies that are executing in the ACE supervisory controller. No changes are required in control strategy
configurations through Control Builder whether the OPC server being accessed supports HCI or not.
164 www.honeywell.com
9 System Namespace Workaround
Related topics
“Inter-Cluster Communication” on page 166
“Using the Inter Cluster Gateway for Communication between Experion Clusters” on page 167
“Remote EEOUT (REEOUT) Function Block” on page 170
165
9 SYSTEM NAMESPACE WORKAROUND
166 www.honeywell.com
9 SYSTEM NAMESPACE WORKAROUND
The ACE interconnections possible using the OPCG, ICG, and the REEOUT, UCNOUT, EHGOUT, and
HIWAYOUT function blocks are summarized in the following table:
When communicating between Experion clusters, it is required that the Inter Cluster Gateway block is
configured and loaded in the secondary Experion cluster. The primary Experion cluster only requires that an
OPC Gateway block is used. The primary Experion cluster could also use an ICG block if there is a need for bi-
directional control cascade or data transfer.
In the primary Experion cluster, the OPC Gateway block needs to be activated in order to enable
communication. The secondary Experion cluster's ICG block makes data available as soon as it is loaded. It
only needs to be activated if it is also being used as a client.
167
9 SYSTEM NAMESPACE WORKAROUND
Without the use of Inter Cluster Gateway, the OPC Gateway block can be connected to the Experion OPC server
in another Experion cluster to access data. The following table shows when an ICG might be needed.
Both Experion clusters can contain an ICG if there is a need for bi-directional control cascade or data transfer,
as shown in the following figure.
168 www.honeywell.com
9 SYSTEM NAMESPACE WORKAROUND
169
9 SYSTEM NAMESPACE WORKAROUND
170 www.honeywell.com
10 Controller Redundancy Functionality
Related topics
“Basic Redundancy Design Concepts” on page 172
“Implications for Control Builder Functions” on page 176
171
10 CONTROLLER REDUNDANCY FUNCTIONALITY
The goal of Controller redundancy is to improve the availability of the Controller to perform its assigned control
functions. The RCP does this by providing a pair of Controller chassis so a component failure in one chassis
switches the handling of the assigned control functions to the other chassis. This is considered a dual redundant
system, which is characterized by the following two main redundancy states.
• Primary - Refers to the chassis executing the assigned control functions.
• Secondary - Refers to the chassis in some state of readiness to assume the responsibilities of the Primary.
172 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
The ability of a Secondary chassis to take over the assigned control functions of the Primary depends upon
which one of the following readiness states reflects its current state.
Attention
When any failure that results in a switchover occurs in a Secondary, the Secondary chassis/FIM loses synchronization.
In addition to the failure conditions, these events are reported as diagnostic notifications:
• Loss of view of redundant partner on H1 network (applies to FIM link).
• Loss of private path connection from Primary to Secondary (lonely event).
173
10 CONTROLLER REDUNDANCY FUNCTIONALITY
174 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
175
10 CONTROLLER REDUNDANCY FUNCTIONALITY
Related topics
“Redundant C200/C200E CPM configuration” on page 176
“RM configuration” on page 176
“RM monitoring” on page 177
“RM/RCP dialog box” on page 177
“Main tab” on page 178
“Summary tab” on page 178
“RM Profiles tab” on page 180
“Configuration tab” on page 182
“Synchronization tab” on page 183
“Chassis Profiles tab” on page 186
“Display tab” on page 187
“Server History tab” on page 188
“Server Displays tab” on page 190
“Auto-Synchronization events” on page 191
10.2.2 RM configuration
You can configure the RM block and its partner RM through the Main tab in the RM/RCP dialog box in the
Control Builder Project tree view only. The corresponding redundant RM icons appear in the Project view.
Refer to Creating Redundancy Modules in the Control Building Guide for block configuration details.
While the Configuration tab in the RM/RCP dialog box in Control Builder Project view shows the default
values as Never for Auto-Synchronization and DISABLED for Program Command Recognition, these values
are not written to the RM when the RM block is loaded from the Project view.
For a fully functional pair of RMs, some configuration changes applicable to both RMs can be made through the
dialog box for either RM in the Monitoring view. In either case, the Primary RM eventually receives and
executes the request, and directs the Secondary to make the same change. If the partner RM is not present, the
local RM makes the changes regardless of the redundancy state.
You can also configure Description and Keyword text strings for use with Station displays through the RM
profiles tab in the RM/RCP dialog box in the Project view only. You must call up the RM/RCP dialog box for
the Primary RM to enter the text strings in the applicable Primary fields on the RM profiles tab. You must call
up the RM/RCP dialog box for the Secondary RM to enter the text strings in the applicable Secondary fields on
the RM profiles tab. These entries are written to the appropriate RM when the given RM block is loaded from
the Project view.
The RM overwrites the unassigned Chassis ID parameter at power up to be Chassis_A, if its redundancy state is
Primary; or Chassis_B, if its redundancy state is Secondary. You can toggle the chassis ID assignment through a
button on the Configuration tab or the Display tab in the RM/RCP dialog box.
176 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
10.2.3 RM monitoring
You can view relevant information about the operation of the RMs and the RCP and issue online commands
through the RM/RCP dialog box in the Control Builder Monitoring tree view. You only need to double-click the
Primary or Secondary icon for a loaded RM in the Monitoring tree view to call up the RM/RCP dialog box. As
shown in following figure, the dialog box includes nine different categories of information under separately
labeled tabs.
Tip
The Identification, Dependencies, and Template Defining tabs only appear when the optional Template license is
activated.
The following paragraphs give a brief description of the functions associated with the RM/RCP dialog box and
each of its tabs.
177
10 CONTROLLER REDUNDANCY FUNCTIONALITY
– DISQUALIFIED: Secondary is present and disqualified for operation as the Primary. It cannot assume
the role of the Primary.
– SYNCHRONIZED: Secondary is synchronized with the Primary. It can now assume the role of the
Primary.
– STANDBY: Secondary is not synchronized but it can assume the role of the Primary. This state is not
available in R120.
• Secondary - Relates physical hardware data for chassis identification (Chassis_B) and RM serial number to
the Secondary redundancy state.
If a switchover occurs, the data in the Primary and Secondary boxes change places.
178 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
• Auto-Synchronization - This refers to the ability of the RCP to synchronize without user intervention. This
is only applicable when the Auto-Synchronization state is Enabled and an Auto-Synchronization event is
triggered.
– Option: Shows the current configuration status and provides these on-line configuration selections.
ALWAYS - Auto-Synchronization State is always Enabled.
NEVER - Auto-Synchronization is always Disabled
CONDITIONAL - Auto-Synchronization is Enabled upon receipt of any valid Initiate Synchronization
command; or Disabled upon receipt of any valid Disqualify Secondary command.
– State: Shows the current Auto-Synchronization state.
ENABLED: An RM with a Disqualified Secondary will attempt to synchronize the Secondary when it
receives any Auto-Synchronization event trigger.
DISABLED: An RM ignores any Auto-Synchronization event trigger.
• Synchronize Secondary Button - Lets you send a synchronize command to the RM. If a Primary RM with a
Disqualified Secondary accepts the command, it attempts to synchronize with its partner.
• Disqualify Secondary Button - Lets you send an abort synchronization command to the RM. If a Primary
RM with a Qualified Secondary accepts the command, it aborts synchronization with its partner.
• Swap Control Button - Not active for R120.
• Swap to Standby Button - Not active for R120.
• Become Primary Button - Lets you send a change to Primary command to the RM. If a Disqualified
Secondary RM with no partner (Primary not visible) accepts the command, it switches to the Primary state.
179
10 CONTROLLER REDUNDANCY FUNCTIONALITY
• Chassis Synchronization States - Provides a status overview of the synchronization activity on a module by
module basis.
– Slot: Numbered reference to the ICP chassis slot location.
– % Complete: Shows status of synchronization effort for a module pair as a percentage (0 to 100).
Modules synchronize at different rates. For example, a CPM can take as long as a minute to synchronize.
The RM always shows 0%, since it does not perform a configuration data exchange during
synchronization. The RMs synchronize their configurations at startup (or reconnect) and whenever a
configuration change occurs.
– Module: Identifies the module installed in a given slot with an abbreviation.
UNK - Unknown
- - - No module present
CPM - Control Processor module
CNI - ControlNet Interface
RM - Redundancy Module
– Compatibility: Shows module compatibility with respect to its partner.
UNDEFINED: No module, no partner, or not yet assessed. (Note that the second slot for a doublewide
module is shown as UNDEFINED.)
INCOMPATIBLE: Modules have detected an incompatibility in one or more of these attributes.
Honeywell ID
Product Type
Product Code
Revision
FULLY: Modules are compatible. It is possible that minor module differences do not warrant
incompatibility. If versions differ, the newer version is programmed to make this determination. .
– Initiate Switchover Button - Lets you send a switchover command to the RM. If a Primary RM with a
Qualified (Synchronized) Secondary accepts the command, it immediately initiates the switchover.
180 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
181
10 CONTROLLER REDUNDANCY FUNCTIONALITY
NEVER
CONDITIONAL
– Auto-Sync State: Shows current state for Auto-Synchronization relative to an event trigger - See
Summary tab for more details.
ENABLED
DISABLED
– Program Cmnd: Shows current configuration selection for allowing the RM to accept program
commands from a controller module.
ENABLED - RM accepts all valid commands from a Control Processor module.
DISABLED - RM rejects any command from a Control Processor module and generates an error
message.
– Error Code: Shows any detected error code in the format EXXX. Where XXX represents an
alphanumeric code.
– Fault Bits: Shows status of four severity fault flags in the RM. A checkmark in a box indicates an active
fault.
• Chassis Pair - Includes configuration selections for Auto-Synchronization and Program Commands.
– Auto-Synchronization Option: Shows current option selection and lets you make another selection. See
the Summary tab for Auto-Synchronization details.
182 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
ALWAYS
NEVER
CONDITIONAL
– Program Command: Shows current command selection and lets you make another selection. See the RM
Profiles tab for Program Command details.
ENABLED
DISABLED
• Chassis ID - Shows current chassis ID position relative to Primary (Chassis_A) and Secondary (Chassis_B)
for given RM serial number.
– RM Serial Number: Lists unique identification number assigned to given RM.
– Chassis ID: Shows display position relative to Primary and Secondary states as Chassis_A and
Chassis_B, respectively.
• Toggle Chassis ID Button - Lets you send a Toggle Display command to the RM. It switches the chassis ID
labels between two RM serial numbers.
183
10 CONTROLLER REDUNDANCY FUNCTIONALITY
• Recent Synchronization Attempts - Lists the result and cause for the four most recent synchronization
attempts.
– Order: Shows the chronological order of the data as follows.
N… Most recent data
N-1 Second most recent data
N-2 Third most recent data
N-3 Fourth most recent data
– Result: Shows the result of the synchronization attempt.
NOATTEMPT - Indication of an empty location in the Result log. Usually only seen soon after an RM
startup, when the RM doesn't have enough Synchronization attempts to fill its log.
SUCCESS - Indication that attempt resulted in RCP reaching full synchronization. ABORT - Indication
that attempt was aborted.
– Cause: Shows a message that identifies the possible cause for the result of the given recent
synchronization attempt. The following table lists the cause messages and gives a brief description of
each for reference.
184 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
185
10 CONTROLLER REDUNDANCY FUNCTIONALITY
• Primary/Secondary - Provides a status overview of the RCP activity on a module by module basis for the
given chassis.
– Module: Identifies the module installed in a given slot with an abbreviation.
UNK - Unknown
- - - No module present
CPM - Control Processor module
CNI - ControlNet Interface
RM - Redundancy Module
– Gen State: Shows the general operational state of the given module.
186 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
UNDEFINED - General state of the module has not yet been assessed.
STARTUP - Module in process of startup.
RELOAD - Module firmware in reload cycle.
FAULT - Module in fault state.
OK - Module is fully operational.
– See Readiness - Shows readiness of Secondary chassis to assume the role of the Primary if a switchover
occurs. The possible readiness states are:
UNDEFINED: Insufficient data to assess readiness. This is generally a startup state.
NOPARTNER: Partner (Secondary) is not visible through RM-to-RM private path and cannot assume the
role of the Primary.
DISQUALIFIED: Secondary is present and disqualified for operation as the Primary. It cannot assume
the role of the Primary.
SYNCHRONIZED: Secondary is synchronized with the Primary. It can now assume the role of the
Primary.
STANDBY: Secondary is not synchronized but it can assume the role of the Primary. This state is not
available in R120.
– Compatible: Shows module compatibility with respect to its partner.
UNDEFINED: No module, no partner, or not yet assessed. (Note that the second slot for a doublewide
module is shown as UNDEFINED.)
INCOMPATIBLE: Modules have detected an incompatibility in one or more of these attributes.
Honeywell ID
Product Type
Product Code
Revision
FULLY: Modules are compatible. It is possible that minor module differences do not warrant
incompatibility. If versions differ, the newer version is programmed to make this determination. .
187
10 CONTROLLER REDUNDANCY FUNCTIONALITY
188 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
Control Level - A system wide configuration parameter for Experion Server to limit control over selected
display data in Station. A control level can be any number from 0 to 255. An operator can only control a point if
their assigned control level is equal or greater than the assigned Control Level. The default value is 200.
Control Area - A system wide configuration parameter for Experion Server to restrict access to data in Station.
Number of History Parameters - Defines the number of history parameters to be included in the History
Configuration table. Key in the desired number from 1 to 25 and press <Enter> to initiate changes in the Table.
Parameter - Enter a valid parameter name for a parameter associated with the given point that is to be collected
and stored as historical data at predetermined intervals. You can enter up to 25 different parameters for this
given point.
Description - This read-only field provides a brief description of the entered parameter.
FAST - Check box lets you select the Fast type of history collection.
STD - Check box lets you select the Standard type of history collection.
EXTD - Check box lets you select the Extended type of history collection.
EXC - Check box lets you select the Exception type of history collection.
Gating Parameter - Enter an optional gating parameter to define the conditions under which data for this
parameter should be collected. This field is only active when associated valid parameter and history type are
configured.
Gate State - Defines the gate state for the configured gating parameter. This field is only active when a gating
parameter is configured.
189
10 CONTROLLER REDUNDANCY FUNCTIONALITY
Point Detail Page - Links the RM data to a Detail display template for Station. The default display file name is
sysDtlRMA.dsp
Associated Display - Links a custom schematic created in Display Builder to the RM Detail display. Enter page
number or file name assigned to the custom graphic in Display Builder.
Group Detail Page - Links RM faceplates to a Group display template for Station. The default display file name
is sysGrpRMA.dsp.
Number of Trends - Defines the number of trend parameters to be included in the Trends Configuration table.
Key in the desired number from 1 to 25 and press <Enter> to initiate changes in the Table.
Trend # - Key in the desired Trend # (Number) to be associated with this trend parameter. Trend set displays are
standard Station displays that provide a way of viewing historical data for points. Trend set displays
complement other types of displays that can be used to view historical data such as point detail trends, group
trends, and custom display trends.
Pen - Defines the color of the pen that will be used to trace the assigned parameter on the Station Trend display.
Trend Parameter - Enter a valid parameter name for a parameter associated with the given point that is
configured for history collection. When a point parameter has been configured for history collection, it is
sampled and stored in the server database history files. The Trend displays show the history data contained in
these files. You can include this point as a member of up to 10 trends.
Description - This read-only field provides a brief description of the entered parameter.
190 www.honeywell.com
10 CONTROLLER REDUNDANCY FUNCTIONALITY
Number of Groups - Defines the number of group parameters to be included in the Groups Configuration table.
Key in the desired number from 1 to 25 and press <Enter> to initiate changes in the Table.
Group # - Key in the desired Group # (Number) to be associated with this group parameter. Group displays are
single Station displays that provide a way of viewing up to eight related points. Each group display can contain
a mixture of point types.
Pos - Defines the number of the position the configured parameter will occupy in the Station Group display.
Group Parameter - Enter a valid parameter name for a parameter associated with the given point that is
configured in the system. You can include this point as a member of up to 10 groups.
Description - This read-only field provides a brief description of the entered parameter.
191
10 CONTROLLER REDUNDANCY FUNCTIONALITY
192 www.honeywell.com
11 Control Mode Shed on Loss of I/O Functionality
Related topics
“Basic Control Mode Shed Design Concepts” on page 194
“Option to specify a time delay for the REGCTL blocks to shed the mode” on page 196
“Implications for Operation” on page 202
“Remote Cascade function between Controllers” on page 203
193
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
Attention
These common actions do not break the communications path or initiate a control mode shed:
• Activating/inactivating the IOM block.
• Activating/inactivating the CEE that contains the IOM block.
• Activating/inactivating the Control Module that contains an associated AOCHANNEL or PWMCHANNEL block.
For example, if the Analog Output module associated with the AO_SECONDARY block in the typical cascade
control strategy shown below is removed from the chassis, the control MODE of the connected
PID_SECONDARY block would shed to MAN (Manual). You could observe this action take place through the
Monitoring tab in Control Builder or the associated Detail display in Station.
194 www.honeywell.com
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
195
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
11.2 Option to specify a time delay for the REGCTL blocks to shed the
mode
With R400, you can specify a time delay for the regulatory control blocks to shed the control mode in the event
of an IO communication loss.
Note that this functionality is applicable to all the regulatory control blocks which supported the mode shed
functionality prior to R400.
You can select one of the following options in the event of an IO communication loss.
• Shed the mode to MANual immediately after an IO communication loss (existing functionality).
• Shed the mode to MANual after a specified time delay (0 to 60 seconds).
• Do not shed the mode at all after an IO communication loss.
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” on
page 197.
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” on
page 196.
11.2.1 Enabling the option of specifying time delay for REGCTL blocks to shed the mode
The complete functionality of specifying time delay for the regulatory control blocks to shed the mode in the
event of an IO communication loss can be optionally enabled. This is accomplished through a new parameter
BADOCOPTENB. The available values for the BADOCOPTENB parameter are as follows:
• Enable - When this parameter is enabled, you can specify the time delay for the regulatory control blocks to
shed their mode.
• 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 default value of the BADOCOPTENB parameter is “Disable”.
Note: Only the users with an AppDevOnly access level can change the BADOCOPTENB value. Also, you can
change the BADOCOPTENB value only from the Project view before loading the CM.
Attention
The BADOCOPT parameter is available for configuration only if the BADOCOPTENB parameter is enabled.
Refer to the Control Builder Parameter Reference document for more information on the BADOCOPT and
BADOCOPTENB parameters.
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).
196 www.honeywell.com
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
197
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
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.
198 www.honeywell.com
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
199
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
200 www.honeywell.com
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
The following figure displays the detail display of the Alarms tab of a regulatory control block.
201
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
Related topics
“Resetting mode after I/O communications are restored.” on page 202
“Allowing Redundancy synchronization with lost I/O communications” on page 202
202 www.honeywell.com
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
203
11 CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY
204 www.honeywell.com
12 Enhancements to MODE behavior of the regulatory
control blocks
Starting from Experion R430, project engineers can set the MODE behavior of the regulatory control blocks to
go to Manual mode or the configured mode upon controller download, last saved mode upon Checkpoint
Restore, and last mode upon RAM Retention Restart (RRR). To accomplish this, a new parameter
MODESTARTMAN is introduced on the Main page of the regulatory control blocks.
The behavior of the MODE parameter of the regulatory control blocks is decided by the following parameters.
These parameters take the priority in the order in which they are listed .
• MODESTARTMAN (Load and Start MODE in Manual)
• CEESTARTOPT (CEE Restart Option)
• RRRCEESTATERAM (Retention Restart CEESTATE)
If the MODESTART parameter is enabled, this always takes the priority.
Prior to R430, the MODE parameter of the regulatory control blocks was set to the configured mode after
download. In case of RRR, the MODE parameter was set to the last saved mode which was then followed by a
Cold Start or a Warm Start, depending on the RRRCEESTATE and the CEESTARTOPT parameter. This
behavior is not desirable as it possesses safety risks such as valves being unintentionally open.
205
12 ENHANCEMENTS TO MODE BEHAVIOR OF THE REGULATORY CONTROL BLOCKS
Attention
• The MODESTARTMAN parameter is not applicable for the following blocks:
– REEOUT block
– RAMPSOAK block
– PULSECOUNT block
– PULSELENGHT block
• If you are on an R430 server and the controller is in R410 or earlier version, the MODESTARTMAN is available
in the database and on the configuration form of the regulatory control blocks. However, this does not have any
functional impact and the parameter value is displayed as blank in the Monitoring view. In addition, if you try to
modify the MODESTARTMAN parameter from the Monitoring view, an error message appears indicating that the
parameter is not recognized by the CEE.
206 www.honeywell.com
12 ENHANCEMENTS TO MODE BEHAVIOR OF THE REGULATORY CONTROL BLOCKS
Attention
• After a controller download or a Checkpoint Restore, you must perform a Cold Start or a Warm Start, as
applicable. The MODESTARTMAN parameter behavior then depends on the start type.
• After an RRR;
– If CEESTATE is Idle, this must be followed by either a Cold Start or a Warm Start. The MODESTARTMAN
parameter behavior then depends on the start type.
– If the CEESTATE is RUN, the MODESTARTMAN parameter behavior then depends on the RRRCEESTATE
and the CEESTARTOPT parameters.
• In a CEE-to-CEE cascade where the primary regulatory control block and the secondary AO channel are hosted on
different nodes, the primary regulatory control block’s mode is changed to Manual, if the node hosting the
secondary (AO channel) is shutdown and restarted.
207
12 ENHANCEMENTS TO MODE BEHAVIOR OF THE REGULATORY CONTROL BLOCKS
12.2 MODESTARTMAN
208 www.honeywell.com
13 Control Builder Export and Import Functionality
Related topics
“Basic Export/Import Design Concepts” on page 210
209
13 CONTROL BUILDER EXPORT AND IMPORT FUNCTIONALITY
Attention
If you have installed Experion in a different drive other than “c,” the exported portion of the ERDB is automatically
stored in the following directory by default.
C:\Users\Public\Public Documents\Honeywell\Experion PKS\Ixport
210 www.honeywell.com
14 SCM and CM Chart Visualization Functionality
Related topics
“Basic Chart Visualization Design Concepts” on page 212
“Some SCM and CM Chart Operation Considerations” on page 216
211
14 SCM AND CM CHART VISUALIZATION FUNCTIONALITY
Attention
The hyperlinks appear with the normal text color and the hyperlink text color is not used in the SCM chart of
Monitoring mode.
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.
212 www.honeywell.com
14 SCM AND CM CHART VISUALIZATION FUNCTIONALITY
For example: The example_pid.pida.SP is indicated as a hyperlink since the mouse pointer is moved on the
parameter.
213
14 SCM AND CM CHART VISUALIZATION FUNCTIONALITY
Figure 13: View of example_scm chart in SCM Detail display Chart Tab in Station.
The following figures show how a configured CM chart named CM102 appears in the Monitoring Tab of
Control Builder and in the Control Module Tab of the CM102 Detail display in Station for example purposes
only.
214 www.honeywell.com
14 SCM AND CM CHART VISUALIZATION FUNCTIONALITY
215
14 SCM AND CM CHART VISUALIZATION FUNCTIONALITY
Related topics
“Detail display interaction notes” on page 216
• 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.
• Open only one SCM or CM chart for display in Station at a time.
• 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 will be different than the security level for Control Builder.
• A communications failure will result in question marks (?) being shown in place of live values until the fault
is cleared.
216 www.honeywell.com
15 Enhancements to reporting of alarms in Station
Prior to R410, you could only configure on-delay time (deadband time) for process alarms at block level. For
example, if you configured an on-delay time for a PID block, all alarms associated with that PID block would
be set to the same on-delay time.
Although on-delay time was configured at block level, you could modify it individually for all alarms from the
Monitoring view only. However, the values modified from the Monitoring view could not be restored after a
Checkpoint Restore. As a result, you had to re-configure the on-delay time for individual alarms every time you
reloaded the strategies.
With R410, you can configure alarm attributes separately for individual alarms associated with a block. In
addition, these values are restored after a Checkpoint Restore. As a result, there is no need for reconfiguration
after a Checkpoint Restore.
For example, you can individually configure the alarm attributes for PID block's OPHIALM as follows:
• on-delay time - 5 seconds
• off-delay time - 10 seconds
• deadband value - 2
• deadband unit - Engineering Unit (EU)
This enhancement is applicable only for a set of analog and digital process alarms and is supported for the
following controllers.
• ACE
• SIM-ACE
• C200E
• SIM-C200E
• C300
• C300 - 20msCEE
• SIM-C300
217
15 ENHANCEMENTS TO REPORTING OF ALARMS IN STATION
218 www.honeywell.com
15 ENHANCEMENTS TO REPORTING OF ALARMS IN STATION
Block Names Alarms for which on-delay time and off- Alarms for which deadband value and
delay time can be configured deadband units can be configured
ALMWINDOW, • Off-Normal alarm
CONTACTMON, FLAG
AUTOMAN, ENHREGCALC, • Bad Control alarm • Output (OP) High alarm
OVRDSEL, RATIOBIAS, • Output (OP) High alarm • Output (OP) Low alarm
REGCALC, REGSUMMER,
• Output (OP) Low alarm
REMCAS, SWITCH
DATAACQ • Bad PV alarm • PV High alarm
• Negative Rate Of Change alarm • PV High High alarm
• Positive Rate of Change alarm • PV Low alarm
• PV High alarm • PV Low Low alarm
• PV High High alarm
• PV Low alarm
• PV Low Low alarm
DIGACQ • Bad PV alarm
• Off-Normal alarm
FANOUT • Bad Control alarm
PID, PIDER, PIDFF, RATIOCTL • Advisory Deviation alarm • Advisory Deviation alarm
• Bad Control alarm • Deviation High alarm
• Deviation High alarm • Deviation Low alarm
• Deviation Low alarm • Output (OP) High alarm
• Output (OP) High alarm • Output (OP) Low alarm
• Output (OP) Low alarm
PID-PL • Advisory Deviation alarm • Advisory Deviation alarm
• Bad Control alarm • Deviation High alarm
• Deviation High alarm • Deviation Low alarm
• Deviation Low alarm • Output (OP) High alarm
• Output (OP) High alarm • Output (OP) Low alarm
• Output (OP) Low alarm
• Predictive PV High alarm
• Predictive PV Low alarm
POSPROP • Advisory Deviation alarm • Advisory Deviation alarm
• Bad Control alarm • Deviation High alarm
• Deviation High alarm • Deviation Low alarm
• Deviation Low alarm
RAMPSOAK • Deviation High alarm • Deviation High alarm
• Deviation Low alarm • Deviation Low alarm
• Output (OP) High alarm • Output (OP) High alarm
• Output (OP) Low alarm • Output (OP) Low alarm
ROC • Bad PV alarm
SIGNALSEL • Deviation alarm • Deviation alarm
219
15 ENHANCEMENTS TO REPORTING OF ALARMS IN STATION
Attention
The INALM parameter also changes based on the expiration of the alarm timer values.
When the OP High alarm attributes Active OP High alarm occurs when ? RTN of active OP High alarm occurs when ?
are configured as?
• Trip point = 80 OP value exceeds 80. OP value persists below 80 for 30 seconds or
• Off-delay time = 30 sec more.
• Deadband value = 0
• Trip point = 80 OP value exceeds 80. OP value reaches a value = trip point -
• Off-delay time = 0 deadband value, 78 in this example.
• Deadband value = 2
• Trip point = 80 OP value exceeds 80. OP value goes below a value = trip point -
• Off-delay time = 30 sec deadband value, 78 in this example, and
persists in the same range for 30 sec or more.
• Deadband value = 2
220 www.honeywell.com
15 ENHANCEMENTS TO REPORTING OF ALARMS IN STATION
When the OP High alarm attributes Active OP High alarm occurs when ? RTN of active OP High alarm occurs when ?
are configured as?
RTN is not issued if after crossing the trip
point, the OP value returns to normal range
but again crosses the trip point. In addition,
the off-delay timer is reset when the OP value
crosses the trip point.
221
15 ENHANCEMENTS TO REPORTING OF ALARMS IN STATION
222 www.honeywell.com
16 I/O Link Interface
223
16 I/O LINK INTERFACE
224 www.honeywell.com
16 I/O LINK INTERFACE
225
16 I/O LINK INTERFACE
226 www.honeywell.com
16 I/O LINK INTERFACE
Related topics
“Periodic swap functionality” on page 227
“Periodic swap transition diagram” on page 227
“Enabling periodic channel swap” on page 228
“Viewing cable status and statistics” on page 229
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.
227
16 I/O LINK INTERFACE
228 www.honeywell.com
16 I/O LINK INTERFACE
229
16 I/O LINK INTERFACE
230 www.honeywell.com
17 Process Manager Input/Output Functionality
Related topics
“High and Low Level Analog Input Points” on page 232
“Smart Transmitter Interface Point” on page 237
“Analog Output Point” on page 245
“Digital Input Point” on page 247
“Digital Output Point” on page 254
231
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Related topics
“Function of high and low level analog input points” on page 232
“PV Characterization” on page 234
“Linear Conversions” on page 234
“Square root conversion” on page 235
“Thermal conversion” on page 235
232 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
High-level points are located in the High Level Analog Input (HLAI and HLAIHART) IOP. One type of low
level point is located in the Low Level Analog Input (LLAI) IOP. This type is generally used for control points.
The other type is located in either the Low Level Multiplexer (LLMUX) or the Remote Hardened Multiplexer
(RHMUX) IOP. This type is generally used for data acquisition points. The type of analog input point needed is
based on the type of field sensor that is providing the input to the point and the characterization options selected
by the user as listed in following table.
233
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
* Note that LLMUX FTAs provide three wire terminations for each sensor. Open wire detection for RTDs is
limited in that the FTA will detect an open wire between the “A” and “C” leads, but not the “B” lead.
17.1.2 PV Characterization
The PV signal received from the field is characterized based on the entries that the user makes for the
SENSRTYP, PVCHAR, PVTEMP, INPTDIR, and TCRNGOPT parameters as shown in the previous figure.
The input PV signal is first converted to a raw PV signal (PVRAW) whose units can be percent, ratio, millivolts,
microvolts, or milliohms depending on the entry made for the SENSRTYP parameter. The PVRAW signal is
then converted to the engineering units. The engineering unit conversions that are performed in the HLAI,
HLAIHART, LLAI and LLMUX points are listed in the previous table and described in the following sections.
Tip
The LLMUX points include points built against the LLMUX IOP as well as the RHMUX IOP. The RHMUX does
not have a unique point type. The RHMUX IOP does not support RTD.
234 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
the engineering unit span. The state of the input direction parameter (INPTDIR) is taken into consideration
during the calculation of PVCALC as follows:
• For slidewire and 0 to 100 millivolts sensor types, when INPTDIR is Direct:
• For 0 to 5 Volts, 0.4 to 2 Volts, and 1 to 5 Volts sensor types, when INPTDIR is Direct:
• For slidewire and 0 to 100 millivolts sensor types, when INPTDIR is Reverse:
• For 0 to 5 Volts, 0.4 to 2 Volts, and 1 to 5 Volts sensor types, when INPTDIR is Reverse:
235
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
The range of the thermocouple type used with the AI-LLMUX channel can be increased by selecting Extended
as the entry for the TCRNGOPT parameter. Refer to the Experion documentation for more information about
the normal and extended ranges.
The AI-LLMUX channels calculate the reference junction compensation from the measured reference junction
output level. This value is stored and then later converted back to micro volts, with respect to 0 degrees C, for
each thermocouple that is to be compensated. The cold-junction reference compensation (PVREFJN) parameter
is expressed in micro volts for the specified thermocouple and is added to the micro volt value for PVRAW.
Refer to PVEXEULO for normal and extended range details.
For an RTD, the AI-LLMUX channels calculate the lead-wire compensation and then subtract the value from
PVRAW. The maximum allowable lead-wire resistance and intrinsic safety barrier resistance for the RTDs are
listed in the following table.
Attention
Proper compensation for lead-wire resistance depends on the resistance being equal in each leg of the RTD. This
includes resistance due to lead-wire resistance and intrinsic safety barriers. No provision is made to compensate for
lead-wire resistance mismatch or intrinsic-safety-barrier resistance mismatch. Both the lead resistance and the
intrinsic-safety-barrier resistance are allowed simultaneously when connected to an RTD in a Division 1 area.
236 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Related topics
“Smart Transmitter support” on page 237
“Multivariable transmitter support” on page 237
“Transmitter parameters and database access” on page 238
“STI parameter comparisons” on page 238
“Transmitter communication mode” on page 239
“STI IOP commands” on page 239
“Point states” on page 240
“STI IOP functions” on page 241
“STI PV characterization” on page 241
“STI linear conversion” on page 242
“STI square root conversion” on page 243
“STI thermal conversion” on page 243
“STI PV range checking and filtering” on page 243
237
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
238 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Attention
We recommend using the PV_DB or PV_SV_DB mode, since they support database mismatch detection and on
process mismatch recovery.
239
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
240 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
241
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
242 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
• If INPTDIR = Reverse:
243
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
244 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Related topics
“AO functions” on page 245
“AO direct/reverse output” on page 245
“AO output characterization” on page 246
“AO calibration compensation” on page 246
17.3.1 AO functions
The analog output point converts the output value (OP) to a 4-20 mA output signal for operating final control
elements such as valves and actuators in the field. The OP parameter value can be controlled from a regulatory
function block contained in a Control Module. To convert the OP value to a 4-20 mA signal, the analog output
point performs:
• Direct/reverse Output Function
• Nonlinear Output Characterization
An option allows redundant Analog Output points. The following figure is a functional diagram of the analog
output point.
245
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Attention
Slot or module level soft failures can prevent a point (or points) from outputting to the field. The regulatory control
point will initiate a “Bad Output“ alarm (If configured) when any connection is broken. If all configured point
connections to the field are broken, the regulatory control point driving that analog output slot goes into initialization.
246 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Related topics
“DI functions” on page 247
“DI status point” on page 248
“DI PV source selection” on page 248
“DI off-normal alarming” on page 248
“Alarm delay” on page 249
“Event reporting” on page 250
“DI latched input point” on page 250
“DI sequence of events point” on page 250
“SOE definitions” on page 250
“SOE resolution considerations” on page 251
“DI SOE configuration considerations” on page 251
17.4.1 DI functions
A digital input point converts a digital PVRAW signal received from the field to a PV that can be used by other
data points in the control strategy. A functional diagram of the digital input point is shown in the following
figure.
Control strategies can test for a bad Digital Input PV. Parameter BADPVFL is set ON when:
• The PV source has been switched to Substituted, and the point is inactive or the module status is Idle.
• The PV source is AUTO and the PV is not being updated, because either the point is inactive, the module is
idle, there is a slot soft failure, or the FTA is missing.
The digital input point is a single-input point that can be configured as a status input or a latched input, as
described in the following sections.
247
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
248 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Digital Input Status points (and Sequence of Events points) can be configured for Change Of State (COS) alarm
reporting through the ALMOPT parameter. The alarm is generated when the input changes state in either
direction.
COS alarms are removed from the Alarm Summary display following acknowledgement. The Point does not
remain in alarm so there is no Return-to-Normal. Point Detail or Group displays will never show a point in COS
alarm.
Older digital input IOPs may need to have a new firmware chip for COS reporting. Check the IOP's detail
display. For COS reporting the Digital Input IOP firmware revision must be 5.0 or later.
Note that when a point with COS reporting is changed from Inactive to Active, a COS alarm is generated if the
PV equals 1. There is no COS alarm if the PV equals 0. The same alarming occurs if the point is active and the
IOP is put into Run mode.
249
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Term Definition
Resolution (Tres) The smallest increment of real time that can separate two consecutive
SOE time-stamped events. The resolution of the field-connected
equipment which first stamps an event limits the inherent resolution of
the system.
Sequence Stamp Difference (SSD) The minimum difference in logged time stamps that guarantees the
order of two time stamps.
Minimum Physical Event Separation (MPES) The smallest interval between two ideal (bounceless) physical events,
so the events can be correctly ordered by the Sequence Stamp
Difference.
Skew (Tskew) The sum of all factors which cause differing time stamps to be applied
to the same physical event, if wired into two different places in the
system.
250 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
251
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Choose STATUS as the Digital Input Type (DITYPE). You can use the DISOE IOP as a conventional digital
input, if you choose LATCHED.
The Contact Debounce time (DEBOUNCE) parameter specifies the time interval used to debounce an input
from mechanical contacts of a field input source. It is defined as the length of time following an input state
change during which the input must remain unchanged in the new state to declare it a valid event. DEBOUNCE
has a range of - 50 milliseconds in one-millisecond increments. The default value of 10 ms should suffice for
most contacts. If not, choose a value slightly longer than the manufacturer's specified contact bounce time.
The following figures illustrate the debounce operation.
This waveform represents the field input. Tick marks across the waveform indicate the 200 microsecond scan
intervals of the DISOE IOP hardware. Assume that the input state changes at point A.
At point B, the state change is detected. At this point, the current time and old state are recorded. The debounce
timer is started.
• If the input remains at a steady state until the debounce timer expires, then an event is generated with a
timestamp corresponding to the time of detection (point B).
252 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
• If the input changes before the debounce timer expires (point c), then the change of state event detected at B
is discarded, the timer is restarted and runs for the full debounce time:
– If a new input detected at D remains in a steady state until the debounce timer expires (point F), then an
event is generated with a timestamp corresponding to the original time of detection (point D).
– If the input has returned to the old state (dotted line at E) when the debounce timer runs out (point F), no
event is generated.
The PV Hold Delay (PVCHGDLY) parameter specifies the time of separation in seconds for reporting two
consecutive PV change events from the same input source. It is intended to prevent repeated rapid reporting of
PV change events (i.e., chattering). It can be configured over a 0 to60 second range in one second increments. It
applies to points configured as SOE only. Ideally, PVCHGDLY and DLYTIME should have the same value.
When a PV state change is detected, the change is reported and the PV change delay timer is started.
• If the PV does not change before the delay timer runs out, no further action is taken.
• If the PV state changes only once before the delay timer runs out, this second event is noticed and time
stamped with the actual time of detection, but it is not reported until the delay timer expires.
• If the PV state changes more than once before the PV change delay timer runs out, only the last state change
is noticed and time stamped but not yet reported. When the delay timer expires:
– If the PV state is different from the state that started the timer, this event is reported.
– If the PV state is the same as the original PV state that started the timer, no event is reported.
253
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
Related topics
“DO functions” on page 254
“Pulse Width Modulated (PWM) Output Type” on page 255
“Status Output Type” on page 255
“Initialization request flag” on page 255
17.5.1 DO functions
The digital output point provides a digital output to the field based on the origin of the input and the configured
parameters. A functional diagram of the digital output point is shown in the following figure. The digital output
point does not have any modes.
There are two types of digital output points: pulse-width modulated (PWM) output and status output. Selection
of the output type is accomplished through the DOTYPE parameter shown in the previous figure. The PWM
type is used in combination with regulatory control block algorithms to provide true proportional control. The
status type output is the normal configuration for digital outputs that are linked to Device Control block points.
Actual output action can be status, latched or momentary, depending on the configuration of the Device Control
point. The default for untagged component DO points is Status.
254 www.honeywell.com
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
If the value of OP is less than 0 percent, it is clamped to 0 percent; an OP with a value greater than 100 percent
is clamped to 100 percent.
255
17 PROCESS MANAGER INPUT/OUTPUT FUNCTIONALITY
256 www.honeywell.com
18 Component Categories and Types
Related topics
“About categories” on page 258
“Function block types and data organization” on page 259
257
18 COMPONENT CATEGORIES AND TYPES
258 www.honeywell.com
18 COMPONENT CATEGORIES AND TYPES
259
18 COMPONENT CATEGORIES AND TYPES
260 www.honeywell.com
19 Regulatory Control
Related topics
“Regulatory Control Blocks” on page 262
“About Safety Interlock Function” on page 278
“About Red Tagging” on page 280
“AUTOMAN (Auto Manual) Block” on page 281
“ENHREGCALC (Enhanced Regulatory Control Calculator) Block” on page 300
“FANOUT Block” on page 330
“OVRDSEL (Override Selector) Block” on page 349
“PID Block” on page 369
“PID-PL (Profit Loop PKS) Block” on page 402
“PIDER (PID with External Reset Feedback) Block” on page 433
“PIDFF (PID with Feedforward) Block” on page 462
“LEGACYGAP Option in R300” on page 495
“POSPROP (Position Proportional) Block” on page 498
“PULSECOUNT Block” on page 516
“PULSELENGTH Block” on page 519
“RAMPSOAK Block” on page 522
“RATIOBIAS Block” on page 539
“RATIOCTL (Ratio Control) Block” on page 558
“REGCALC (Regulatory Control Calculator) Block” on page 580
“REEOUT (Remote EEOUT) Block” on page 605
“REGSUMMER (Regulatory Summer) Block” on page 608
“REMCAS (Remote Cascade) Block” on page 625
“SWITCH Block” on page 647
261
19 REGULATORY CONTROL
262 www.honeywell.com
19 REGULATORY CONTROL
263
19 REGULATORY CONTROL
19.1.1 Common regulatory control functions for C200/C200E and ACE controllers without insertion
points
Attention
The Regulatory Control blocks can interact with Sequential Control Modules (SCM) to provide interactive control
action. Refer to the Sequential Control Module User's Guide for more information on this function.
Listed below are the major functions performed by all Regulatory Control blocks along with a brief functional
description for each. Functional descriptions for each block are given in the following subsections.
264 www.honeywell.com
19 REGULATORY CONTROL
19.1.2 Common regulatory control functions for ACE controllers with insertion points
In systems running R210 or greater, you can insert Control Algorithm Block (CAB) programs at the following
predefined locations in a regulatory control block that is associated with a control strategy to be run in an ACE
Controller.
The following illustration shows where you can insert CAB programs in relation to the regulatory control
block's major functions. This means that you can use CAB programs to enhance aspects of the block's execution
but still take advantage of the more complex system functions such as initialization, anti-reset windup, range-
checking and alarming integral to the native block.
265
19 REGULATORY CONTROL
266 www.honeywell.com
19 REGULATORY CONTROL
• 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 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 Regulatory Control block.
267
19 REGULATORY CONTROL
19.1.5 Functional requirements for Custom CAB algorithm for regulatory control block
The following table summarizes the functional requirements you need to consider when creating a custom CAB
algorithm for a regulatory control block.
Function Requirement
Error Handling 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 The CAB program algorithm must calculate the initialization value (INITVAL) that is
to be propagated to its primaries during initialization. The algorithm must perform
CV calculations based on the control state of the regulatory control block, which can
be determined by reading the value of the CTLSTATE parameter. If the CTLSTATE
value is INIT, the regulatory control block is in its initialization state.
Windup The CAB program must set the COMPUTEARW parameter to True to initiate
recomputation of windup when process conditions change.
The windup state of the regulatory control block is computed after the control output
has been computed.
Override Feedback 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.
268 www.honeywell.com
19 REGULATORY CONTROL
269
19 REGULATORY CONTROL
inserted CAB blocks, during the load of insertion points configuration for configured parameter references. The
parameter references ensure that data flow occurs in the proper sequence with respect to the execution of the
calling block and the CAB program.
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).
19.1.8 Insertion status and fail alarm for regulatory control blocks
The following table summarizes failure considerations when a CAB program encounters an exception or
termination condition. When the program completes execution normally, the CAB instance returns an execution
status of NORMAL. When any of the insertions is in a non-normal status, the insertion fail flag (INSFAILFL) is
set to TRUE. The flag is reset to FALSE, when all the abnormal programs return to normal status
270 www.honeywell.com
19 REGULATORY CONTROL
Table 8: Configuration example using single CAB insertion for regulatory control block
Callout Description
1 The Control Module contains a PID block named pida.
2 The pida block is configured to include an insertion type Ctl_Alg from a CAB instance named
CAB_1A.
3 The CAB instance named CAB_1A is added to the Control Module containing the pida block.
4 During configuration, the ORDERINCM parameter for CAB_1A is changed to match the setting of
ORDERINCM for the pida block. Also, the insertion point parameter (INSMASTER) for CAB_1A is
turned On or set to True and shows the tag name of the pida block on the CAB configuration form.
5 Once the Control Module and its components is loaded to an ACE controller and activated, the pida
block controls the execution of the CAB_1A instance as required. If the CAB_1A instance runs
successively with no failures, the cycle is repeated during every Control Module execution cycle. In
this case, the CAB_1A instance returns a NORMAL status.
During Control Module execution, only the pida block is executed. The CAB_1A instance executes
only when the pida block calls the execute function.
If the CAB_1 instance is not used for an insertion point and the INSMASTER parameter is turned Off
or set to False, it is included in the Control Module execution list and runs normally during each
cycle. In this case, no tag name appears in the Insertion Point field on the block's configuration form
and the CAB must be re-configured for an Access Level of PROGRAM.
Exception Failure Scenario
271
19 REGULATORY CONTROL
Callout Description
If the CAB
program
encounters an
exception failure
(example divide
by zero), it returns
an exception
status to the
calling master
pida. This causes
pida to go into an
INIT state,
INITMAN is set
to true, and it
skips the rest of its
processing. On the
next execution
cycle, pida
remains in INIT
unless the CAB
returns a
NORMAL status.
When the
exception
condition clears,
the pida block
executes normally.
Note that the CAB
instance generates
an exception event
on the first
encounter only
and does not
regenerate the
event on the next
execution, if it
remains in the
exception state.
Termination Failure Scenario
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 will remain 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.
272 www.honeywell.com
19 REGULATORY CONTROL
Table 9: Configuration example using multiple CAB insertions for regulatory control block
Callout Description
1 The Control Module contains a AUTOMAN block named AUTOMANA.
2 The AUTOMANA block is configured to include an insertion type Post_Input from a CAB instance
named CAB_1A, insertion type Ctl_Alg from a CAB instance named CAB_2A, insertion type
Post_Alg from a CAB instance named CAB_3A, and insertion type Post_Ctlout from a CAB instance
named CAB_4A
3 The CAB instances named CAB_1A, CAB_2A, CAB_3A, and CAB 4A are added to the Control
Module containing the AUTOMANA block.
4 During configuration, the ORDERINCM parameters for CAB_1A, CAB_2A, CAB_3A, and
CAB_4A are changed to match the setting of ORDERINCM for the AUTOMANA block. Also, the
insertion point parameters (INSMASTER) for all four CAB instances are turned On or set to True and
show the tag name of the AUTOMANA block on their configuration forms.
273
19 REGULATORY CONTROL
Callout Description
5 Once the Control Module and its components is loaded to an ACE controller and activated, the
AUTOMANA block controls the execution of all CAB instances as required. If all CAB instances run
successively with no failures, the cycle is repeated during every Control Module execution cycle. In
this case, all CAB instances return a NORMAL status.
If any of the CAB instances return a non-normal status, the insertion fail flag (INFAILFL) is set to
TRUE and the INITMAN parameter of AUTOMANA block is set to TRUE, causing the block to go
into its INIT state. The execution steps that follow the failure are skipped.
If a CAB instance is not used for an insertion point and the INSMASTER parameter is turned Off or
set to False, it is included in the Control Module execution list and runs normally during each cycle.
In this case, no tag name appears in the Insertion Point field on the block's configuration form and the
CAB must be re-configured for an Access Level of PROGRAM.
CAB _1A Failure Scenario
If CAB_1A fails, none of the steps after input processing are executed in the current cycle including the execution of the
other three insertion programs CAB_2A, CAB_3A and CAB_4A. This means that the output values (CV and OP) will
remain unchanged and will not be recalculated based on the new input values fetched in the current cycle.
CAB _2A Failure Scenario
If CAB_2A fails, the execution of CAB_3A, CAB_4A, control output processing and windup processing are skipped. If
this happens, the CV value will remain at the old value
CAB _3A Failure Scenario
If CAB_3A fails, control output processing, windup processing and CAB_4A are skipped. In this case, the output value
OP will not be computed to match the CV value calculated in the CAB_2A program.
CAB _4A Failure Scenario
If CAB_4A fails, windup and feedback processing are skipped. In this case, the windup states will not be recomputed and
propagated to the primaries..
274 www.honeywell.com
19 REGULATORY CONTROL
Table 10: Configuration example using two CAB insertions of the same type for regulatory control block
Callout Description
1 The Control Module contains a PID block named pida.
2 The pida block is configured to include insertion type Post_Alg from CAB instances named CAB_1A
and CAB_2A
3 The CAB instances named CAB_1Aand CAB_2A are added to the Control Module containing the
pida block.
4 During configuration, the ORDERINCM parameters for CAB_1A and CAB_2A are changed to
match the setting of ORDERINCM for the pida block. Also, the insertion point parameters
(INSMASTER) for both CAB instances are turned On or set to True and the show the tag name of the
pida block on their configuration forms.
275
19 REGULATORY CONTROL
Callout Description
5 Once the Control Module and its components is loaded to an ACE controller and activated, the pida
block controls the execution of both CAB instances as required. Since the CAB instances are both
inserted at Post_Alg, the instances will be executed in the order in which they were configured. For
example, if CAB instance CAB_1A was added to the CM before CAB_2A, CAB_1A is executed
first. If both CAB instances run successively with no failures, the cycle is repeated during every
Control Module execution cycle. In this case, both CAB instances return a NORMAL status.
If either of the CAB instances returns a non-normal status, the insertion fail flag (INFAILFL) is set to
TRUE and the INITMAN parameter of pida block is set to TRUE, causing the block to go into its
INIT state. The execution steps that follow the failure are skipped. For example, if CAB_1Aexecution
returns a non-normal status, CAB_2A will not be executed and the subsequent steps namely windup
and feedback processing are skipped.
If a CAB instance is not used for an insertion point and the INSMASTER parameter is turned Off or
set to False, it is included in the Control Module execution list and runs normally during each cycle.
In this case, no tag name appears in the Insertion Point field on the block's configuration form and the
CAB must be re-configured for an Access Level of PROGRAM.
2 Non-Interactive
If the rate limiters are ignored, the transfer functions take on the following forms:
3 Interactive
4 Non-Interactive
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:
276 www.honeywell.com
19 REGULATORY CONTROL
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
277
19 REGULATORY CONTROL
278 www.honeywell.com
19 REGULATORY CONTROL
279
19 REGULATORY CONTROL
280 www.honeywell.com
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
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.
281
19 REGULATORY CONTROL
282 www.honeywell.com
19 REGULATORY CONTROL
283
19 REGULATORY CONTROL
284 www.honeywell.com
19 REGULATORY CONTROL
285
19 REGULATORY CONTROL
286 www.honeywell.com
19 REGULATORY CONTROL
287
19 REGULATORY CONTROL
The block calculates the output value (CV) using the following equation:
CV = K*X1 + OPBIAS.FIX + OPBIAS.FLOAT
Where:
288 www.honeywell.com
19 REGULATORY CONTROL
X1 = input value
OPBIAS.FIX = fixed output bias (user specified)
OPBIAS.FLOAT = floating output bias (calculated)
• K and OPBIAS.FIX may either be fixed (that is, stored manually or by the program) or external (that is,
brought from another block).
• After an initialization, the block calculates OPBIAS.FLOAT as follows:
OPBIAS.FLOAT = CVINIT - [K*X1 + OPBIAS.FIX]
where: CVINIT = initialization value from the secondary
19.4.1 Function-AUTOMAN
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.
• between a FANOUT block and a final control element to provide a “bumpless” output on return to cascade
Attention
The AUTOMAN block:
• has one primary and one secondary.
• requests the primary to initialize when mode changes from CAScade to MANual.
289
19 REGULATORY CONTROL
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 You can specify a gain and bias for each of the FANOUT block outputs.
290 www.honeywell.com
19 REGULATORY CONTROL
Callout Description
3 The primary purpose of this AUTOMAN block is to ensure a bumpless output upon return to Cascade
mode. The AUTOMAN block is typically used between a FANOUT block and a final control element.
Upon a return to Cascade, each secondary provides an initialization request to its primary. In most cases,
the primary adjusts its output accordingly. However, if the primary is a FANOUT block, it may ignore the
initialization request, since all of its secondaries may not be requesting it. In this case, the AUTOMAN
block compensates for this by applying a floating bias to the output.
This block applies a user-specified gain and bias to the output. The user-specified values can be fixed or
external. A fixed value is stored manually or by a program, and an external value comes from another
function block. The AUTOMAN block uses the following equation to calculate its output.
• CV = K * X1 + OPBIAS.FIX + OPBIAS.FLOAT
• where:
– K = gain for CV
– X1 = input value
– OPBIAS.FIX = fixed output bias (user-specified)
– OPBIAS. FLOAT = floating output bias (calculated)
19.4.3 Inputs-AUTOMAN
The AUTOMAN block requires one input - X1:
• X1 = initializable input which, if used, must be pulled from another block (it cannot be stored to).
• An engineering unit range for X1 (XEUHI and XEULO) must be specified.
• XEUHI and XEULO define the full range of X1:
– XEUHI represents the 100% of full-scale value.
– XEULO represents the 0% of full-scale value.
Attention
(Note that this block applies no range checks and assumes that X1 is within the XEUHI and XEULO range.)
19.4.4 Output-AUTOMAN
The AUTOMAN block has the following initializable outputs:
• OP = calculated output, in percent.
• OPEU = calculated output, in engineering units.
Attention
A connection to OP or OPEU may be created, but not to both. Therefore, this block may have only one secondary. If a
connection to OP or OPEU is not created, the AUTOMAN block does not have a secondary. Alternately, if OP or
OPEU is connected to a non-initializable input, the AUTOMAN block does not have a secondary.
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
an AUTOMAN block (AUTOMAN1.OP) to the set point of a PID block (PIDB.SP), the implicit/hidden connection is
made to AUTOMAN1.OPX to provide value/status data.
291
19 REGULATORY CONTROL
to create them manually. These “implici” build connections are “hidde” from view and the related parameter
pins are not exposed on the control chart.
For example,if you connect OP from an AUTOMAN block to a PID block or an AOCHANNEL block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection.
Tip
The AUTOMAN block provides the X1 input range (XEUHI/XEULO) to the primary through BACKCALC. The
primary uses this for its output range (CVEUHI/CVEULO).
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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.
292 www.honeywell.com
19 REGULATORY CONTROL
• 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
• 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
• 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.
293
19 REGULATORY CONTROL
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.
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.
294 www.honeywell.com
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
295
19 REGULATORY CONTROL
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.
INITREQ(X1) = On
• Where:
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.
296 www.honeywell.com
19 REGULATORY CONTROL
override offset flag (for PID block strategies). The status indicates if the block is in the selected or unselected
strategy (as determined by the OVRDSEL block).
When the override status changes from selected to unselected, the AUTOMAN block:
• does not initialize its CV, and
• computes a feedback value for its primary as follows:
feedback value for primary = (override feedback value from secondary - OPBIAS.FIX - OPBIAS.FLOAT) /
K
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.
297
19 REGULATORY CONTROL
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.
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
298 www.honeywell.com
19 REGULATORY CONTROL
ARWNETIN or ARWOPIN Parameter Is… Standard Computation Logic Is … ARWNET or ARWOP Parameter Is …
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
299
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
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.
•
300 www.honeywell.com
19 REGULATORY CONTROL
301
19 REGULATORY CONTROL
302 www.honeywell.com
19 REGULATORY CONTROL
303
19 REGULATORY CONTROL
304 www.honeywell.com
19 REGULATORY CONTROL
305
19 REGULATORY CONTROL
306 www.honeywell.com
19 REGULATORY CONTROL
307
19 REGULATORY CONTROL
308 www.honeywell.com
19 REGULATORY CONTROL
309
19 REGULATORY CONTROL
19.5.1 Function-ENHREGCALC
• 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.
310 www.honeywell.com
19 REGULATORY CONTROL
If Mode is . . . Then,
Manual (MAN) the output can be set by the operator or a user program. The SP input is ignored.
Automatic (AUTO) the block derives OP; the initializable input (SP) may be stored by the operator or a
user program.
Cascade (CAS) 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.
19.5.4 Inputs-ENHREGCALC
The ENHREGCALC block has the following inputs.
• SP- An initializable input. If Mode is CAScade, SP is pulled from another function block. If Mode is AUTO,
it may be stored by the operator or a user program.
• X[1] through X[10] general purpose inputs.
• XB[1..10] individually configurable bias value for each X input.
• XDESC[1..10] individually configurable description for each X input.
• XENABLE[1..10] individually configurable enable/disable switch for each X input.
• XK[1..10] individually configurable gain value for each X input.
• XKB[1..10] individual inputs with gain and bias values applied to them.
• XSTS[1..10] individual status for each X input.
• XSUB[1..10] individually configurable substitute value for each X/PX input, when corresponding X input is
disabled.
• XWHIFL - An external windup high flag.
• XWLOFL - An external windup low flag.
Since SP is an initializable input, the block can have one primary. There is one primary for each initializable
input.
311
19 REGULATORY CONTROL
312 www.honeywell.com
19 REGULATORY CONTROL
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
SPTVTIME = 0, or do a step changeOtherwise,
SPTVRATE = NaN
SPTVTIME = 0, or do a step change
• 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 = SPTVNORMRATESPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,
SPTVRATE = NaN
SPTVTIME = 0 or do a step change
Tip
A one shot initialization does not cause a change in SPTVSTATE.
Tip
When SP is ramping, ARWNET is not shown on the Group or Detail displays.
313
19 REGULATORY CONTROL
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.
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. 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.
314 www.honeywell.com
19 REGULATORY CONTROL
315
19 REGULATORY CONTROL
– You can assign these parameters to an input or an expression result, or leave them 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.
316 www.honeywell.com
19 REGULATORY CONTROL
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
• If the primary accepts this block's initialization request, then CV + OPBIAS.FIX should be the same as
CVININT 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
• 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.
• After initialization, the ENHREGCALC block calculates the floating bias using the following equation.
317
19 REGULATORY CONTROL
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.
318 www.honeywell.com
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
319
19 REGULATORY CONTROL
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.
320 www.honeywell.com
19 REGULATORY CONTROL
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:
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.
ORFBVALSRC - Like ORFBSTSSRC, if you make an ORFBVALSRC parameter assignment, the
ENHREGCALC 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.
CVORFBSRC - If you make a CVORFBSRC parameter assignment, the ENHREGCALC block computes the
CV override feedback value based on the assignment and it sets its CV equal to the CVORFB, when the
override status for the block is “unselected”. The override status could be based on the default status received
from the secondary, when the ORFBSTSSRC parameter is unassigned, or a computed customized status based
on the CVFBSTSSRC parameter assignment.
You can write incremental (like PID block) or non-incremental (like AUTOMAN block) expressions for CV, but
certain configuration combinations may cause misleading block behavior - especially, when the expression for
CV is non-incremental. For example, if you assign CVSRC to X[1] and CVORFBSRC to C[1] with C[1]
configured as X[2], assume that at some moment X[1] is 10.0 and X[2] is 50.0, and the override status for the
block is “unselected”. This configuration produces different values for the block's CV and OP parameters.
Based on X[1], the first CV value is computed as 10.0 and the resulting OP value is 10.0. But, based on X[2],
the CVORFB value is computed as 50.0 and the block overwrites the previous CV value of 10.0 with 50.0,
resulting in different CV and OP values. In this case, assigning CVSRC to X[1] was the wrong configuration to
use. You can eliminate this type of discrepancy by assigning the CVSRC to an expression that calculates a CV
incrementally, such as CV + Delta (CV) so that Delta (CV) is the incremental value added to its previous value
of CV.
If XWLOFL and/or XWHIFL are. . . And a Secondary. . . Then, the Block Derives ARWOP
from . . .
True does or does not exist CV, XWHIFL, and XWLOFL.
False exists CV and secondary's windup status.
False does not exist 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.
321
19 REGULATORY CONTROL
Attention
The ARWNET[1] computation is independent of whether gain (K) is positive or negative.
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.
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.
322 www.honeywell.com
19 REGULATORY CONTROL
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
323
19 REGULATORY CONTROL
ARWNETIN or ARWOPIN Parameter Is. . . Standard Computation Logic Is . . . ARWNET or ARWOP Parameter Is . . .
LO LO LO
LO HILO HILO
HILO NORMAL HILO
HILO HI HILO
HILO LO HILO
HILO HILO HILO
19.5.22 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.
Operators Description
Unary +-
Binary Arithmetic + -* / MOD (x MOD y) ^ (x^y)
Logical AND OR NOT
Relational = <> <= >= < >
Conditional ? : (For example, X ?Y : Z; similar to IF, THEN, ELSE)
Parenthesis ()
Array Syntax []
Unary Functions
ABS absolute value LOG Base 10 logarithm of a number
ATN arc tangent RND round value
COS1 cosine SGN sign of value (returns -1,0 or +1)
EXP e to the power of x SIN1 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 MID medium value of n arguments (average of
values). middle values for even n).
If this function has a NAN argument If this function has a NAN argument (bad
(bad value), it returns NaN. value), it returns NaN.
324 www.honeywell.com
19 REGULATORY CONTROL
Operators Description
MAX maximum of n arguments (ignore bad MUL product of n arguments.
values).
This function ignores NaN values. However,
If this function has a NAN argument if all arguments are NaN, then it returns 1.
(bad value), it returns NaN.
AVG average of n arguments. SUM sum of n arguments.
This function ignores NaN values. This function ignores NaN values. However,
However, if all arguments are NaN, if all arguments are NaN, then it returns 0.
then it returns NaN.
String Support Functions
LEN Returns an integer length of the string NUMSTR Takes the input parameter, casts it to a
Float64 and converts it to a string
MIDS Takes a string, an integer starting STRNUM Takes the string input parameter and converts
position and an integer length. The it to a Float64
function returns the specified portion
of the original string.
Time Support Functions
ABSTOD Takes an absolute time data type and DTIMNUM Takes a delta TIME data type and returns a
strips off the year and date and 64-bit float representing the number of
returns a 64-bit float representing the milliseconds.
time of day in milliseconds.
NOW Returns the current local date and NUMDTIM Takes a 64-bit float representing some
time as an absolute time data type number of milliseconds and converts it to a
delta TIME data type.
NUMTIM Takes a 64-bit float representing the STRTIM Takes a string input parameter and converts
number of milliseconds since Jan 1, it to an Absolute time. The string must be in
1972 and converts it to absolute the same format as an Absolute time
TIME data type. constant.
TOD Returns the current local time of day TIMNUM Takes an Absolute TIME data type and
as Time of Day data type returns a 64-bit float representing the total
number of milliseconds since Jan 1, 1972.
UTCTOD Returns the current UTC time of day UTCNOW Returns the current UTC date and time of
as Time of Day data type day as an absolute time data type
1Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and not degrees.
325
19 REGULATORY CONTROL
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.
Expressions support the single quote character, ‘, as a special delimiter that can be used to surround the OPC
Server namespace portion of an external/OPC reference.
For example, OPCTag.‘tag.Param(1)’ can be used so that the parenthesis characters do not confuse the
expression parser.
Attention
When the expression is sent to the external reference component, the delimiters are removed: TagName.‘text’ becomes
TagName.text.
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.
• You must configure calculator expressions contiguously (without breaks) in the arrays. For example, a
sample expression for calculating the average between minimum and maximum values would be as follows:
– AVG (MIN(CM1.REGCALC.X[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]),
MAX(CM1.REGCALCX[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]))
326 www.honeywell.com
19 REGULATORY CONTROL
Attention
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to the Calculator blocks. With
R400 release, 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:
• An expression can be configured using the expression constants parameters (CONST[1..8]).
CM1.CALC1.CONST[1] * CM1.CALC1.X[2] + CM2.REGCALCA.CV
• The expression constant parameters (CONST[1..8]) support runtime indexing in the expressions.
CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
• 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.
Attention
When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8] parameter is blank by default.
When you migrate to a future release, the EXPRDESC[1..8] parameter retains its values.
• With R410, when you write the expressions using the TPS point's parameter references, ensure that the TPS
reference parameter is configured using the parentheses “()”to specify array index. However, when you write
the expressions using the other non-CEE points you can use the brackets “[].”
Operator Description
:= Assignment - used only in the SCM Step Output blocks to assign the results of an expression to a
reference.
CM.block.mystringparam := “This is a string constant”
CM.block.mystringparam := CM.desc
+ Concatenation
CM.block.mystringparam + CM.desc
= Equal to
CM.block.mystringparam = CM.desc
<> Not equal to
CM.block.mystringparam <> “This is a string”
327
19 REGULATORY CONTROL
Time constants
You can use the following valid time constants in expressions.
• An Absolute Time constant is entered MM/DD/YYY hh:mm:ss:uuuu, where uuuu is milliseconds
• A Delta Time constant is entered as hh:mm:ss:uuuu, where uuuu is milliseconds
• Time of Day constant is also entered as hh:mm:ss:uuuu.
Table 14: 1The DAY, HOURS, MINS, SECS Operators are not case specific.
Operator 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.
- Absolute Time can be subtracted from Absolute time, which results in a Delta Time. Delta time or
Time of Day can be subtracted from an absolute time, which results in absolute time. Time of Day can
be subtracted from Delta Time, which results in a Delta Time. See the following section Subtracting
time data types.
=, <>, <=, >=, <, Compares two operands of type time. Both operands must be of the same time data type.
>
DAYS1 Takes operand and returns equivalent delta time value.
HOURS1 Takes operand and returns equivalent delta time value.
MINS1 Takes operand and returns equivalent delta time value.
SECS1 Takes operand and returns equivalent delta time value
328 www.honeywell.com
19 REGULATORY CONTROL
329
19 REGULATORY CONTROL
With R410, the following parameters are introduced for configuring the on-delay time and off-delay time for
BADCTL alarms.
• BADCTLALM.TM
• BADCTLALM.TMO
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.
330 www.honeywell.com
19 REGULATORY CONTROL
331
19 REGULATORY CONTROL
332 www.honeywell.com
19 REGULATORY CONTROL
333
19 REGULATORY CONTROL
Individual Output • Gain (K[1..8]) - Lets you specify a gain (K) value to be factored into the
equation for calculating the CV output value for each individual output. See the
equation following this table for details. The default value is 1.
• Output Bias (OPBIAS[1..8].FIX) - Lets you specify a fixed bias value in
engineering units that is added to the Calculated Variable (CV) output value for
each individual output. See the Output Bias section for this function block for
details. The default value is 0, which means no value is added.
• Output Bias Rate (OPBIAS[1..8].RATE) - Lets you specify an output floating
bias ramp rate in engineering units per minute for each individual output. This
bias rate is only applied when the floating bias is non-zero. See the Output Bias
section for this function block for details. The default value is Not a Number
(NaN), which means no floating bias is calculated. As a result, if the primary
does not accept the block's initialization value, a bump in OP occurs.
• Enable Secondary Initialization Option (SECINITOPT[1..8]) - Lets you specify
if the block is to ignore initialization and override requests from the secondary or
not for each individual output. The default selection is Enabled (checked, do not
ignore).
334 www.honeywell.com
19 REGULATORY CONTROL
335
19 REGULATORY CONTROL
Each output value (CV [1..8]) is calculated using the following equation:
CV(n) = X1* K(n) + [OPBIAS(n).FIX + OPBIAS(n).FLOAT]
where:
X1 = input value
K(n) = gain for output CV(n) (user-specified)
(n) = output channel (number1 to 8)
336 www.honeywell.com
19 REGULATORY CONTROL
• 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 FANOUT block applies a separate floating bias to 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:
Attention
The FANOUT block is the only Regulatory Control Block that can have multiple secondaries.
337
19 REGULATORY CONTROL
Attention
The FANOUT block:
• has 1 input and as many as 8 initializable outputs, and
• has 1 primary and up to 8 secondaries.
It requests the primary to initialize when mode changes from CAScade to MANual.
338 www.honeywell.com
19 REGULATORY CONTROL
• 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.
– OP is clamped to these limits if the algorithm's calculated result (CV) exceeds them or another function
block or the 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 same limits apply to all outputs. The operator is prevented from storing
an OP that exceeds these limits.
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 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
The OPBIAS.FLOAT is calculated as follows.
339
19 REGULATORY CONTROL
• 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.
• You configure the OPBIAS.RATE to apply a ramprate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
• 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.
340 www.honeywell.com
19 REGULATORY CONTROL
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.
INITREQ(X1) = On
Note
The gain value should be greater than zero.
• Where:
(last) = last or most recent secondary to request initialization. When more than one
secondary requests initialization simultaneously and the FANOUT initializes,
“las” will be the secondary with the lowest index number from the secondaries
that requested initialization.
CV calculated value
OPBIAS(last).FIX = fixed output bias for the last secondary
K(last) = gain for the last secondary
Note
The gain value should be greater than zero.
341
19 REGULATORY CONTROL
Attention
• SECINITOPT may be used to ignore initialization requests from selected secondaries.
• When more than one secondary initializes simultaneously and the FANOUT block initializes, the “LAST” in the
previous equation represents the secondary corresponding to the lowest numbered output that requested
initialization.
• The FANOUT block performs initialization only if all of the secondaries are requesting it. As long as one
secondary is not requesting initialization, the FANOUT block ignores all requests. Therefore, one of the following
is recommended:
– Use an AUTOMAN block between a FANOUT block output and a given AOCHANNEL block to provide a
bumpless output after any mode change. However, to prevent a bump in the output, you must configure the
OPBIAS.RATE parameter in AUTOMAN block 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.
– Configure Independent Output Initialization (INDPTOUTINIT) for the FANOUT to provide a bumpless
output after any mode change. Additionally, you must configure the FANOUT block output with an
OPBIAS.RATE parameter with 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.
• Where:
342 www.honeywell.com
19 REGULATORY CONTROL
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:
1. 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.
2. Refer to Windup Processing below.
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.
343
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
344 www.honeywell.com
19 REGULATORY CONTROL
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.
345
19 REGULATORY CONTROL
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.
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.
346 www.honeywell.com
19 REGULATORY CONTROL
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
347
19 REGULATORY CONTROL
ARWNETIN or ARWOPIN Parameter Is. . . Standard Computation Logic Is . . . ARWNET or ARWOP Parameter Is . . .
HILO HILO HILO
348 www.honeywell.com
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
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.
349
19 REGULATORY CONTROL
350 www.honeywell.com
19 REGULATORY CONTROL
351
19 REGULATORY CONTROL
352 www.honeywell.com
19 REGULATORY CONTROL
353
19 REGULATORY CONTROL
354 www.honeywell.com
19 REGULATORY CONTROL
355
19 REGULATORY CONTROL
If OROPT is . . . Then, . . .
ON This block propagates override feedback data to the unselected inputs. And, if the inputs come
from cascade strategies, this block provides override feedback data to every upstream block in
every unselected path.
OFF The feedback value is not propagated but behaves as a simple high-low selector. However, the
unselected primaries are kept from winding up by propagating a windup status opposite to the
override equation. This windup propagation prevents the unselected primaries of the selector
from winding up in the direction opposite to the selector equation.
Attention
The system's ability to interrupt and resume override propagation has advantages and disadvantages.
• The advantages are, there are no limitations on the number of blocks in an override strategy or where the blocks
reside.
• The disadvantage is, if propagation is interrupted, the blocks above the interrupt point will be using override data
that is older than the blocks below it. Override data above this point will typically lag by one or two 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 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.
356 www.honeywell.com
19 REGULATORY CONTROL
This block provides bumpless switching by applying a floating bias to the output, regardless of whether OROPT
is On or Off.
Callout Description
1 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.
2 When monitoring Control Module, the FBORSTS parameter shows whether the PID block is selected or
not. You must configure the FBORSTS parameter to appear on the faceplate of the block through the
Monitoring Parameters tab in the block configuration form.
3 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.
357
19 REGULATORY CONTROL
Callout Description
4 Use the BACKCALCIN/BACKCALCOUT connection to carry secondary data from the OVRDSEL block
to the primary PID block. The individual BACKCALCIN/BACKCALCOUT connections for each output
used are automatically built by Control Builder as implicit/hidden connections.
The secondary data includes this information.
• Anti-Reset Windup Status: Indicates if the secondary's initializable input (which is this block's output)
is at its high or low limit.
• Initialization Request Flag: Used to request continuous initialization. If the flag is set (and this block is
configured to accept secondary initialization), this block initializes itself for one cycle, and resumes
normal processing on the next.
• Oneshot Initialization Flag: Used to request one shot initialization. If the flag is set (and this block is
configured to accept secondary initialization), this block initializes itself for one cycle, and resumes
normal processing on the next.
• Initialization Value: Used for continuous and one shot initialization.
• Override Status: If a block is in an override strategy, this flag indicates whether it is the selected
strategy or not. If the block is in an unselected strategy (and configured to accept secondary
initialization), it invokes its override feedback processing.
• Override Feedback Value: Similar to initialization value; this is calculated to prevent “wind-up” in
unselected primaries.
• Override Offset: Only applies to PID type function blocks. If a PID is in an unselected override
strategy, this flag indicates how it should calculate its output.
• Engineering Units: The engineering units (EU) of the secondary's initializable input. For example, If
the secondary's input is SP, it sends SPEUHI and SPEULO to the primary. The primary then sets its CV
range (CVEUHI and CVEULO) to this.
5 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.
358 www.honeywell.com
19 REGULATORY CONTROL
– 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.
359
19 REGULATORY CONTROL
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.
– 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
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.
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.
360 www.honeywell.com
19 REGULATORY CONTROL
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.
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
361
19 REGULATORY CONTROL
alarms are swapped. The Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
If MODE is . . . Then, . . .
Cascade All inputs must be pulled from another function block.
Manual OP may be stored by the operator or a user program. (All inputs are ignored.)
The initialization request occurs when the MODE changes from CAScade to MANual, but not from MANual to
CAScade.
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.
362 www.honeywell.com
19 REGULATORY CONTROL
363
19 REGULATORY CONTROL
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.
364 www.honeywell.com
19 REGULATORY CONTROL
• 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 Sent to
SEL (Selected) all blocks on the selected input path.
NotCon (Not Connected) all blocks on bypassed input paths.
NotSel (Not Selected) blocks on unselected, non-bypassed paths.
• Override feedback value: The OVRDSEL block sends its current CV to each of its primaries.
– The CV is clamped to OPHILM if it is greater than OPHILM and to OPLOLM if it is less than
OPLOLM.
• 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.
– Additionally, the Gain *(PVP - SPP) term is set to 0.0; If:
– Gain *(PVP - SPP) > 0.0 and the downstream OVRDSEL block is a High selector. Or,
– Gain *(PVP - SPP) < 0.0 and the downstream OVRDSEL block is a Low selector.
365
19 REGULATORY CONTROL
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.
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.
366 www.honeywell.com
19 REGULATORY CONTROL
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
367
19 REGULATORY CONTROL
368 www.honeywell.com
19 REGULATORY CONTROL
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, Integral, and Derivative (PID) on the error
• 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
• Integral (I) only
• Proportional (P) only
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.
369
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
• BADCTLALM.TM
• BADCTLALM.TMO
Each PID 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.
370 www.honeywell.com
19 REGULATORY CONTROL
371
19 REGULATORY CONTROL
372 www.honeywell.com
19 REGULATORY CONTROL
373
19 REGULATORY CONTROL
374 www.honeywell.com
19 REGULATORY CONTROL
375
19 REGULATORY CONTROL
376 www.honeywell.com
19 REGULATORY CONTROL
377
19 REGULATORY CONTROL
378 www.honeywell.com
19 REGULATORY CONTROL
379
19 REGULATORY CONTROL
380 www.honeywell.com
19 REGULATORY CONTROL
381
19 REGULATORY CONTROL
382 www.honeywell.com
19 REGULATORY CONTROL
The functional steps associated with this PID operating scenario are listed in the following table.
1. The PID1 provides a value to the PID2 SP variable (before the PID1 executes).
2. The PID1's “Execute” method is called by the CEE (Control Execution Environment). The PID execution
period is configurable.
3. The PID2 performs timeout checking on SP (to make sure the variable has been updated). The SP timeout
value is configurable.
4. 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.
5. The PID1 checks SI, ESWAUTO, ESWCAS and ESWMAN to see if an external source wants to invoke
Safety Interlock processing or change the Mode.
6. The PID1 reads BACKCALCIN from the secondary, and decides if windup or initialization processing is
required. The BACKCALOUT to BACKCALIN connection is hidden.
7. The PID1 performs SP processing. (SP processing options are specified at configuration time.)
8. The PID1 calculates an output, based on PV and SP values and the configured algorithm.
9. The PID1 performs limit checking and alarming (if required) on OP.
10. The PID1 stores OP to the secondary.
11. The PID1's “Execute” method completes.
383
19 REGULATORY CONTROL
Table 18: Example of CB configuration using a PID block for single loop control.
The following table includes descriptions of the callouts in the figure above.
1. 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.
2. Use the BACKCALCIN/BACKCALCOUT connection to carry secondary data from the AOC block to the
primary PID block. If the PIDA block were a secondary block, its BACKCALCOUT pin connection would
be connected to the BACKCALCIN pin connection on its primary PID block. The individual
BACKCALCIN/BACKCALCOUT connections for each output used are automatically built by Control
Builder as implicit/hidden connections.
The secondary data includes this information.
• Anti-Reset Windup Status: Indicates if the secondary's initializable input (which is this block's output) is
at its high or low limit.
• Initialization Request Flag: Used to request continuous initialization. If the flag is set (and this block is
configured to accept secondary initialization), this block initializes itself for one cycle, and resumes
normal processing on the next.
• Oneshot Initialization Flag: Used to request one shot initialization. If the flag is set (and this block is
configured to accept secondary initialization), this block initializes itself for one cycle, and resumes
normal processing on the next.
• Initialization Value: Used for continuous and one shot initialization.
• Override Status: If a block is in an override strategy, this flag indicates whether it is the selected strategy
or not. If the block is in an unselected strategy (and configured to accept secondary initialization), it
invokes its override feedback processing.
384 www.honeywell.com
19 REGULATORY CONTROL
• Override Feedback Value: Similar to initialization value; this is calculated to prevent “wind-up” in
unselected primaries.
• Override Offset: Only applies to PID type function blocks. If a PID is in an unselected override strategy,
this flag indicates how it should calculate its output.
• Engineering Units: The engineering units (EU) of the secondary's initializable input. For example, If the
secondary's input is SP, it sends SPEUHI and SPEULO to the primary. The primary then sets its CV
range (CVEUHI and CVEULO) to this.
3. 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.
• 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.
Table 19: Example of CB configuration using two PID blocks for cascade loop control.
The following table includes descriptions of the callouts in the figure above.
1. 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.
2. Use the OP parameter connection to send output data to another 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.
385
19 REGULATORY CONTROL
3. Use the BACKCALCIN/BACKCALCOUT connection to carry secondary data from the AOC block to the
secondary PID block and from the secondary PID block to the primary PID block. The individual
BACKCALCIN/BACKCALCOUT connections for each output used are automatically built by Control
Builder as implicit/hidden connections.
See the description for Callout 2 in the table for the previous figure Example of CB configuration using a
PID block for single loop control for more detailed information about the elements that make up the
secondary data.
386 www.honeywell.com
19 REGULATORY CONTROL
• 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.
– If Mode is AUTOmatic, the operator or a user program may store to either SP or SPP.
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.
387
19 REGULATORY CONTROL
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.
• OPBIAS is recomputed under the following conditions to avoid a bump in the output. (Note that the PID
block only applies OPBIAS.FLOAT to the output for the latter two conditions, when it is the first
initializable block.)
– When the function block starts up (that is, goes Active).
– When the function block initializes (for example, the secondary requests initialization).
– When the mode changes to Auto or Cascade.
• The following occurs when you set the OPBIAS value.
– The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the entered value.
– The floating bias (OPBIAS.FLOAT) is set to zero.
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
OPBIAS.FLOAT=CVINIT - (CVUNBIASED + OPBIAS.FIX)
Where:
CVINIT=initialization value received from the secondary
CVUNBIASED= unbiased calculated value (based on input from the primary)
OPBIAS.FIX=fixed bias (user-specified)
• 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
388 www.honeywell.com
19 REGULATORY CONTROL
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.
389
19 REGULATORY CONTROL
Parameter Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can be Not a
(SPTVNORMRATE) 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 Lets you specify a maximum deviation in engineering units per minute allowed
(SPTVDEVMAX) 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.
And also SP Ramping will pause/stops when the calculated SP increment would
cause the SP to exceed the deviation limit, the SP is paused at the current value,
which may be less than the deviation limit value.
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 Description
SPTV 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 detail display in Station.
SPTVDEVFL SP target value deviation flag indicates when deviation exceeds the maximum ramp
deviation limit.
390 www.honeywell.com
19 REGULATORY CONTROL
Parameter Description
SPTVRATE 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 recalculates the ramp time
(SPTVTIME) and ramp rate (SPTVRATE) as follows:
If ramp time (SPTVTIME) is a value other zero:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
SPTVTIME SP target value time in minutes. This time is calculated in conjunction with
SPTVRATE as described above or is entered by you. 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.
SPTVSTATE SP target value state. The possible states are:
• Off,
• Preset, or
• Run
You can only set the SPTVSTATE when the Control Module containing this block is
active and the block's mode is Auto. When you set SPTVSTATE to Run from Preset,
this occurs:
• An “R” modifier appears next to the SP value on the PID detail display in
Station.
• SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
391
19 REGULATORY CONTROL
Table 20: PID block with SP ramping parameters configured for monitoring.
The following table includes descriptions of the callouts in the figure above.
1. 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.
2. The SPTVSTATE automatically goes to Preset, when:
• You set a value for SPTV or SPTVTIME.
• Mode changes to Manual while SPTVSTATE is Run.
• Block is initialized (INITMAN = ON) while SPTVSTATE is Run. However, a one shot initialization
does not cause a change in SPTVSTATE.
• Control Module goes Inactive.
The SPTVSTATE automatically goes to Off, when:
• SP is set by you, a program or another function block.
• Mode changes to Cascade or Backup Cascade.
3. You can only set a value for SPTV and SPTVTIME, when:
• SPTVSTATE is Off or Preset, and
• Mode is Auto or Manual.
Attention
• When SP ramping is Enabled, the SPTVSTATE must be Off before you can make changes to the SP limits
(SPHILM and SPLOLM).
• If the anti-reset windup status (ARWNET) indicates that SP is woundup (Hi, Lo or HiLo), SP ramping stops.
When ARWNET indicates that SP has returned to normal, SP ramping continues from where it stopped.
392 www.honeywell.com
19 REGULATORY CONTROL
If PV tracking is configured, the PID block sets SP equal to PV (subject to SP limits) when either of the
following conditions exist:
• PID block is in Manual mode
• PID block is initializing and not in Auto mode.
Attention
• PV tracking does not occur on recovery from a bad PV.
• PV tracking does not occur if PID block is in Auto mode.
• If PID block is in Auto mode, it means SP is normally stored by the user.
• If PV tracking is initiated, this value is lost.
• The PVTRAKOPTAI parameter provides a PV Tracking option for the specific case when the block is in Auto
mode and it is undergoing initialization (INITMAN is On). The PV Tracking option parameter (PVTRAKOPT)
does not include the Auto/Init case, but does cover several other situations as noted above.
• Equation B - the proportional and integral terms act on the error (PV - SP) and the derivative term acts on
changes in PV as follows:
• 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:
Attention
Equation E does not work with the override feedback function. It is a whole value algorithm that bumps the output to
PV-SP regardless of the ORFBVAL preset to 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.
393
19 REGULATORY CONTROL
• Nonlinear Gain - provides control action that is proportional to the square of the error, rather than the error
itself.
– Gain (K) is derived as follows:
394 www.honeywell.com
19 REGULATORY CONTROL
Where:
KLIN = linear (normal) gain (user-configured)
NLFORM = nonlinear gain form (user-configured; may be 0 or 1)
NLGAIN = nonlinear gain (user-configured)
• 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.
– For example, in controlling the level of a tank whose cross-section is not constant, the gain could be
modified to compensate for the nonlinear rate of level change that is caused by the changing shape of the
tank.
– Gain (K) is derived as follows:
K=KLIN*KMODIFEXT
Where:
KLIN = linear (normal) gain (user-configured)
KMODIFEXT = external gain modifier (such as from a user program)
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.
395
19 REGULATORY CONTROL
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:
• Changes the mode back to CAScade.
• Updates the SP.
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.
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.
396 www.honeywell.com
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
397
19 REGULATORY CONTROL
398 www.honeywell.com
19 REGULATORY CONTROL
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.
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.
399
19 REGULATORY CONTROL
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
400 www.honeywell.com
19 REGULATORY CONTROL
ARWNETIN or ARWOPIN Parameter Is. . . Standard Computation Logic Is . . . ARWNET or ARWOP Parameter Is . . .
HILO HILO HILO
401
19 REGULATORY CONTROL
Benefits
Key benefits of Profit Loop PKS include:
Benefit Discussion
Superior control Because it is a predictive controller, Profit Loop PKS directly accounts for transportation delays and
other difficult to control behavior. This approach leads to superior control of processes with
significant deadtime, inverse response, or noisy measurement.
Valve life extension A well-designed robust controller maintains a balance between aggressive control performance and
insensitivity to model uncertainty / noise. To achieve this balance, Profit Loop PKS employs a
minimum movement algorithm. The control solution makes the least amount of movement to the
control valve in order to meet the control objectives.
This algorithm dramatically reduces valve chattering and stem reversals, especially when there is
significant process measurement noise, which, in turn, leads to longer valve life.
402 www.honeywell.com
19 REGULATORY CONTROL
Benefit Discussion
Single tuning Uses a single tuning “knob,” the performance ratio. If the controller is sluggish and unresponsive,
handle 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.
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 Specially designed implementation of model predictive control technology for small applications.
The design minimizes the computations required, leading to more controllers per node running at
faster execution speeds.
Profit Controller Based on Honeywell's award-winning Profit Controller technology.
Range control Employs the patented Range Control Algorithm found in Honeywell's Profit Controller advanced
control software. Unlike traditional PID, Profit Loop PKS is not restricted to a single target (the
setpoint), but may actively constrain the response within a user-specified range.
This capability makes it ideally suited to tank capacity (surge) control where the tank level must be
bounded but is otherwise free to move. Here, the control objective is to minimize change to the in-
flow or out-flow of the tank.
Optimization When the process is not constrained to a setpoint, 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 “optimizatio” objective may be imposed to drive the process to an optimal state.
Dual objective The key advantage of optimization over setpoint control is that the response of the optimizer and
control controller can be tuned separately, providing dual objective control.
Discrete analysis As a predictive controller, Profit Loop PKS models the behavior of the PV based on changes in the
OP. If PV measurements are not available, Profit Loop PKS proceeds with the control calculation
using the current model estimate.
Profit Loop PKS's ability to compensate for missing process measurement data makes it ideal for
control of processes with discrete analyzers, such as gas chromatographs. Using the internal model,
Profit Loop PKS avoids inter-sample integral wind-up associated with a PID controller.
Graphic presentation
The PID-PL block looks like this graphically:
403
19 REGULATORY CONTROL
Modes
The PID-PL operates in one of three distinct modes:
• 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” on page 369 in the
Reference Data for Functional Block Types, Regulatory Control Blocks section of this document.)
• When CTLEQN is PROFITLOOP and CTRLMODE is set to SETPOINT, this block operates as a setpoint
controller. Profit Loop PKS calculates a control output (OP) that drives the process variable (PV) to the
setpoint (SP).
• When CTLEQN is PROFITLOOP and CTRLMODE is set to RANGE, this block calculates a control output
(OP) to merely constrain the process variable (PV) between an upper bound (SPHI) and lower bound
(SPLO). A secondary objective 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.
404 www.honeywell.com
19 REGULATORY CONTROL
405
19 REGULATORY CONTROL
406 www.honeywell.com
19 REGULATORY CONTROL
407
19 REGULATORY CONTROL
408 www.honeywell.com
19 REGULATORY CONTROL
– Where:
CLOSEDLOOPRESP = Closed-loop response time
OPTSPEED = Optimization speed
OPTRESP = Settling time associated with changes induced through optimization
• SP Offset, Low Limit (SPLOOPTOFFSET) - Profit Loop PKS can be configured to
optimize the process over a limited operating range, which is more restrictive than the
normal control range bounded by SPLO and SPHI. To do this,
– the Control Mode (on the Algorithm form) must be set to RANGE, and
– the Optimizer Mode (on the Advanced form) must be set to other than NONE.
– Set the SP low limit for optimization by entering the amount by which you want to
restrict the lower limit (the “offse”). The optimized low limit is then calculated as
follows:
SPLOLMOPT = SPLO + SPLOOPTOFFSET
The impact of this offset depends on the selected Optimizer Mode.
• SP Offset, High Limit (SPHIOPTOFFSET) - Profit Loop PKS can be configured to
optimize the process over a limited operating range, which is more restrictive than the
normal control range bounded by SPLO and SPHI. To do this,
– the Control Mode (on the Algorithm form) must be set to RANGE, and
– the Optimizer Mode (on the Advanced form) must be set to other than NONE.
409
19 REGULATORY CONTROL
410 www.honeywell.com
19 REGULATORY CONTROL
411
19 REGULATORY CONTROL
19.9.1 Function-PID-PL
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:
• “Auxiliary Functions”
• “Data Acquisition Functions”
• “Pulse Input”
412 www.honeywell.com
19 REGULATORY CONTROL
• “Device Control”
• “Logic Functions”
• “Math Functions”
• “Power Generation Functions” on page 905
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.)
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 d1 are the process dynamics.
The Laplace variable, s, has units of min -1, requiring dynamics and deadtimes to be entered in minutes.
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.
413
19 REGULATORY CONTROL
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.
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.
414 www.honeywell.com
19 REGULATORY CONTROL
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.
415
19 REGULATORY CONTROL
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.
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 user-entered 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:
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.
416 www.honeywell.com
19 REGULATORY CONTROL
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.
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.
417
19 REGULATORY CONTROL
Similar offsets, OPLOOPTOFFSET and OPHIOPTOFFSET, limit the OP range, OPLOLM and OPHILM, for
optimization.
Predictive alarming
At every execution period, the Profit Loop PKS algorithm estimates the steady-state value for both the PV and
OP (STEADYSTATEPV and STEADYSTATEOP). This function block may be configured to generate an alarm
when the predicted steady-state PV exceeds a user-specified trip point (PREDPVHIALM for high PV
predictions and PREDPVLOALM for low predictions). Both alarms are analog alarms and, as such, support
individual trip points, priorities, and severities.
• Because the gain multiplier is restricted to be greater than 0, the process model gain never changes direction.
• A user program or another function block changes the active value, PROCGAINACT, directly. This value is
restricted to be non-zero, to prevent division by zero, but may otherwise change directions.
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:
• An operator or another function block changes a process deadtime bias, PROCDEADTIMEBIAS. The
actual process delay (active deadtime) is then computed as:
• A user program or another function block changes the active value, PROCDEADTIMEACT, directly. To
ensure safe operation, the active deadtime is restricted between 0% and 120% of the engineer-entered
deadtime, PROCDEADTIME.
418 www.honeywell.com
19 REGULATORY CONTROL
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.
Callout Description
1 Use the PV parameter connection to carry data from the analog input to the data acquisition block.
2 Use the data acquisition block to filter and scale the PV input. This block also maintains several PV alarms.
3 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.
4 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.
419
19 REGULATORY CONTROL
Callout Description
1 Configuration is nearly identical to setpoint control configuration. Use block pins SPHI and SPLO to allow
on-line change of the control range. SP is not used in this case.
2 CTRLMODE is set to RANGE.
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 wo digital signals- an on-off flag to indicate when the analyzer is in calibration,
and a 30-second pulse signal whenever a new measurement is available.
420 www.honeywell.com
19 REGULATORY CONTROL
Callout Description
1 Because the analyzer maintains a set of control signals, PVASYNCOPT is set to ExternalSync to force bias
updating only when the analyzer indicates that a new reading is available.
2 The analyzer signals are accessed through two digital-input channels.
3 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.
4 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.
421
19 REGULATORY CONTROL
Callout Description
1 For clarity, the tank level is shown as a separate independent block connection. In practice, the input to the
regulatory control block may be connected to the output of the data acquisition block.
2 A regulatory control algorithm is employed to calculate an appropriate base gain multiplier based on the
geometry of the tank and the level in the tank.
3 The gain multiplier is connected to the PROCGAINMULT parameter on the PID-PL block. This input
requires the gain multiplier to be between 0.01 and 100.
An alternative approach connects a raw gain to the PROCGAINACT parameter (not shown). This approach
circumvents the range restrictions on tiplier.
422 www.honeywell.com
19 REGULATORY CONTROL
423
19 REGULATORY CONTROL
INITREQ = On
INITVAL = SP
• If a PID-PL block configured for range control is cascaded to a primary and OPTMODE does not equal
OPTTARGET, then the primary has no bearing on the operation of its secondary. Under these circumstances,
an initialization request is sent to the primary.
where
SPHIACTIVE and SPLOACTIVE represent the effective range limits at any given execution period.
424 www.honeywell.com
19 REGULATORY CONTROL
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.
19.9.13 PV tracking-PID-PL
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-
PID Block” on page 392 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:
• If SPLO is greater than SP then set SPLO equal to SP
• If SPHI is less than SP then set SPHI equal to SP
Attention
• SPHI and SPLO track the current SP (and only indirectly the PV).
• Range limits are sensitive to transient changes in the SP/PV. Once a range limit is relaxed, it is not re-constricted.
However, in contrast with setpoint control, an operator can alter the SPHI or SPLO limit, subject to the above
limitations, while PV tracking is active.
• The PVTRAKOPTAI parameter provides a PV Tracking option for the specific case when the block is in Auto
mode and it is undergoing initialization (INITMAN is On). The PV Tracking option parameter (PVTRAKOPT)
does not include the Auto/Init case, but does cover several other situations as noted above.
Attention
The Bad PV duration alarm is in addition to any other Bad PV alarms, specifically the Bad PV alarm in the
DATAACQ block.
19.9.15 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
425
19 REGULATORY CONTROL
such recalibration causes undesirable control action. A calibration flag, CALIBRATION, is provided for this
purpose.
When CALIBRATION is set, Profit Loop PKS:
• Disables updating of bias between model prediction and PV
• Continues control action based on model prediction only
Attention
• Logic blocks should be employed to set and reset the NEWSAMPLE flag. It is the users responsibility to design
and construct the appropriate logic.
• The PID-PL block makes no attempt to set or reset this flag.
• It is a good practice to buffer the external update signal with an FTRIG (RTRIG) block. This block sets the
NEWSAMPLE flag on leading edge (lagging edge) change in the external signal and automatically resets the
NEWSAMPLE flag after one execution period.
426 www.honeywell.com
19 REGULATORY CONTROL
For more information on PID equations, see “PID equations” on page 393 for the PID block.
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.
427
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
428 www.honeywell.com
19 REGULATORY CONTROL
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.
429
19 REGULATORY CONTROL
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.
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.
430 www.honeywell.com
19 REGULATORY CONTROL
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.
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
431
19 REGULATORY CONTROL
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
432 www.honeywell.com
19 REGULATORY CONTROL
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).
The following equations are supported:
• Proportional, Integral, and Derivative (PID) on the error
• 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
• Integral (I) only
The PIDER block may be used in a single control loop or with multiple PIDs in a cascade strategy.
433
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-
delay time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
• BADCTLALM.TM
• BADCTLALM.TMO
Table 21: PIDER block used in a cascade control strategy with PID, AUTOMAN, and NUMERIC blocks
Each PIDER 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.
434 www.honeywell.com
19 REGULATORY CONTROL
435
19 REGULATORY CONTROL
436 www.honeywell.com
19 REGULATORY CONTROL
437
19 REGULATORY CONTROL
438 www.honeywell.com
19 REGULATORY CONTROL
439
19 REGULATORY CONTROL
440 www.honeywell.com
19 REGULATORY CONTROL
441
19 REGULATORY CONTROL
442 www.honeywell.com
19 REGULATORY CONTROL
443
19 REGULATORY CONTROL
444 www.honeywell.com
19 REGULATORY CONTROL
445
19 REGULATORY CONTROL
19.10.2 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.
• PV is pulled from another function block.
PV is typically pulled from a Data Acquisition (DATAACQ) function block which performs PV limit
checking and alarming.
• SP is pulled from another function block, or stored by the operator or a user program.
If SP is pulled from a primary, the PID's Mode must be Cascade; and if it is stored by the operator or a user
program, Mode must be Manual or Automatic. If Mode is Cascade, the PID must perform timeout checking
on SP (to make sure the primary is periodically updating it).
• 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.
• S1 is triggered by another function block or set by a user-written 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).
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.
• ESWAUTO, ESWCAS, ESWMAN and SI - Indicates if an external source, such as a user program, wants to
change the PIDER's Mode:
– 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.
If a BACKCALC connection is made to the secondary, the PIDER reads BACKCALCIN from the secondary
before calculating its OP:
• BACKCALCIN is a “data container”, which means it contains many pieces of information but is accessed
by a single read. Among other things, the information in BACKCALCIN indicates if the secondary is
wound-up or if it wants the PIDER to initialize.
• The individual BACKCALCIN/BACKCALCOUT connections for each output used are automatically built
by Control Builder as implicit/hidden connections. This means you do not have to manually wire
BACKCALC connections in Control Builder.
• The secondary builds BACKCALCIN when it receives a read request from the primary. This way,
BACKCALCIN is guaranteed to contain the most current status.
446 www.honeywell.com
19 REGULATORY CONTROL
447
19 REGULATORY CONTROL
• SP contains set point value in engineering units and SPP contains the value in percent.
– If Mode is AUTOmatic, the operator or a user program may store to either SP or SPP.
– The PIDER block monitors SP for time-out.
• 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.
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.
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.
448 www.honeywell.com
19 REGULATORY CONTROL
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
OPBIAS.FLOAT=CVINIT - (CVUNBIASED + OPBIAS.FIX)
Where:
CVINIT = initialization value received from the secondary
CVUNBIASED=unbiased calculated value (based on input from the primary)
OPBIAS.FIX=fixed bias (user-specified)
• 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
449
19 REGULATORY CONTROL
450 www.honeywell.com
19 REGULATORY CONTROL
Parameter Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can be Not a
(SPTVNORMRATE) 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 Lets you specify a maximum deviation in engineering units per minute allowed
(SPTVDEVMAX) 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 Description
SPTV 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 SP target value deviation flag indicates when deviation exceeds the maximum ramp
deviation limit.
451
19 REGULATORY CONTROL
Parameter Description
SPTVRATE 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 recalculates the ramp time
(SPTVTIME) and ramp rate (SPTVRATE) as follows:
If ramp time (SPTVTIME) is a value other zero:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
SPTVTIME SP target value time in minutes. This time is calculated in conjunction with
SPTVRATE as described above or is entered by you. 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.
SPTVSTATE SP target value state. The possible states are:
• Off,
• Preset, or
• Run
You can only set the SPTVSTATE when the Control Module containing this block is
active and the block's mode is Auto. When you set SPTVSTATE to Run from Preset,
this occurs:
• An “R” modifier appears next to the SP value on the PIDER detail display in
Station.
• SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
Table 22: PIDER block with SP ramping parameters configured for monitoring.
The following table includes descriptions of the callouts in the figure above.
452 www.honeywell.com
19 REGULATORY CONTROL
1. 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
2. The SPTVSTATE automatically goes to Preset, when:
• You set a value for SPTV or SPTVTIME.
• Mode changes to Manual while SPTVSTATE is Run.
• Block is initialized (INITMAN = ON) while SPTVSTATE is Run. However, a one shot initialization
does not cause a change in SPTVSTATE.
• Control Module goes Inactive.
The SPTVSTATE automatically goes to Off, when:
• SP is set by you, a program or another function block.
• Mode changes to Cascade or Backup Cascade.
3. You can only set a value for SPTV and SPTVTIME, when:
• SPTVSTATE is Off or Preset, and
• Mode is Auto or Manual.
Attention
• When SP ramping is Enabled, the SPTVSTATE must be Off before you can make changes to the SP limits
(SPHILM and SPLOLM).
• If the anti-reset windup status (ARWNET) indicates that SP is woundup (Hi, Lo or HiLo), SP ramping stops.
When ARWNET indicates that SP has returned to normal, SP ramping continues from where it stopped.
19.10.12 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:
• block is in Manual mode
• block is initializing and not in Auto mode.
Attention
• PV tracking does not occur on recovery from a bad PV.
• PV tracking does not occur if block is in Auto mode.
• If block is in Auto mode, it means SP is normally stored by the user.
• If PV tracking is initiated, this value is lost.
• The PVTRAKOPTAI parameter provides a PV Tracking option for the specific case when the block is in Auto
mode and it is undergoing initialization (INITMAN is On). The PV Tracking option parameter (PVTRAKOPT)
does not include the Auto/Init case, but does cover several other situations as noted above.
453
19 REGULATORY CONTROL
• Equation B - the proportional and integral terms act on the error (PV - SP) and the derivative term acts on
changes in PV as follows:
• 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:
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 the tracking switch S1 is Off, this block combines RFB with the PID output as follows:
454 www.honeywell.com
19 REGULATORY CONTROL
If the tracking switch (S1) is On, the PIDER block forces CV to track the tracking value (TRFB) input as follows:
Where:
s = La Place operator
S1 = the tracking control switch (input)
TRFB = the tracking value (input)
T1 = PID integral time constant in minutes (configured)
455
19 REGULATORY CONTROL
• Gap Gain - used to reduce the sensitivity of the control action when PV is in a user-specified band (gap)
around the set point.
– Gap size and control action are specified at configuration time through the following parameters:
• Nonlinear Gain - provides control action that is proportional to the square of the error, rather than the error
itself.
– Gain (K) is derived as follows:
Where:
KLIN = linear (normal) gain (user-configured)
NLFORM = nonlinear gain form (user-configured; may be 0 or 1)
NLGAIN = nonlinear gain (user-configured)
• 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.
– For example, in controlling the level of a tank whose cross-section is not constant, the gain could be
modified to compensate for the nonlinear rate of level change that is caused by the changing shape of the
tank.
– Gain (K) is derived as follows:
K = KLIN*KMODIFEXT
Where:
KLIN = linear (normal) gain (user-configured)
KMODIFEXT = external gain modifier (such as from a user program)
456 www.honeywell.com
19 REGULATORY CONTROL
You choose from the following configuration selections to tailor the block's output to meet your particular
operation and display requirements.
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.
457
19 REGULATORY CONTROL
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.
458 www.honeywell.com
19 REGULATORY CONTROL
• 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.
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.
459
19 REGULATORY CONTROL
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.
460 www.honeywell.com
19 REGULATORY CONTROL
The ARWNETIN and ARWOPIN parameters would be ORed into the existing standard logic so it is not lost.
The following table summarizes the influence the ARWNETIN and 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
461
19 REGULATORY CONTROL
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 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, Integral, and Derivative (PID) on the error
• 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
• Integral (I) only
• Proportional (P) only
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.
462 www.honeywell.com
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
• BADCTLALM.TM
• BADCTLALM.TMO
Each PIDFF 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.
463
19 REGULATORY CONTROL
464 www.honeywell.com
19 REGULATORY CONTROL
465
19 REGULATORY CONTROL
466 www.honeywell.com
19 REGULATORY CONTROL
467
19 REGULATORY CONTROL
468 www.honeywell.com
19 REGULATORY CONTROL
469
19 REGULATORY CONTROL
470 www.honeywell.com
19 REGULATORY CONTROL
471
19 REGULATORY CONTROL
472 www.honeywell.com
19 REGULATORY CONTROL
473
19 REGULATORY CONTROL
474 www.honeywell.com
19 REGULATORY CONTROL
475
19 REGULATORY CONTROL
The functional steps associated with this PIDFF operating scenario are listed in the following table.
1. The Operator provides a value to the PIDFF1 SP variable (before the PIDFF1 executes).
2. The PIDFF1's “Execute” method is called by the CEE (Control Execution Environment). The PID execution
period is configurable.
3. 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.
4. The PIDFF pulls the FF from the LEADLAG block.
5. The PIDFF1 checks SI, ESWAUTO, ESWCAS and ESWMAN to see if an external source wants to invoke
Safety Interlock processing or change the Mode.
6. The PIDFF1 performs SP processing. (SP processing options are specified at configuration time.)
7. The PIDFF1 calculates an output, based on PV and SP values and the configured algorithm plus FF (FF
processing option is specified at configuration time).
8. The PIDFF1 performs limit checking and alarming (if required) on OP.
9. The PIDFF1 stores OP to the AOCHANNEL.
10. The PIDFF1's “Execute” method completes.
476 www.honeywell.com
19 REGULATORY CONTROL
• CAS (CAScade)
– If mode is CAScade, SP is pulled from a primary; if the primary is off-control (that is, inactive or
initializing) or the connection is bad, the PIDFF block invokes timeout processing.
477
19 REGULATORY CONTROL
connect OP or OPEU to a non-initializable 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.
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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.
478 www.honeywell.com
19 REGULATORY CONTROL
• 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
• 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
• 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.
479
19 REGULATORY CONTROL
480 www.honeywell.com
19 REGULATORY CONTROL
Parameter Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can be Not a
(SPTVNORMRATE) 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 Lets you specify a maximum deviation in engineering units per minute allowed
(SPTVDEVMAX) 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 Description
SPTV 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 detail display in Station.
SPTVDEVFL SP target value deviation flag indicates when deviation exceeds the maximum ramp
deviation limit.
481
19 REGULATORY CONTROL
Parameter Description
SPTVRATE 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 recalculates the ramp time
(SPTVTIME) and ramp rate (SPTVRATE) as follows:
If ramp time (SPTVTIME) is a value other zero
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
SPTVTIME SP target value time in minutes. This time is calculated in conjunction with
SPTVRATE as described above or is entered by you. You can only set SPTVTIME
when the SPTVOPT is Enabled, the SPTVSTATE is Off or Preset, and the block's
mode is Auto or Manual.
SPTVSTATE SP target value state. The possible states are:
• Off,
• Preset, or
• Run
You can only set the SPTVSTATE when the Control Module containing this block is
active and the block's mode is Auto. When you set SPTVSTATE to Run from Preset,
this occurs:
• An “R” modifier appears next to the SP value on the PID detail display in
Station.
• SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
482 www.honeywell.com
19 REGULATORY CONTROL
Table 25: PID block with SP ramping parameters configured for monitoring.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 The SPTVSTATE automatically goes to Preset, when:
• You set a value for SPTV or SPTVTIME.
• Mode changes to Manual while SPTVSTATE is Run.
• Block is initialized (INITMAN = ON) while SPTVSTATE is Run. However, a one shot initialization
does not cause a change in SPTVSTATE.
• Control Module goes Inactive.
The SPTVSTATE automatically goes to Off, when:
• SP is set by you, a program or another function block.
• Mode changes to Cascade or Backup Cascade.
3 You can only set a value for SPTV and SPTVTIME, when:
• SPTVSTATE is Off or Preset, and
• Mode is Auto or Manual.
Attention
• When SP ramping is Enabled, the SPTVSTATE must be Off before you can make changes to the SP limits
(SPHILM and SPLOLM).
• If the anti-reset windup status (ARWNET) indicates that SP is woundup (Hi, Lo or HiLo), SP ramping stops.
When ARWNET indicates that SP has returned to normal, SP ramping continues from where it stopped.
483
19 REGULATORY CONTROL
Typically, PV tracking is configured for PIDFF 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 PIDFF block sets SP equal to PV (subject to SP limits) when either of the
following conditions exist:
• PIDFF block is in Manual mode
• PIDFF block is initializing and not in Auto mode.
Attention
• PV tracking does not occur on recovery from a bad PV.
• PV tracking does not occur if PID block is in Auto mode.
1. If PIDFF block is in Auto mode, it means SP is normally stored by the user.
2. If PV tracking is initiated, the stored SP value is lost.
• The PVTRAKOPTAI parameter provides a PV Tracking option for the specific case when the block is in Auto
mode and it is undergoing initialization (INITMAN is On). The PV Tracking option parameter (PVTRAKOPT)
does not include the Auto/Init case, but does cover several other situations as noted above.
484 www.honeywell.com
19 REGULATORY CONTROL
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 = Notation to indicate value of this pass
n-1 = Notation to indicate value of preceding pass
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:
485
19 REGULATORY CONTROL
• Equation B - the proportional and integral terms act on the error (PV - SP) and the derivative term acts on
changes in PV as follows:
• 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:
Attention
Equation E does not work with the override feedback function. It is a whole value algorithm that bumps the output to
PV-SP regardless of the ORFBVAL preset to 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.
486 www.honeywell.com
19 REGULATORY CONTROL
• Nonlinear Gain - provides control action that is proportional to the square of the error, rather than the error
itself.
– Gain (K) is derived as follows:
Where:
KLIN = linear (normal) gain (user-configured)
NLFORM = nonlinear gain form (user-configured; may be 0 or 1)
NLGAIN = nonlinear gain (user-configured)
• 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.
– For example, in controlling the level of a tank whose cross-section is not constant, the gain could be
modified to compensate for the nonlinear rate of level change that is caused by the changing shape of the
tank.
487
19 REGULATORY CONTROL
K = KLIN*KMODIFEXT
Where:
KLIN = linear (normal) gain (user-configured)
KMODIFEXT = external gain modifier (such as from a user program)
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.
488 www.honeywell.com
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
489
19 REGULATORY CONTROL
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.
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.
490 www.honeywell.com
19 REGULATORY CONTROL
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.
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.
491
19 REGULATORY 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.
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.
492 www.honeywell.com
19 REGULATORY CONTROL
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
493
19 REGULATORY CONTROL
Attention
You can use SECINITOPT to ignore override requests from the secondary.
494 www.honeywell.com
19 REGULATORY CONTROL
19.12.2 Equation-LEGACYGAP
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
495
19 REGULATORY CONTROL
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
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.
19.12.3 Configuration-LEGACYGAP
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.
496 www.honeywell.com
19 REGULATORY CONTROL
19.12.4 Migration-LEGACYGAP
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.
497
19 REGULATORY CONTROL
With R410, youYou can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the DEVHIALM parameter.
• DEVHIALM.TM
• DEVHIALM.TMO
• DEVHIALM.DB
• DEVHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for BADCTL
alarms.
• BADCTLALM.TM
• BADCTLALM.TMO
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.
498 www.honeywell.com
19 REGULATORY CONTROL
499
19 REGULATORY CONTROL
500 www.honeywell.com
19 REGULATORY CONTROL
501
19 REGULATORY CONTROL
502 www.honeywell.com
19 REGULATORY CONTROL
503
19 REGULATORY CONTROL
504 www.honeywell.com
19 REGULATORY CONTROL
Table 26: Example of Position Proportional loop for controlling valve position.
505
19 REGULATORY CONTROL
Table 27: Example of Position Proportional loop for controlling valve position through pulse length or pulse count function.
506 www.honeywell.com
19 REGULATORY CONTROL
507
19 REGULATORY CONTROL
Parameter Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can be Not a
(SPTVNORMRATE) 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 Lets you specify a maximum deviation in engineering units per minute allowed
(SPTVDEVMAX) 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.
And also SP Ramping will pause/stops when the calculated SP increment would
cause the SP to exceed the deviation limit, the SP is paused at the current value,
which may be less than the deviation limit value.
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.
508 www.honeywell.com
19 REGULATORY CONTROL
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 Description
SPTV 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 detail display in Station.
SPTVDEVFL SP target value deviation flag indicates when deviation exceeds the maximum ramp
deviation limit.
SPTVRATE 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 recalculates the ramp time
(SPTVTIME) and ramp rate (SPTVRATE) as follows:
If ramp time (SPTVTIME) is a value other zero:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
SPTVTIME SP target value time in minutes. This time is calculated in conjunction with
SPTVRATE as described above or is entered by you. 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.
SPTVSTATE SP target value state. The possible states are:
• Off,
• Preset, or
• Run
You can only set the SPTVSTATE when the Control Module containing this block is
active and the block's mode is Auto. When you set SPTVSTATE to Run from Preset,
this occurs:
• An “R” modifier appears next to the SP value on the PID detail display in
Station.
• SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
509
19 REGULATORY CONTROL
Table 28: PID block with SP ramping parameters configured for monitoring.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 The SPTVSTATE automatically goes to Preset, when:
• You set a value for SPTV or SPTVTIME.
• Mode changes to Manual while SPTVSTATE is Run.
• Block is initialized (INITMAN = ON) while SPTVSTATE is Run. However, a one shot initialization
does not cause a change in SPTVSTATE.
• Control Module goes Inactive.
The SPTVSTATE automatically goes to Off, when:
• SP is set by you, a program or another function block.
• Mode changes to Cascade or Backup Cascade.
3 You can only set a value for SPTV and SPTVTIME, when:
• SPTVSTATE is Off or Preset, and
• Mode is Auto or Manual.
Attention
• When SP ramping is Enabled, the SPTVSTATE must be Off before you can make changes to the SP limits
(SPHILM and SPLOLM).
• If the anti-reset windup status (ARWNET) indicates that SP is woundup (Hi, Lo or HiLo), SP ramping stops.
When ARWNET indicates that SP has returned to normal, SP ramping continues from where it stopped.
510 www.honeywell.com
19 REGULATORY CONTROL
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.
511
19 REGULATORY CONTROL
SPP=SP in percent.
• The PULSETIME output is set to either the RAISETIME or -LOWERTIME, when either RAISETIME or
LOWERTIME is non-zero.
512 www.honeywell.com
19 REGULATORY CONTROL
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.
513
19 REGULATORY CONTROL
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.
514 www.honeywell.com
19 REGULATORY CONTROL
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
515
19 REGULATORY CONTROL
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.
516 www.honeywell.com
19 REGULATORY CONTROL
517
19 REGULATORY CONTROL
518 www.honeywell.com
19 REGULATORY CONTROL
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.
519
19 REGULATORY CONTROL
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.
• The + PULSETIME or -PULSETIME come from the POSPROP block at the beginning of a control interval.
• The control interval is a property of the connected POSPROP block.
• 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 Zero (0).
520 www.honeywell.com
19 REGULATORY CONTROL
521
19 REGULATORY CONTROL
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.
With R, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
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.
522 www.honeywell.com
19 REGULATORY CONTROL
523
19 REGULATORY CONTROL
524 www.honeywell.com
19 REGULATORY CONTROL
525
19 REGULATORY CONTROL
526 www.honeywell.com
19 REGULATORY CONTROL
527
19 REGULATORY CONTROL
528 www.honeywell.com
19 REGULATORY CONTROL
529
19 REGULATORY CONTROL
530 www.honeywell.com
19 REGULATORY CONTROL
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.
Table 31: Functional diagram of ramp and soak (set point) programmer in PID control loop.
The RAMPSOAK block provides the following functions for a running ramp/soak profile.
• Calculates its output based on whether the current segment is a ramp or a soak.
– 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]).
– 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].
531
19 REGULATORY CONTROL
532 www.honeywell.com
19 REGULATORY CONTROL
• 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.)
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
533
19 REGULATORY CONTROL
534 www.honeywell.com
19 REGULATORY CONTROL
535
19 REGULATORY CONTROL
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.
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.
536 www.honeywell.com
19 REGULATORY CONTROL
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
537
19 REGULATORY CONTROL
ARWNETIN or ARWOPIN Parameter Is. . . Standard Computation Logic Is . . . ARWNET or ARWOP Parameter Is . . .
LO LO LO
LO HILO HILO
HILO NORMAL HILO
HILO HI HILO
HILO LO HILO
HILO HILO HILO
538 www.honeywell.com
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for BADCTL
alarms.
• BADCTLALM.TM
• BADCTLALM.TMO
Each RATIOBIAS block supports the following user configurable attributes. The following table lists the given
name of the “Ta” 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.
539
19 REGULATORY CONTROL
540 www.honeywell.com
19 REGULATORY CONTROL
541
19 REGULATORY CONTROL
542 www.honeywell.com
19 REGULATORY CONTROL
543
19 REGULATORY CONTROL
544 www.honeywell.com
19 REGULATORY CONTROL
545
19 REGULATORY CONTROL
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 Use the DATAACQ block to define input range values and provide alarm monitoring on the analog input.
3 Use the RATIOBIAS block in cascade mode to accept X1 and RT primary inputs from other blocks.
546 www.honeywell.com
19 REGULATORY CONTROL
Callout Description
4 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.
5 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.
6 Control Builder creates the X1BACKCALOUT and RTBACKCALOUT hidden connections to carry
BACKCAL (secondary) data from the RATIOBIAS block to the BACKCALCIN connections on X1 and
RT primary blocks , respectively. The individual BACKCALCIN/BACKCALCOUT connections for each
output used are automatically built by Control Builder as implicit/hidden connections.
If Mode is . . . Then,
Manual (MAN) the output can be set by the operator or a user program. The X1 and RT inputs are
ignored. The block continually initializes both primaries, while in this mode.
Automatic (AUTO) the X1 input comes from another function block and the RT input can be set by the
operator or a user program. The block continually initializes the RT primary, while
in this mode.
Cascade (CAS) 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.
• 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.
547
19 REGULATORY CONTROL
• 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.
– 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.
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.
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.
548 www.honeywell.com
19 REGULATORY CONTROL
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
549
19 REGULATORY CONTROL
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.
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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.
550 www.honeywell.com
19 REGULATORY CONTROL
Attention
When the Ratio Bias Option (RBOPTION) is set to FixedRatioBias, the OPBIAS.FIX value is limited to a range
between BSLOLM and BSHILM (-50.0 to 50.0, by default). If you enter any values outside this range for
OPBIAS.FIX, the following error appears “RATIOBIASA.OPBIAS.FIX: Limit or Range Exceeded
[EPKS_E_RangeLimitEr (2L.101.2058)].”
• 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
OPBIAS.FLOAT=CVINIT - (CVUNBIASED + OPBIAS.FIX)
Where:
CVINIT=initialization value received from the secondary
CVUNBIASED=unbiased calculated value (based on input from the primary)
OPBIAS.FIX=fixed bias (user-specified)
• 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
551
19 REGULATORY CONTROL
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.
Attention
You can use SECINITOPT to ignore override requests from the secondary.
552 www.honeywell.com
19 REGULATORY CONTROL
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.
553
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
554 www.honeywell.com
19 REGULATORY CONTROL
The ARWNET[1] parameter indicates if X1 is woundup. This is a copy of the ARWOP, which means; if OP is
woundup, then X1 is also woundup.
The ARWNET[2] parameter indicates if RT input is woundup. RT winds up, if it is clamped or OP is woundup.
ARWNET[2] is computed as follows.
If RT is. . . And ARWOP = Normal; then, And ARWOP = Lo; then, And ARWOP = Hi; then,
ARWNET[2] =. . . ARWNET[2] =. . . ARWNET[2] =. . .
not clamped NORMAL Lo Hi
clamped at its high limit Hi HiLo Hi
clamped at is low limit Lo Lo HiLo
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.
555
19 REGULATORY CONTROL
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.
556 www.honeywell.com
19 REGULATORY CONTROL
The ARWNETIN and ARWOPIN parameters would be ORed into the existing standard logic so it is not lost.
The following table summarizes the influence the ARWNETIN and ARWOPIN parameters have on the
ARWNET and ARWOP parameters, which are not user configurable.
557
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
• BADCTLALM.TM
• BADCTLALM.TMO
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.
558 www.honeywell.com
19 REGULATORY CONTROL
559
19 REGULATORY CONTROL
560 www.honeywell.com
19 REGULATORY CONTROL
561
19 REGULATORY CONTROL
562 www.honeywell.com
19 REGULATORY CONTROL
563
19 REGULATORY CONTROL
564 www.honeywell.com
19 REGULATORY CONTROL
565
19 REGULATORY CONTROL
566 www.honeywell.com
19 REGULATORY CONTROL
567
19 REGULATORY CONTROL
If Mode is … Then,
Manual (MAN) the block does not compute OP; it maintains the user-specified OP value and ignores
all input.
When MODE is changed to Man, the block:
• sets its input windup status (ARWNET) to HiLo. As a result, every block
upstream in a cascade strategy will set its windup status (ARWNET and
ARWOP) to HiLo.
• requests its primaries to initialize. As a result, every block upstream will go to
the initialized state or INITMAN = On.
Note that the block whose MODE was changed does not initialize.
Automatic (AUTO) The function block derives OP and the initializable input (SP) may be stored by the
operator or a user program.
Cascade (CAS) The function block fetches its intializable input (SP) from the primary, and calculates
OP. The primary may be on-node or off.
568 www.honeywell.com
19 REGULATORY CONTROL
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.
• The RATIOCTL block has the following initializable outputs:
– OP = calculated output in percent.
– OPEU = calculated output in engineering units.
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 non-initializable 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 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.
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.
The primary sets its output range (CVEUHI/CVEULO) to the SP range (SPEUHI/SPEULO) of the secondary.
The RATIOCTL block monitors SP for time-out.
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.
569
19 REGULATORY CONTROL
If CTLEQN And, Initialization Then, Initialization Value for the Primary Is…
Is… Request for
Primary
Is…
A On
B On
C On
D On
Where:
K1 = gain for X1
K2 = gain for X2
OPBIAS.FIX = fixed output bias
X1BIAS = bias for X1
X2BIAS= bias for X2
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:
570 www.honeywell.com
19 REGULATORY CONTROL
Equation D - For this equation, actual ratio = (uncontrolled flow) / (controlled flow + uncontrolled flow).
Then:
Where:
571
19 REGULATORY CONTROL
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
• 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
• 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.
572 www.honeywell.com
19 REGULATORY CONTROL
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.
Attention
You can use SECINITOPT to ignore override requests from the secondary.
573
19 REGULATORY CONTROL
When the override status changes from selected to unselected, this block does the following:
• Does not initialize its CV
• Computes a feedback value for the SP primary depending on the CTLEQN selected as follows:
Where:
K1 = gain for X1
K2 = gain for X2
OPBIAS.FIX = fixed output bias
X1BIAS = bias for X1
X2BIAS= bias for X2
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.
574 www.honeywell.com
19 REGULATORY CONTROL
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.
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 Experion high or low 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).
575
19 REGULATORY CONTROL
If OP is… And Secondary's Windup = And Secondary's Windup = And Secondary's Windup =
Normal; then, ARWOP =… Lo; then, ARWOP =… Hi; then, ARWOP =…
not clamped NORMAL Lo Hi
clamped at its high limit Hi HiLo Hi
clamped at is low limit Lo Lo HiLo
The ARWNET[1] parameter indicates if X1 is woundup. This is a copy of the ARWOP, which means; if OP is
woundup, then X1 is also woundup.
The ARWNET[2] parameter indicates if RT input is woundup. RT winds up, if it is clamped or OP is woundup.
ARWNET[2] is computed as follows.
If RT is… And ARWOP = Normal; then, And ARWOP = Lo; then, And ARWOP = Hi; then,
ARWNET[2] =…
ARWNET[2] =… ARWNET[2] =…
not clamped NORMAL Lo Hi
clamped at its high limit Hi HiLo Hi
clamped at is low limit Lo Lo HiLo
576 www.honeywell.com
19 REGULATORY CONTROL
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.
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.
577
19 REGULATORY CONTROL
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
578 www.honeywell.com
19 REGULATORY CONTROL
579
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
• BADCTLALM.TM
• BADCTLALM.TMO
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.
580 www.honeywell.com
19 REGULATORY CONTROL
581
19 REGULATORY CONTROL
582 www.honeywell.com
19 REGULATORY CONTROL
583
19 REGULATORY CONTROL
584 www.honeywell.com
19 REGULATORY CONTROL
585
19 REGULATORY CONTROL
586 www.honeywell.com
19 REGULATORY CONTROL
587
19 REGULATORY CONTROL
588 www.honeywell.com
19 REGULATORY CONTROL
If Mode is … Then,
Manual (MAN) the output can be set by the operator or a user program. The X1 input is ignored.
Cascade (CAS) the X1 input comes from another function block.
The initialization request occurs when the MODE changes from CAScade to MANual, but not from MANual to
CAScade.
589
19 REGULATORY CONTROL
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.
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. 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.
590 www.honeywell.com
19 REGULATORY CONTROL
591
19 REGULATORY CONTROL
592 www.honeywell.com
19 REGULATORY CONTROL
Attention
When the function block goes Active or the Mode changes to Auto or Cascade, 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 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
OPBIAS.FLOAT=CVINIT - (CVUNBIASED + OPBIAS.FIX)
Where:
CVINIT=initialization value received from the secondary
CVUNBIASED=unbiased calculated value (based on input from the primary)
OPBIAS.FIX=fixed bias (user-specified)
• If the primary accepts this block's initialization request, then CV + OPBIAS.FIX should be the same as
CVININT 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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=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.
• After initialization, the REGCALC block calculates the floating bias using the following equation.
593
19 REGULATORY CONTROL
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.
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.
594 www.honeywell.com
19 REGULATORY CONTROL
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.
CVORFBSRC - If you make a CVORFBSRC parameter assignment, the REGCALC block computes the CV
override feedback value based on the assignment and it sets its CV equal to the CVORFB, when the override
status for the block is “unselecte”. The override status could be based on the default status received from the
secondary, when the ORFBSTSSRC parameter is unassigned, or a computed customized status based on the
CVFBSTSSRC parameter assignment.
You can write incremental (like PID block) or non-incremental (like AUTOMAN block) expressions for CV, but
certain configuration combinations may cause misleading block behavior - especially, when the expression for
CV is non-incremental. For example, if you assign CVSRC to X[1] and CVORFBSRC to C[1] with C[1]
configured as X[2], assume that at some moment X[1] is 10.0 and X[2] is 50.0, and the override status for the
block is “unselecte”. This configuration produces different values for the block's CV and OP parameters. Based
on X[1], the first CV value is computed as 10.0 and the resulting OP value is 10.0. But, based on X[2], the
CVORFB value is computed as 50.0 and the block overwrites the previous CV value of 10.0 with 50.0,
resulting in different CV and OP values. In this case, assigning CVSRC to X[1] was the wrong configuration to
use. You can eliminate this type of discrepancy by assigning the CVSRC to an expression that calculates a CV
incrementally, such as CV + Delta (CV) so that Delta (CV) is the incremental value added to its previous value
of CV.
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.
595
19 REGULATORY CONTROL
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. 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.
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
596 www.honeywell.com
19 REGULATORY CONTROL
alarms are swapped. The Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
If XWLOFL and/or XWHIFL are… And a Secondary… Then, the Block Derives ARWOP from …
True does or does not exist CV, XWHIFL, and XWLOFL.
False exists CV and secondary's windup status.
False does not exist CV only.
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.
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
597
19 REGULATORY CONTROL
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.
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.
598 www.honeywell.com
19 REGULATORY CONTROL
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
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.
599
19 REGULATORY CONTROL
Operators Description
Unary +-
Binary Arithmetic + -* / MOD (x MOD y) ^ (x^y)
Logical AND OR NOT
Relational = <> <= >= < >
Conditional ? : (For example, X ?Y : Z; similar to IF, THEN, ELSE)
Parenthesis ()
Array Syntax []
Unary Functions
ABS absolute value LOG Base 10 logarithm of a number
ATN arc tangent RND round value
COS1 cosine SGN sign of value (returns -1,0 or +1)
EXP e to the power of x SIN1 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 MID medium value of n arguments (average of
values). middle values for even n).
If this function has a NAN argument If this function has a NAN argument (bad
(bad value), it returns NaN. value), it returns NaN.
MAX maximum of n arguments (ignore bad MUL product of n arguments.
values).
This function ignores NaN values. However,
If this function has a NAN argument if all arguments are NaN, then it returns 1.
(bad value), it returns NaN.
AVG average of n arguments. SUM sum of n arguments.
This function ignores NaN values. This function ignores NaN values. However,
However, if all arguments are NaN, if all arguments are NaN, then it returns 0.
then it returns NaN.
String Support Functions
LEN Returns an integer length of the string NUMSTR Takes the input parameter, casts it to a
Float64 and converts it to a string
MIDS Takes a string, an integer starting STRNUM Takes the string input parameter and converts
position and an integer length. The it to a Float64
function returns the specified portion
of the original string.
Time Support Functions
ABSTOD Takes an absolute time data type and DTIMNUM Takes a delta TIME data type and returns a
strips off the year and date and returns 64-bit float representing the number of
a 64-bit float representing the time of milliseconds.
day in milliseconds.
NOW Returns the current local date and NUMDTIM Takes a 64-bit float representing some
time as an absolute time data type number of milliseconds and converts it to a
delta TIME data type.
600 www.honeywell.com
19 REGULATORY CONTROL
Operators Description
NUMTIM Takes a 64-bit float representing the STRTIM Takes a string input parameter and converts it
number of milliseconds since Jan 1, to an Absolute time. The string must be in the
1972 and converts it to absolute same format as an Absolute time constant.
TIME data type.
TOD Returns the current local time of day TIMNUM Takes an Absolute TIME data type and
as Time of Day data type returns a 64-bit float representing the total
number of milliseconds since Jan 1, 1972.
UTCTOD Returns the current UTC time of day UTCNOW Returns the current UTC date and time of day
as Time of Day data type as an absolute time data type
1Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and not degrees.
Attention
When the expression is sent to the external reference component, the delimiters are removed: TagName.‘text’ becomes
TagName.text.
601
19 REGULATORY CONTROL
• Expressions cannot contain an assignment operation (a colon followed by an equal sign with the current
syntax) For example, “PID1.MODE:=X[1]” is invalid.
Each expression produces a single value (arithmetic or logical which is automatically stored in a “C”
parameter. For example, if you write four expressions, the result of the first expression is stored in C[1], the
result of the second is stored in C[2], etc. You can use these results, by name, in succeeding expressions. In
this example, you could use C[1] as an input to expressions 2, 3, and 4.
• 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.
• You must configure calculator expressions contiguously (without breaks) in the arrays. For example, a sample
expression for calculating the average between minimum and maximum values would be as follows:
– AVG (MIN(CM1.REGCALC.X[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]),
MAX(CM1.REGCALCX[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]))
Attention
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to the Calculator blocks. With
R400 release, 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:
• An expression can be configured using the expression constants parameters (CONST[1..8]).
CM1.CALC1.CONST[1] * CM1.CALC1.X[2] + CM2.REGCALCA.CV
• The expression constant parameters (CONST[1..8]) support runtime indexing in the expressions.
CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
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.
Attention
When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8] parameter is blank by default.
When you migrate to a future release, the EXPRDESC[1..8] parameter retains its values.
• With R410, when you write the expressions using the TPS point's parameter references, ensure that the TPS
reference parameter is configured using the parentheses “()”to specify array index. However, when you write
the expressions using the other non-CEE points you can use the brackets “[].”
Operator Description
:= Assignment - used only in the SCM Step Output blocks to assign the results of an expression to a
reference.
CM.block.mystringparam := “This is a string constant”
CM.block.mystringparam := CM.desc
+ Concatenation
CM.block.mystringparam + CM.desc
602 www.honeywell.com
19 REGULATORY CONTROL
Operator Description
= Equal to
CM.block.mystringparam = CM.desc
<> Not equal to
CM.block.mystringparam <> “This is a string”
Time constants
You can use the following valid time constants in expressions.
• An Absolute Time constant is entered MM/DD/YYY hh:mm:ss:uuuu, where uuuu is milliseconds
• A Delta Time constant is entered as hh:mm:ss:uuuu, where uuuu is milliseconds
• Time of Day constant is also entered as hh:mm:ss:uuuu.
Operator 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.
- Absolute Time can be subtracted from Absolute time, which results in a Delta Time. Delta time or
Time of Day can be subtracted from an absolute time, which results in absolute time. Time of Day can
be subtracted from Delta Time, which results in a Delta Time. See the following section Subtracting
time data types.
=, <>, <=, >=, <, Compares two operands of type time. Both operands must be of the same time data type.
>
DAYS1 Tskes operand and returns equivalent delta time value.
HOURS1 Takes operand and returns equivalent delta time value.
MINS1 Takes operand and returns equivalent delta time value.
SECS1 Takes operand and returns equivalent delta time value
1The DAY, HOURS, MINS, SECS Operators are not case specific.
603
19 REGULATORY CONTROL
604 www.honeywell.com
19 REGULATORY CONTROL
Each REEOUT block supports the following user configurable attributes. The following table lists the given
name of the “Ta” 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.
605
19 REGULATORY CONTROL
606 www.honeywell.com
19 REGULATORY CONTROL
607
19 REGULATORY CONTROL
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
• BADCTLALM.TM
• BADCTLALM.TMO
Each REGSUMMER block supports the following user configurable attributes. The following table lists the
given name of the “Ta” 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.
608 www.honeywell.com
19 REGULATORY CONTROL
609
19 REGULATORY CONTROL
610 www.honeywell.com
19 REGULATORY CONTROL
611
19 REGULATORY CONTROL
612 www.honeywell.com
19 REGULATORY CONTROL
613
19 REGULATORY CONTROL
614 www.honeywell.com
19 REGULATORY CONTROL
615
19 REGULATORY CONTROL
616 www.honeywell.com
19 REGULATORY CONTROL
617
19 REGULATORY CONTROL
Attention
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.
618 www.honeywell.com
19 REGULATORY CONTROL
Attention
SECINITOPT may be used to ignore initialization requests from the secondary.
Where:
OPBIAS.FIX = Fixed output bias
K = Overall gain for CV
XK(1..4) = Individual gain for each input
INITREQ = initialization request flag for the X(1) primary
INITVAL = initialization value for the X(1) primary
When the cascade is broken, input X1 goes into initialization.
The initialization value to the primary is
619
19 REGULATORY CONTROL
Note
The gain value should be greater than zero.
When the cascade resumes, the internal ramping bias value OPBIAS.FLOAT is calculated
OPBIAS.FLOAT = CVlast - K*(XK(1)*X(1) + XK(2)*X(2) + XK(3)*X(3) + XK(4)*X(4)) -OPBIAS.FIX
Where CVlast is the last calculated CV before initialization.
When only the X1 input is used:
INITVAL = (CV - OPBIAS.FIX)/K
OPBIAS.FLOAT = CVlast - K * X1 - OPBIAS.FIX
Attention
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:
• Calculates a feedback value for its primary:
primary feedback =
Note
The gain value should be greater than zero.
where:
OPBIAS.FIX = Fixed output bias
OPBIAS.FLOAT = Floating output bias
K = Overall gain for CV
XK(1..4) = Individual gain for each input
When only the X1 input is used:
620 www.honeywell.com
19 REGULATORY CONTROL
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.
621
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
622 www.honeywell.com
19 REGULATORY CONTROL
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.
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.
623
19 REGULATORY CONTROL
624 www.honeywell.com
19 REGULATORY CONTROL
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.
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
• BADCTLALM.TM
• BADCTLALM.TMO
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
625
19 REGULATORY CONTROL
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.
626 www.honeywell.com
19 REGULATORY CONTROL
627
19 REGULATORY CONTROL
628 www.honeywell.com
19 REGULATORY CONTROL
629
19 REGULATORY CONTROL
630 www.honeywell.com
19 REGULATORY CONTROL
631
19 REGULATORY CONTROL
632 www.honeywell.com
19 REGULATORY CONTROL
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.
633
19 REGULATORY CONTROL
634 www.honeywell.com
19 REGULATORY CONTROL
The following table includes descriptions of the callouts in Views A and B of the figure above.
Callout Description
1 Control Builder connects the X1BACKCALOUT parameter of the REMCAS_1 block to the
BACKCALCIN parameter for the PID_PRIMARY block in another Control Module (CM). The individual
BACKCALCIN/BACKCALCOUT connections for each output used are automatically built by Control
Builder as implicit/hidden connections.
2 This control loop represents a remote cascade primary located in a different CM. Typically, this loop is also
located in a different controller. This loop serves as the remote primary for the REMCAS_1 block located
in another CM. The REMCAS_1 block uses the output from this loop as its primary input (X1), as long as
this loop provides a valid output value. If a communication or some other problem interrupts this loop's
output, the REMCAS_1 block switches to the output from the backup/local primary loop.
3 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.
4 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).
5 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.
635
19 REGULATORY CONTROL
Callout Description
6 The PID_BACKUP block serves as a backup/local primary source for the remote primary source
(PID_PRIMARY) located in another CM. The REMCAS_1 block switches to this backup source, if there is
a problem with the output from the PID_PRIMARY.
7 The INITMAN function remains ON in the PID_BACKUP block.
8 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.
9 Use the parameter connector function to connect the OP parameter of the PID_PRIMARY block in another
Control Module (CM) to the X1 parameter on this REMCAS_1 block. See callout 3 in View A for the
location of the OPEUX 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.
636 www.honeywell.com
19 REGULATORY CONTROL
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.
637
19 REGULATORY CONTROL
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.
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 Experion high or low 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).
638 www.honeywell.com
19 REGULATORY CONTROL
639
19 REGULATORY CONTROL
640 www.honeywell.com
19 REGULATORY CONTROL
When TRACKING is Off, this block propagates changes in windup status and override 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.
Where:
OPBIAS.FIX = fixed output bias
OPBIAS.FLOAT = floating bias, calculated using the following equation:
OPBIAS.FLOAT = (CV( from last cycle) - X(n)) - OPBIAS.FIX
X(n) = the currently-selected input (n = 1 or 2)
Attention
When the function block goes Active or the Mode changes to Cascade, 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.
641
19 REGULATORY CONTROL
• 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.
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.
642 www.honeywell.com
19 REGULATORY CONTROL
INITREQ[1] = On
INITVAL[1] = CV - OPBIAS.FIX
INITREQ[2] = On
INITVAL[2] = CV - OPBIAS.FIX
Where:
INITREQ[1] = initialization request flag for the X1 primary
INITVAL[1] = initialization value for the X1 primary
INITREQ[2] = initialization request flag for the X2 primary
INITVAL[2] = initialization value for the X2 primary
643
19 REGULATORY CONTROL
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.
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.
644 www.honeywell.com
19 REGULATORY CONTROL
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
645
19 REGULATORY CONTROL
646 www.honeywell.com
19 REGULATORY CONTROL
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.
• 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.
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the OPHIALM parameter.
• OPHIALM.TM
• OPHIALM.TMO
• OPHIALM.DB
• OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm
• BADCTLALM.TM
• BADCTLALM.TMO
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.
647
19 REGULATORY CONTROL
648 www.honeywell.com
19 REGULATORY CONTROL
649
19 REGULATORY CONTROL
650 www.honeywell.com
19 REGULATORY CONTROL
651
19 REGULATORY CONTROL
652 www.honeywell.com
19 REGULATORY CONTROL
653
19 REGULATORY CONTROL
Table 37: Example CB configuration using a SWITCH block to assign a different primary to a secondary.
You can also use multiple SWITCH blocks to assign a primary to a different secondary. The example
configuration shown in the following figure uses a FANOUT block to provide the output from a primary PID
block to two SWITCH blocks. One SWITCH block for each secondary. To select one of the secondaries, you
654 www.honeywell.com
19 REGULATORY CONTROL
must turn ON the same SELXFL input or store the same number to the SELXINP input on each SWITCH
block.
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.
Table 38: Example CB configuration using multiple SWITCH blocks to assign a primary to a different secondary.
655
19 REGULATORY CONTROL
656 www.honeywell.com
19 REGULATORY CONTROL
• This block requests all primaries to initialize when mode changes from CAScade to MANual.
Attention
This block does not support mode shedding on timeout.
657
19 REGULATORY CONTROL
SELX SELX SELX SELX SELX SELX SELX SELX Given Selection Flag States Select Input…
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]
Off Off Off Off Off Off Off On X[8]
BADINPTOPT(i) = IncludeBad:
CV is set to NaN,
the selected input does not change (no automatic switching).
BADINPTOPT(i) = IgnoreBad
An attempt is made to automatically switch to the next input. If a good input is
found, then the Swith selection changes to this input; if a good input is not found,
then CV is set to NaN and the selected input does not change.
Based on the configured equation, the SWITCH block automatically switches to the next input as follows:
• 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 as with Equations A and B.
658 www.honeywell.com
19 REGULATORY CONTROL
659
19 REGULATORY CONTROL
Attention
When the function block goes Active or the Mode changes to Cascade, 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 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.
– The floating bias (OPBIAS.FLOAT) is set to zero.
• The OPBIAS.FLOAT is calculated as follows.
OPBIAS.FLOATCVINIT - (CVUNBIASED + OPBIAS.FIX)
Where:
CVINIT=initialization value received from the secondary
CVUNBIASED=unbiased calculated value (based on input from the primary)
OPBIAS.FIX=fixed bias (user-specified)
• If the primary accepts this block's initialization request, then CV + OPBIAS.FIX should be the same as
CVININT 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.
• You configure the OPBIAS.RATE to apply a ramp rate to the OPBIAS.FLOAT. It is only used when the
OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute and may
have the following values.
– 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.FLOATOPBIAS.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.
660 www.honeywell.com
19 REGULATORY CONTROL
When the selected input is again good, this block recalculates CV, and requests the primary to initialize.
661
19 REGULATORY CONTROL
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.
662 www.honeywell.com
19 REGULATORY CONTROL
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.
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 Experion high or low 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:
• from Direct, DirectDispInd, or ReverseDispInd to Reverse or
• from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
663
19 REGULATORY CONTROL
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.
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.
664 www.honeywell.com
19 REGULATORY CONTROL
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
665
19 REGULATORY CONTROL
666 www.honeywell.com
20 UCN Interface
Related topics
“Universal Control Network (UCN) Interface Block Library” on page 668
“UCNOUT/EUCNOUT block” on page 669
667
20 UCN INTERFACE
Note
The EUCNOUT block does not require an OPC gateway or a TPN server to communicate with the EHPM.
This library includes the UCNOUT and the EUCNOUT function blocks that provide configurable connections
and compatible data mapping between controllers. The following subsection provides a functional description
of the EUCNOUT block.
668 www.honeywell.com
20 UCN INTERFACE
The following table lists the major functions the UCNOUT/EUCNOUT block performs along with a brief
description of the function.
669
20 UCN INTERFACE
Function Description
Translates secondary data (SECDATA) from Process The data structures for SECDATA and BACKCALC pass
Manager regulatory control points to ACE/C300 controller information back up the control path from secondaries to
compatible back calculation (BACKCALC) data. primaries. They contain data like initialization request,
initialization value, and anti-reset windup status.
Since SECDATA does not provide override feedback
propagation data, the UCNOUT/EUCNOUT block cannot
use BACKCALC to forward this data to its primary. This
means override strategies are not possible between the ACE/
C300 supervisory controller and the UCN based Process
Manager/EHPM Controller.
Participates in Remote Cascade Request protocol for a If Process Manager/EHPM regulatory control point is
Process Manager/EHPM regulatory control point MODE configured for Remote Cascade and the MODE is changed
changes. to Cascade, the MODE does not change immediately. The
UCNOUT/EUCNOUT block receives the Remote Cascade
request and then stores Cascade to the MODE for the
Process Manager point to complete the formation of the
cascade strategy.
Forwards inputs from primary regulatory control blocks in The Process Manager/EHPM point uses the Engineering
ACE/C300 supervisory controller to a Process Manager/ Units obtained from the SECDATA fetch to convert stores
EHPM regulatory control point. to its regulatory control point setpoint to Engineering Units.
The BACKCALC structure supports the same Engineering
Units information function for ACE/C300 regulatory control
blocks.
670 www.honeywell.com
20 UCN INTERFACE
For more information on remote cascade, refer to the HPM Control Theory in the TPN/TPS PDF bookset.
671
20 UCN INTERFACE
Attention
It is possible to configure and load a Control Module that includes an UCNOUT/EUCNOUT block with connections
that are not consistent for the selected Remote Cascade Type. In this case, you will not be permitted to activate the
Control Module in the Monitoring mode.
If a warning prompt appears about inconsistent UCNOUT/EUCNOUT input and output connections when saving a
Control Module, be sure you have configured the correct inputs and outputs for the selected Remote Cascade Type
before you close the Control Module.
If Remote Cascade Type Is . . . Then, Connect SP Input Or, Connect RSP Input Or, Connect OP Input
(SPPIN) . . . (RSPPIN) . . . (OPIN). . .
SPC - Setpoint Control Yes No No
DDC - Direct Digital Control No No Yes
RSP - Remote Setpoint No Yes No
Control
DDCRSP - Direct Digital Yes No Yes
Control with Remote Setpoint
672 www.honeywell.com
20 UCN INTERFACE
The secondary data input (SECDATAIN) and the mode output (MODEOUT) connections are required for all
Remote Cascade Types. The following table summarizes the UCNOUT/EUCNOUT block inputs and outputs
needed for the given Remote Cascade Type selection.
673
20 UCN INTERFACE
674 www.honeywell.com
20 UCN INTERFACE
The SPPIN, RSPPIN, and/or OPIN input to the UCNOUT block is updated as part of each execution of the
Control Module. The SECDATAIN input is gathered at the rate specified by periodic update rate configured for
the referenced OPC server peer environment through the CEEACE block configuration of the peer subscription
period. The SPOUT and/or OPOUT outputs are stored at the rate of the UCNOUT block execution, while the
MODEOUT output is stored whenever necessary (normally a one-time store) to form the cascade with the UCN
point. The monitoring parameter CASSTS shows the status of the remote cascade match between ACE
controller and UCN regulatory control points during execution as follows:
Starting with Experion R430, the SPPIN, RSPPIN, and/or OPIN input to the EUCNOUT block is updated as
part of each execution of the Control Module. The SPOUT and/or OPOUT outputs are stored at the rate of the
EUCNOUT block execution, while the MODEOUT output is stored whenever necessary (normally a one-time
store) to form the cascade with the EUCN point. The monitoring parameter CASSTS shows the status of the
remote cascade match between ACE/C300 Controller and EUCN regulatory control points during execution as
follows:
• CASSTS = CASOK: Shows that remote cascade match is found between ACE/C300 and UCN/EUCN
regulatory control point.
• CASSTS = CASMISMATCH: Shows that remote cascade mismatch was found between ACE/C300 and
UCN/EUCN regulatory point.
• CASSTS = SECDATANOTREAD: Shows that secondary data from UCN/EUCN regulatory control point is
not being fetched.
675
20 UCN INTERFACE
676 www.honeywell.com
21 Hiway Interface
Related topics
“Hiway Interface (HIWAYIF) Block Library” on page 678
“HIWAYOUT Block” on page 679
677
21 HIWAY INTERFACE
678 www.honeywell.com
21 HIWAY INTERFACE
The following table lists the major functions the HIWAYOUT block performs along with a brief description of
the function.
Function Description
Stores to regulatory points. Translates secondary data (SECDATA) from Data Hiway regulatory
control points to ACE controller compatible back calculation
(BACKCALC) data.
The data structures for SECDATA and BACKCALC pass
information back through the control path from secondaries to
primaries. They contain data like initialization request, initialization
value, and anti-reset windup status.
The block forwards inputs it receives from the primary of a
regulatory control function block in the ACE controller to a Data
Hiway regulatory control point.
Stores to setpoint (SP) Data Hiway Regulatory Control point are
converted to Engineering Units using the Engineering Units range
obtained from the Data Hiway point SECDATA fetch.
679
21 HIWAY INTERFACE
Function Description
Stores to Analog Output and Composite Points. Participates in Remote Cascade Request protocol for Data Hiway
regulatory control point MODE changes.
If a user or a program attempts to change the MODE of a Data
Hiway point to Cascade (CAS), the MODE does not change
immediately nor is it stored to a box on the Data Hiway. It does set
the cascade request (CASREQ) parameter in the SECDATA
structure to REQ.
Setting the CASREQ value to REQ, triggers the HIWAYOUT block
to set the mode to Cascade when it reads the CASREQ parameter in
the SECDATA. This completes the formation of the cascade strategy.
The MODE now goes to CAS and the CASREQ reverts to its default
value of NOTREQ.
If communications between the ACE controller and the Data Hiway
fail, the MODE goes back to Manual (MAN) and the CASREQ
value is set to REQ.
680 www.honeywell.com
21 HIWAY INTERFACE
Attention
ATTENTION It is possible to configure and load a Control Module that includes a HIWAYOUT block with
connections that are not consistent for the selected Remote Cascade Type. In this case, you will not be permitted to
activate the Control Module in the Monitoring mode.
If a warning prompt appears about inconsistent HIWAYOUT input and output connections when saving a Control
Module, be sure you have configured the correct inputs and outputs for the selected Remote Cascade Type before you
close the Control Module.
If Remote Cascade Type Then, Connect SP Or, Connect OP Input Then, Connect SP Or, Connect OP
Is . . . Input (SPPIN) . . . (OPIN). . . Output (SPOUT). . . Output (OPOUT). . .
SPC - Setpoint Control Yes No Yes No
DDC - Direct Digital No Yes No Yes
Control
681
21 HIWAY INTERFACE
Table 41: Example of HIWAYOUT block used to do setpoint control of a regulatory Control Builder point
682 www.honeywell.com
21 HIWAY INTERFACE
Table 42: Example of HIWAYOUT block used to write to an AO block on the High Level Process Interface Unit (HLPIU) for Direct
Digital Control
683
21 HIWAY INTERFACE
684 www.honeywell.com
22 Exchange Functions
Related topics
“Exchange Function Blocks” on page 686
“REQFLAGARRAY Block” on page 687
“REQNUMARRAY Block” on page 691
“REQTEXTARRAY Block” on page 695
“RSPFLAGARRAY Block” on page 699
“RSPNUMARRAY Block” on page 701
“RSPTEXTARRAY Block” on page 703
685
22 EXCHANGE FUNCTIONS
686 www.honeywell.com
22 EXCHANGE FUNCTIONS
687
22 EXCHANGE FUNCTIONS
688 www.honeywell.com
22 EXCHANGE FUNCTIONS
689
22 EXCHANGE FUNCTIONS
690 www.honeywell.com
22 EXCHANGE FUNCTIONS
691
22 EXCHANGE FUNCTIONS
692 www.honeywell.com
22 EXCHANGE FUNCTIONS
693
22 EXCHANGE FUNCTIONS
694 www.honeywell.com
22 EXCHANGE FUNCTIONS
695
22 EXCHANGE FUNCTIONS
696 www.honeywell.com
22 EXCHANGE FUNCTIONS
697
22 EXCHANGE FUNCTIONS
698 www.honeywell.com
22 EXCHANGE FUNCTIONS
Attention
The Process Values (PVFL[N]) can be overwritten by operators or other programs (SCMs), when the value is also
being written by a remote device as part of a write request type operation. Be sure your control strategy design does
not allow write conflicts.
699
22 EXCHANGE FUNCTIONS
700 www.honeywell.com
22 EXCHANGE FUNCTIONS
701
22 EXCHANGE FUNCTIONS
702 www.honeywell.com
22 EXCHANGE FUNCTIONS
703
22 EXCHANGE FUNCTIONS
The RSPTEXTARRAY block supports a maximum size of 64 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 64 two-byte characters of data, will
be rejected.
704 www.honeywell.com
23 Auxiliary Function Blocks
Auxiliary function blocks provide a variety of configurable functions for conditioning, calculating, and
compensating PV data in support of regulatory control functions.
The following table presents the various functions that can be performed through the configuration of the
associated Auxiliary function block.
Attention
The ROC block can be used only with C300, C200E, and ACE controllers and it is not supported with C200
controllers.
705
23 AUXILIARY FUNCTION BLOCKS
706 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
707
23 AUXILIARY FUNCTION BLOCKS
708 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
709
23 AUXILIARY FUNCTION BLOCKS
Table 44: Example CB configuration using AUXCALC block for range conversion.
710 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
Attention
When the expression is sent to the external reference component, the delimiters are removed: TagName.‘text’ becomes
TagName.text.
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.
711
23 AUXILIARY FUNCTION BLOCKS
Attention
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to the Calculator blocks. With
R400 release, 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:
• An expression can be configured using the expression constants parameters (CONST[1..8]).
Example:
CM1.CALC1.CONST[1] * CM1.CALC1.X[2] + CM2.REGCALCA.CV
• The expression constant parameters (CONST[1..8]) support runtime indexing in the expressions.
Example:
CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
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.
Note: When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8] parameter is blank
by default. When you migrate to a future release, the EXPRDESC[1..8] parameter retains its values.
• With R410, whenWhen you write the expressions using the TPS point's parameter references, ensure that the
TPS reference parameter is configured using the parentheses “()”to specify array index. However, when you
write the expressions using the other non-CEE points you can use the brackets “[].”
712 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
PV = CPV * {((C [1] * P[1]) + D [1] ) + … ((C [i] * P[i] )+ D [i] )} + DPV
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.
713
23 AUXILIARY FUNCTION BLOCKS
714 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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.
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.
Table 45: Example CB configuration using AUXSUMMER block to calculate PV based on three inputs.
715
23 AUXILIARY FUNCTION BLOCKS
716 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
Attention
Counter equation selection (CNTEQN): Equation A is selected as the default equation. You can select any equation
based on your control strategy requirements.
717
23 AUXILIARY FUNCTION BLOCKS
Input fetched or tried to INCLAMPOPT FLOAT64 value Value for Counter load Value for limit
store (INFLOAT64) status operation checking
+Infinity TRUE 2,147,483,647.0 2,147,483,647 2,147,483,647
+Infinity FALSE NaN Retain previous The limit comparison
internal counter value is always FALSE
and never load the (NaN).
counter.
Greater than TRUE 2,147,483,647.0 2,147,483,647 2,147,483,647
2,147,483,647.0
718 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
Input fetched or tried to INCLAMPOPT FLOAT64 value Value for Counter load Value for limit
store (INFLOAT64) status operation checking
Greater than FALSE NaN Retain previous The limit comparison
2,147,483,647.0 internal counter value is always FALSE
and never load the (NaN).
counter.
Between TRUE/FALSE Float value is truncated Float value is truncated Float value is
-2,147,483,648.0 and to integer equivalent. to integer equivalent, truncated to integer
+2,147,483,647.0 then cast to INT32 equivalent, then cast
to INT32
Less than TRUE -2,147,483,648.0 -2,147,483,648 -2,147,483,648
-2,147,483,648.0
Less than FALSE NaN Retain previous The limit comparison
-2,147,483,648.0 internal counter value is always FALSE
and never load the (NaN).
counter.
-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 The limit comparison
internal counter value is always FALSE
and never load the (NaN).
counter.
Attention
If RESETFL and LOADFL flags are set to “TRUE” at the block execution time, the internal counter value is set to
zero.
Edge Trigger
If the CNTLVLFL flag is set to “FALSE”, the counter evaluates the count inputs (CNTUPFL or CNTDNFL) as
edge-triggered quantities. CTUD activates a trigger increment when a positive edge transition on the CNTUPFL
is detected. CTUD activates a trigger decrement when a positive edge transition on the CNTDNFL is detected.
The counter value is unchanged until the next transition occurs.
The following is an example configuration figure for edge-triggered count.
719
23 AUXILIARY FUNCTION BLOCKS
The following diagram displays how the transition occurs in case of edge-trigger.
Attention
Input edge detection on the count up and countdown inputs are not enabled until the second execution cycle following
the initialization. Therefore, the reload of a CM containing a CTUD block with an unchanged input state of “1” does
not generate a count.
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 increment 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.
720 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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.
The following diagram displays how the transition occurs in case of level trigger.
721
23 AUXILIARY FUNCTION BLOCKS
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.
Algorithm Range Overflow conditions and results Underflow conditions and results
A, B, E, F 2,147,483,647 to • Condition: If the counter • Condition: If the counter value is
+2,147,483,647 value is greater than lesser than -2,147,483,647.
+2,147,483,647. • Result: The Counter value is set to
• Result: The Counter value is the +2,147,483,647 and the counter
set to the -2,147,483,647 and operation continues.
the counter operation
continues.
C 0 to +2,147,483,647 • Condition: If the counter • Condition: If the counter value is
value is greater than the lesser than zero.
value +2,147,483,647. • Result: The counter value is set to
• Result: The counter value is +2,147,483,647 and continues the
set to zero and continues the operation.
operation.
D 0 to IN • Condition: If the counter • Condition: If the counter value is
value is greater than the IN lesser than zero.
Note: This
parameter values (ININT32/ • Result: The counter value is set to
equation
INFLOAT64). the IN parameter values (ININT32/
requires IN >0
for counting • Result: The Counter value is INFLOAT64) and continues the
correctly set to zero and continues the operation.
operation.
G -2,147,483,648 to 0 • Condition: If the counter • Condition: If the counter value is
value is greater than zero. lesser than -2,147,483,647,
• Result: The Counter value is • Result: The Counter value is set to
set to -2,147,483,647 and zero and continues the operation.
continues the operation.
H IN to 0. • Condition: If the counter • Condition: If the counter value is
value is greater than the IN lesser than the IN parameter
Note: This
value (ININT32/ (ININT32/INFLOAT64) value.
equation
INFLOAT64). • Result: The counter value is set to
requires IN < 0
for counting • Result: The counter value is zero continues the operation.
correctly. set to the IN value
(ININT32/INFLOAT64)
continues the operation.
722 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
Attention
The CTUD excludes a gap between zero and IN (INT32/FLOAT64) value for the following scenarios.
• The IN value is greater than zero when using Equation D.
• The IN value is lesser than zero when using Equation H.
The following figure displays the gap excluded between zero and the IN values for the Equation D and H.
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.
723
23 AUXILIARY FUNCTION BLOCKS
724 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
725
23 AUXILIARY FUNCTION BLOCKS
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.
726 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
727
23 AUXILIARY FUNCTION BLOCKS
728 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
729
23 AUXILIARY FUNCTION BLOCKS
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.
• You can connect DEADTIME blocks in series to achieve longer delays.
730 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
731
23 AUXILIARY FUNCTION BLOCKS
732 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
733
23 AUXILIARY FUNCTION BLOCKS
Attention
When the expression is sent to the external reference component, the delimiters are removed: TagName.'text' becomes
TagName.text.
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”.
734 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
• 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
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to the Calculator blocks. With
R400 release, 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:
• An expression can be configured using the expression constants parameters (CONST[1..8]).
Example: CM1.CALC1.CONST[1] * CM1.CALC1.X[2] + CM2.REGCALCA.CV
• The expression constant parameters (CONST[1..8]) support runtime indexing in the expressions.
Example: CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
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.
Attention
When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8] parameter is blank by default.
When you migrate to a future release, the EXPRDESC[1..8] parameter retains its values.
• With R410, when you write the expressions using the TPS point's parameter references, ensure that the TPS
reference parameter is configured using the parentheses “()”to specify array index. However, when you write
the expressions using the other non-CEE points you can use the brackets “[].”
1
PP[1]*2+P[2]
Here
If PENABLE[1] = 0, C[1] = (PSUB[1]*CP[1])*2+PSUB[2]
Else C[1] = (P [1]*CP [1])*2+P [2]
2
MIN(PP[10],P[2],C[1])
735
23 AUXILIARY FUNCTION BLOCKS
3
(PP[7] <> 12)? 10 : PP[7]
4
SQRT(PP[5])
736 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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].
737
23 AUXILIARY FUNCTION BLOCKS
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:
• 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.
738 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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.
Attention
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 input-output relationship
curves. The ENHGENLIN block provides only one output for inputs rather the GENLIN blocks provide 4
outputs.
739
23 AUXILIARY FUNCTION BLOCKS
Attention
The output of the C300 20ms PID block can be connected as an input (P1) to the ENHGENLIN block instead of the
NUMERIC block used in this example.
740 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
• Any of the involved linearization segment table segment co-ordinates (IN [ ] [ ] or OUT [ ] [ ]) contains NaN
(Not a Number). The active linearization segment table is selected using ACTLINSEG parameter. The first
segments are involved as defined in NUMSEGS [ACTLINSEG] parameter.
• The Control Module containing the ENHGENLIN block cannot change the EXECSTATE status to
ACTIVE, if the following conditions are satisfied:
• Any of the segment co-ordinates (IN [ ] [ ] or OUT [ ] [ ]) contains NaN in the NUMSEGS range of the two
coordinate arrays.
• The IN [ ][ ] parameter values are not in ascending order. The values must be monotonically strictly
increasing.
• The OUT [][] parameters values are not in ascending order.
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.
741
23 AUXILIARY FUNCTION BLOCKS
There are two different modes of Governor Valve (GV) operations performed by the ENHGENLIN block.
• Full Arc mode of governing (Uniform Operations)
• Partial Arc mode of governing (Sequence Operations)
The relation between the load percentage and the Governor Valves opening is gradually increases and it is listed
in the following table.
742 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
The sequences and the related operation of the Governor Valves operation with respect to the load are explained
in the following table.
SEQ 2 First, the Governor Valves 3, 5, and 6 operation starts in the initial load, then the
Governor Valves 1, 2, and 4 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
• GV1 is opened 25 % (approx)
• GV2 is opened 8% (approx.)
• GV4 is opened 0%
743
23 AUXILIARY FUNCTION BLOCKS
SEQ 3 First, the Governor Valves 3, 5, and 6 operation starts in the initial load, then the
Governor Valves 2, 4, and 1 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
• 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:
744 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
745
23 AUXILIARY FUNCTION BLOCKS
Attention
The ENHGENLIN block is typically applicable in the C200E and C300 (20ms CEE and 50ms CEE) controllers, and
ACE controllers. The ENHGENLIN block is not supported in the C200 controller.
746 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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.
747
23 AUXILIARY FUNCTION BLOCKS
748 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
If you need characterization or alarming on individual inputs to the FLOWCOMP block, provide the inputs
through a DATAACQ block.
If you want alarming for the compensated flow output, send the output to a DATAACQ block.
749
23 AUXILIARY FUNCTION BLOCKS
Where:
CPV = Overall scale factor for PV
CF1 = Compensation factor
CF2 = Compensation factor
F = Uncompensated flow input
COMPT = A calculated flow compensation term
ERM
• The PVCHAR parameter is the COMPTERM Characterization option. Default value is SQUAREROOT.
Valid options are SQUAREROOT and NONE.
• If COMPTERM is greater than COMPHILM then COMPTERM is clamped to COMPHILM.
• If COMPTERM is less than COMPLOLM then COMPTERM is clamped to COMPLOLM.
• The COMPTERM is calculated differently for each equation as noted in the following sections.
Equation A
Used for mass-flow or volumetric flow compensation of liquids.
• If PVCHAR = SQUAREROOT, then:
•
750 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
Equation B
Used primarily for mass-flow compensation of gases and vapors.
• If PVCHAR = SQUAREROOT, then:
•
Equation C
Used for mass-flow compensation of gases and vapors.
• If PVCHAR = SQUAREROOT, then:
•
Equation C
Used typically for volumetric-flow compensation of gases and vapors.
• If PVCHAR = SQUAREROOT, then:
•
Equation E
Used for mass-flow compensation of steam.
• If PVCHAR = SQUAREROOT, then:
•
751
23 AUXILIARY FUNCTION BLOCKS
Symbol definitions
Where:
G = Specific gravity
MW = Molecular weight
P = Pressure (input)
T = Temperature (input)
Q = Steam quality (input)
X = Steam compressibility (input)
RG = Reference specific gravity (configured)
RP = Reference pressure (configured)
RT = Reference temperature (configured)
RQ = Reference steam quality (configured)
RX = Reference steam compressibility (configured)
RMW = Reference molecular weight (configured)
P0 = Zero pressure reference (configured)
T0 = Zero temperature reference (configured)
Where:
752 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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:
– COMPTERM will freeze to its last good value
– COMPTERM will never go to bad
– PV status will be set to UNCERTAIN
• 0 - In this case:
– If the COMPTERM is BAD, BAD COMPTERM alarm is raised right away, PV status will
be set to UNCERTAIN.
• Greater than 0 - In this case
– COMPTERM will be frozen at its last good values till the MAXCYCLE cycles.
– After MAXCYCLE cycles, set COMPTERM to NaN, PVSTS to BAD and PV to NaN.
Cycle Is the number of cycles elapsed after freezing the COMPTERM.
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.
753
23 AUXILIARY FUNCTION BLOCKS
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):
PV = OUT[i]
• If P1 intersects the first segment (that is, P1 < IN[1]):
•
• If P1 intersects the last segment (that is, P1 > IN[i] for i = NUMSEGS - 1)):
•
• If P1 intersects any other segment (that is, IN[i] < P1 < IN[i + 1] for i =1 to NUMSEGS -2):
•
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
754 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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.
• The segment coordinate values (IN[i]) must be specified in ascending order, from smallest to largest value.
23.9.2 Inputs
The GENLIN block requires one input value (P1):
• P1 must be brought from another function block.
• P1STS represents the status of P1.
755
23 AUXILIARY FUNCTION BLOCKS
Each LEADLAG block supports the following user configurable attributes. The following table lists the given
name of the “Ta” 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.
756 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
757
23 AUXILIARY FUNCTION BLOCKS
758 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
759
23 AUXILIARY FUNCTION BLOCKS
Attention
The ROC block can only be used with C300, C200E, and ACE Controllers.
With R410, the following parameters are introduced for configuring the on-delay time and off-delay time for
BADPV alarms.
• BADPVALM.TM
• BADPVALM.TMO
The Rate of Change block supports the following user configurable attributes. The following table lists the
given name of the “Ta” in the parameter configuration form and then briefly describes the attributes associated
with that tab.
760 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
761
23 AUXILIARY FUNCTION BLOCKS
Attention
• The ROC block is basically a Math block.
• The use of an ROC block is not recommended in case the OP of a PID block is connected to the P1 of an ROC
block and the output is transmitted through PV to the SP of a secondary PID in cascade. In such a case, if the
secondary PID is back INITIALIZED, the INITREQ is not propagated to the Primary PID because the ROC block
is connected between them. The ROC block does not have back initialization capability.
• The ROC block is sensitive to noise. Connecting input filters such as LeadLag or DataAcq block to the ROC block
is highly recommended. The input filter helps in smoothening the signal by reducing/eliminating noise, if any.
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.
762 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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.
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
763
23 AUXILIARY FUNCTION BLOCKS
PVROCNEGLM = 60
PVEULO = 0
PVEUHI = 100
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.
764 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
R410For example, you can use the following parameters to configure the on-delay time, off-delay time,
deadband values, and deadband units for DEVALM parameter.
• DEVALM.TM
• DEVALM.TMO
• DEVALM.DB
• DEVALM.DBU
765
23 AUXILIARY FUNCTION BLOCKS
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 Select the median input. Ignored inputs are excluded.
AVG Calculate the average of the inputs. Ignored inputs are excluded.
MUX Select an input based on the Multiplex value; i.e., act as a multiplexer. Inputs are not ignored.
766 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
767
23 AUXILIARY FUNCTION BLOCKS
768 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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 the 9, the value of P[1].
Case 2:
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.
769
23 AUXILIARY FUNCTION BLOCKS
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
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, i.e.) 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.
770 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
If the block is configured with Selection Method = MUX and BOOLMUX= On, it would function as follows.
771
23 AUXILIARY FUNCTION BLOCKS
772 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
above case, a non-critical 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.
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.
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 Select the median input. Ignored inputs are excluded.
773
23 AUXILIARY FUNCTION BLOCKS
Method Processing
AVG Calculate the average of the inputs. ignored inputs are excluded.
MUX Select an input based on the Multiplex value to act as a multiplexer. Inputs are not ignored.
Attention
The selection method that the block has to use is specified during configuration. During runtime, the selection method
can be changed only if the block is inactive.
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
• PV gets the maximum value of all the valid inputs.
• 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
• PV shall be the average of only the valid inputs.
• The selected input shall be None because PV is a calculated value and not any input by itself.
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
• A Boolean flag BOOLMUX is employed to choose between Integer Mux selection and Boolean Mux
selection. If the flag is set to On, Boolean selection will be performed, otherwise Integer selection will
performed.
• In Integer Mux selection, a control signal MUXSEL (multiplex-selector) is required, which shall be user
configurable or fetched from other function block, or user programs could also store to it.
• 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.
774 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
• If the fetched or configured MUXSEL is valid, but the input corresponding to MUXSEL is not connected,
then the PV value goes bad (NaN) and the respective unconnected input remains selected.
• 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.
• Bad inputs may also be selected.
• Ignoring of Inputs and deviation alarming are not applicable for MUX. Also, the deviation alarm state
should return to normal.
• PV gets the value of the selected input.
• If the value of the input denoted by the control signal is Bad, then the PV also goes Bad.
775
23 AUXILIARY FUNCTION BLOCKS
776 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
777
23 AUXILIARY FUNCTION BLOCKS
23.13.1 Description
The TOTALIZER block periodically adds an input value (P1) to an accumulator value (PV). It looks like this
graphically:
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.
778 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
Figure 18: Example of CB configuration using a TOTALIZER block in a flow control loop
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 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.
3 When the accumulated value (PV) reaches the accumulated target value (ACCTV), the accumulated target
value flag (ACCTVFL) turns ON.
779
23 AUXILIARY FUNCTION BLOCKS
Callout Description
4 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
Based on these configured Trip Point values, the corresponding accumulated deviation flag will turn ON at
the following accumulated values.
• ACCDEV.FL[1] turns ON at PV = 90
• ACCDEV.FL[2] turns ON at PV = 80
• ACCDEV.FL[3] turns ON at PV = 70
• ACCDEV.FL[4] turns ON at PV = 60
5 Be sure to configure the ORDERINCM parameters for the DATAACQ block and the AICHANNEL block
to be lower numbers than the ORDERINCM parameter for the TOTALIZER block, so the DATAACQ and
AICHANNEL blocks execute before the TOTALIZER block. This configuration avoids possible
TOTALIZER interruptions during a warm restart scenario.
780 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
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”.
• CMDATTR: Specifies who may store to COMMAND (that is, either the operator or a user program through
another function block). CMDATTR is used to prevent the operator from inadvertently changing the
accumulator while it is under program control and allows the operator to override a program.
Possible choices are:
– Operator - only the operator may store to COMMAND.
– OtherFB- only a program through another function block may store to COMMAND; the operator may
override the program by setting CMDATTR = Operator.
• STARTFL (Start Flag): Allows either a Logic block or user-written program to store to COMMAND.
– Off-to-On transitions cause the TOTALIZER state to change to Running.
• STOPFL (Stop Flag): Allows either a Logic block or user-written program to store to COMMAND.
– Off-to-On transitions cause the TOTALIZER state to change to Stop.
• RESETFL (Reset Flag): Allows either a Logic block or user-written program to store to COMMAND.
– Off-to-On transitions cause the TOTALIZER to be reset.
781
23 AUXILIARY FUNCTION BLOCKS
The following table summarizes block actions associated with a given PVEQN handling option relative to the
accumulator state and the input status. .
Where:
PVi = TOTALIZER block output from the current pass
PV(i-1) = accumulated value at the end of block's last processing pass
C1 = scale factor for P1; used to convert to different engineering units
Pi = input value from current pass
P(i-1) = input value from last pass
782 www.honeywell.com
23 AUXILIARY FUNCTION BLOCKS
Attention
When the input status returns to normal, a Reset command is needed to return PVSTS to Normal.
783
23 AUXILIARY FUNCTION BLOCKS
784 www.honeywell.com
24 Data Acquisition Functions
Related topics
“DATAACQ (Data Acquisition) Block” on page 786
785
24 DATA ACQUISITION FUNCTIONS
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband unit for the
individual alarms. For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for the PVHIALM parameter.
• PVHIALM.TM
• PVHIALM.TMO
• PVHIALM.DB
• PVHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADPVALM, ROCPOSALM, and ROCNEGALM alarms.
• BADPVALM.TM
• BADPVALM.TMO
• ROCPOSALM.TM
• ROCPOSALM.TMO
• ROCNEGALM.TM
• ROCNEGALM.TMO
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.
786 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
787
24 DATA ACQUISITION FUNCTIONS
788 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
789
24 DATA ACQUISITION FUNCTIONS
790 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
The following illustration shows where you can insert CAB programs in relation to the DATAACQ block's
major functions. This means that you can use CAB programs to enhance aspects of the block's execution but
still take advantage of the more complex system functions such as initialization, anti-reset windup, range-
checking and alarming integral to the native block.
791
24 DATA ACQUISITION FUNCTIONS
Parameter Description
P1 Process Input Value
P1STS Status of Process Input Value
P1EU Process Input Value in Engineering Units
PVAUTO Filtered and clamped value of the Process Input Value (P1)
PVAUTOSTS Status of the filtered and clamped value of the Process Input 1 (PVAUTO)
PVEXHIFL Process Variable (PV) High Limit Flag
PVEXLOFL Process Variable (PV) Low Limit Flag
PVSTS Process Variable (PV) Status
792 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
793
24 DATA ACQUISITION FUNCTIONS
794 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
• 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.
Callout Description
1 The Control Module contains a DATAACQ block named daca.
2 The daca block is configured to include an insertion type PV_Alg from a CAB instance named
CAB_1A.
3 The CAB instance named CAB_1A is added to the Control Module containing the daca block.
795
24 DATA ACQUISITION FUNCTIONS
Callout Description
4 During configuration, the ORDERINCM parameter for CAB_1A is changed to match the setting of
ORDERINCM for the daca block. Also, the insertion point parameter (INSMASTER) for CAB_1A is
turned On or set to True and shows the tag name for daca block on its configuration form.
5 Once the Control Module and its components is loaded to an ACE controller and activated, the daca
block controls the execution of the CAB_1A instance as required. If the CAB_1A instance runs
successively with no failures, the cycle is repeated during every Control Module execution cycle. In
this case, the CAB_1A instance returns a NORMAL status.
If the CAB_1 instance is not used for an insertion point and the INSMASTER parameter is turned Off
or set to False, it is included in the Control Module execution list and runs normally during each
cycle. In this case, no tag name appears in the Insertion Point (INSMASTER) field on the block's
configuration form and the CAB must be re-configured for an Access Level of PROGRAM.
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 condition is set to TRUE
• P1FILTINIT is set to TRUE. This will reset the filtered P1 value in the next cycle.
• INSFAILFl parameter is set to TRUE.
• BADPV alarm is generated.
796 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
Callout Description
1 The Control Module contains a DATAACQ block named daca.
2 The daca block is configured to include an insertion type PV_Alg from a CAB instance named
CAB_1A, insertion type Post_PVchar from a CAB instance named CAB_2A, insertion type
Post_PVsrc from a CAB instance named CAB_3A, and insertion type Post_Alarmproc from a CAB
instance named CAB_4A
3 The CAB instances named CAB_1A, CAB_2A, CAB_3A, and CAB 4A are added to the Control
Module containing the daca block.
4 During configuration, the ORDERINCM parameters for CAB_1A, CAB_2A, CAB_3A, and
CAB_4A are changed to match the setting of ORDERINCM for the daca block. Also, the insertion
point parameters (INSMASTER) for all four CAB instances are turned On or set to True.
5 Once the Control Module and its components is loaded to an ACE controller and activated, the daca
block controls the execution of all CAB instances as required. If all CAB instances run successively
with no failures, the cycle is repeated during every Control Module execution cycle. In this case, all
CAB instances return a NORMAL status.
If a CAB instance is not used for an insertion point and the INSMASTER parameter is turned Off or
set to False, it is included in the Control Module execution list and runs normally during each cycle.
In this case, no tag name appears in the Insertion Point (INSMASTER) field on the block's
configuration form and the CAB must be re-configured for an Access Level of PROGRAM.
CAB_1A, CAB 2A, CAB_3A Failure Scenario
797
24 DATA ACQUISITION FUNCTIONS
Callout Description
If any of the programs CAB_1A, CAB_2A or CAB_3A return a non normal status, the following actions are taken.
• PVAUTO and PV are set to NAN.
• If PVSOURCE is configured as AUTO, PV status is set to BAD and BADPV alarm condition is set to TRUE
• P1FILTINIT is set to TRUE
• The BADPV and any other alarms detected during the current cycle is processed
CAB_4A Failure Scenario
If CAB_4A returns a non normal status, the PV value is left as is.
Table 54: Configuration example using two CAB insertions of the same type
Callout Description
1 The Control Module contains a DATAACQ block named daca.
2 The daca block is configured to include insertion type Post_PVsrc from CAB instances named
CAB_1A and CAB_2A
3 The CAB instances named CAB_1A and CAB_2A are added to the Control Module containing the
dacablock.
798 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
Callout Description
4 During configuration, the ORDERINCM parameters for CAB_1A and CAB_2A are changed to
match the setting of ORDERINCM for the daca block. Also, the insertion point parameters
(INSMASTER) for both CAB instances are turned On or set to True.
5 Once the Control Module and its components is loaded to an ACE controller and activated, the daca
block controls the execution of both CAB instances as required. Since the CAB instances are both
inserted at Post_PVsrc, the instances will be executed in the order in which they were configured. For
example, if CAB instance CAB_1A was added to the CM before CAB_2A, CAB_1A is executed
first. If both CAB instances run successively with no failures, the cycle is repeated during every
Control Module execution cycle. In this case, both CAB instances return a NORMAL status.
If a CAB instance is not used for an insertion point and the INSMASTER parameter is turned Off or
set to False, it is included in the Control Module execution list and runs normally during each cycle.
Failure Scenario
If either CAB_1A or CAB_2A 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 condition is set to TRUE
• P1FILTINIT is set to TRUE. This will reset the filtered P1 value in the next cycle.
• INSFAILFl parameter is set to TRUE.
• BADPV alarm is generated.
24.1.11 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:
– BAD - value is NaN (Not a Number)
– Normal - value is OK.
– 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:
– If P1 is NaN (Not a Number), then: P1STS = Bad.
799
24 DATA ACQUISITION FUNCTIONS
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,
converts 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.
– For P1 input greater than or equal to zero (0):
P1EU SQRT (P1 /100) * (PVEUHI - PVEULO) + PVEULO
– For P1 input less than zero (0):
P1EU - (SQRT (-P1 /100)) * (PVEUHI - PVEULO) + 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.
• NONE: Applies no conversion to the P1 input.
where:
FilteredP1LAST = previous filtered value
Ts = elapsed time in minutes
800 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
• 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.
• Status of the filtered/clamped value is stored in PVAUTOSTS.
• 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:
– FilteredP1 = 63.2% of P1EU after P1FILTTIME.
– FilteredP1 = 86.5% of P1EU after 2 * P1FILTTIME.
– FilteredP1 = 95.0% of P1EU after 3 * P1FILTTIME.
– FilteredP1 = approximately 100% of P1EU after 10 * P1FILTTIME.
801
24 DATA ACQUISITION FUNCTIONS
802 www.honeywell.com
24 DATA ACQUISITION FUNCTIONS
• 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.
• Positive Rate-of-Change trip point (ROCPOSALM.TP) - The rate-of-change trip point is specified by the
user as EUs per minute, and the function block converts this to EUs per 4-second period. If PV changes in a
positive direction by more than this amount for two consecutive 4-second periods, the function block will
generate a Positive Rate-of-Change alarm and set the Positive Rate-of-Change alarm flag
(ROCPOSALM.FL).
Positive Rate-of-Change alarming is enabled by setting ROCPOSALM.TP >= 0, and disabled by setting
ROCPOSALM.TP = NaN.
Attention
• The rate-of-change trip point is specified in EUs per minute.
• ROCPOSALM.TP is expressed as a positive number in EUs per minute.
• Negative Rate-of-Change trip point (ROCNEGALM.TP) - The Rate-of-Change trip point is specified by the
user in EUs per minute, and the function block converts this to EUs per 4-second period. If PV changes in a
negative direction by more than this amount for two consecutive periods, the function block will generate a
Negative Rate-of-Change alarm and set a Negative Rate-of-Change alarm flag (ROCPOSALM.FL).
Negative Rate-of-Change alarming is enabled by setting ROCNEGALM.TP >=0, and disabled by setting
ROCNEGALM.TP = NaN.
Attention
• The rate-of-change trip point is specified in EUs per minute.
• ROCNEGALM.TP is expressed as a positive number in EUs per minute.
The following parameters also apply to each of the previously specified alarms:
• Alarm Filter Time (PVHIALM.TM, PVHHALM.TM, etc.) - Prevents input spikes from causing alarms. PV
will only be alarmed if it consistently exceeds the trip point for more than xxxALM.TM seconds.
If xxxALM.TM = 0, the function block will generate an alarm as soon as PV exceeds the trip point.
Note: This parameter does not apply to the Rate-of-Change alarms (i.e., there is no ROCNEGALM.TM or
ROCPOSALM.TM parameter).
• Alarm Deadband Value (PVHIALM.DB, PVHHALM.DB, etc.) - Note that alarm deadband is not supported
for Rate-of-Change alarms.
Prevents recurring alarms and returns-to-normal due to a noise when PV is near the trip point. The deadband
is applied to the return-to-normal. For example, if PV is in high alarm (PVHIALM.FL = On), it must return
to a value of PVHIALM.DB below 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 deadband units (PVHIALM.DBU, PVHHALM.DBU, etc.) - Indicates if the corresponding alarm
deadband (xxxALM.DB) is in percent or engineering units.
This parameter does not apply to Rate-of-Change alarms (i.e., there is no ROCNEGALM.DBU or
ROCPOSALM.DBU parameter). For Rate-of-Change alarms, the deadband is always expressed in EUs/
minute.
• Alarm flag (PVHIALM.FL, PVHHALM.FL, ROCNEGALM.FL, etc.) - Indicates if the corresponding alarm
condition exists.
803
24 DATA ACQUISITION FUNCTIONS
• 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).
804 www.honeywell.com
25 Pulse Input
Related topics
“Pulse Input Block” on page 806
“PITOTALIZER Block” on page 807
805
25 PULSE INPUT
806 www.honeywell.com
25 PULSE INPUT
You specify a target value for the accumulator, and up to four trip points, which are “near” and “nearer to” the
target value. The PITOTALIZER block sets status flags to indicate when the accumulator value is near (and
nearer to) the user-specified target values. Accumulation proceeds even when the target value is exceeded. An
external operator or program command is required to stop the block from further accumulating.
807
25 PULSE INPUT
808 www.honeywell.com
25 PULSE INPUT
809
25 PULSE INPUT
810 www.honeywell.com
25 PULSE INPUT
Where:
PVi = accumulated value in EU from the current pass
PV (i-1) = accumulated value in EU at the end of block's last processing pass for the function block
C1 = dimensionless scale factor for P1; used to convert to different Engineering Units
C2 = unit normalizer in Counts per Engineering Units
P1(i) = input value from current pass in Counts
P(i-1) = input value from last pass in Counts
Analog Operation
For all equations A through F, when the P1 Input goes bad and the accumulator is running, the accumulated
value (PV) is calculated as follows:
811
25 PULSE INPUT
Where:
PVi = accumulated value in EU from the current pass
PV (i-1) = accumulated value in EU at the end of block's last processing pass
RATE = P1's flow rate in EU / TIMEBASE
TS = Sample Time in TIMEBASE units, hence:
• TS = CM Execution Period in sec, if TIMEBASE is seconds
• TS = CM Execution Period in sec / (60sec/min), if TIMEBASE is minutes
• TS = CM Execution Period in sec / (3600sec/hr), if TIMEBASE is hours
Rate Calculation
The RATE parameter represents the calculated P1 Input Flow Rate in EU / TIMEBASE. During Pulse Input
operation, RATE is calculated every control execution cycle. During Analog Operation, RATE is used to
calculate PV when PVEQN is B or E.
Where:
RATEi = P1's flow rate in EU / TIMEBASE
C1 = dimensionless scale factor for P1; used to convert to different Engineering Units
C2 = unit normalizer in Counts per Engineering Units
P1(i) = input value from current pass in Counts
P(i-1) = input value from last processing pass in Counts
TS = sample Time in TIMEBASE units, hence:
• TS = CM Execution Period in sec, if TIMEBASE is seconds
• TS = CM Execution Period in sec / (60sec/min), if TIMEBASE is minutes
• TS = CM Execution Period in sec / (3600sec/hr), if TIMEBASE is hours
812 www.honeywell.com
25 PULSE INPUT
– The PITOTALIZER block is in warm restart and the “stop” option is configured (Equation D, E, or F).
• When PVSTS is Bad, the PITOTALIZER block sets ACCTVFL and ACCDEV.FL[1-4] to Off.
Attention
When the input status returns to normal, a Reset command is needed to return PVSTS to Normal.
CAUTION
Be aware that there can be an unexpected large value of PV when the input value (P1) jumps from a higher value
to a lower value. The chances of this behavior are rare as the PITOTALIZER block is used with the PICHANNEL.
However, if this condition exists due to some reset mechanisms, you must stop the PITOTALIZER block prior to
the jump and restart it afterwards. If you do not perform this action, the PITOTALIZER calculates the P1
difference to be extremely large and may cause an unexpected behavior.
813
25 PULSE INPUT
814 www.honeywell.com
26 Device Control
Related topics
“DEVCTL (Device Control) Block” on page 816
815
26 DEVICE CONTROL
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.
816 www.honeywell.com
26 DEVICE CONTROL
817
26 DEVICE CONTROL
818 www.honeywell.com
26 DEVICE CONTROL
819
26 DEVICE CONTROL
820 www.honeywell.com
26 DEVICE CONTROL
821
26 DEVICE CONTROL
Attention
Refer to the Sequential Control Module User Guide for more information on the DEVCTL block's batch level 1 driver
interface function.
The following figures are a graphic representation of the DEVCTL block's major functions and associated
parameters.
822 www.honeywell.com
26 DEVICE CONTROL
Table 55: DEVCTL block major functions and parameters - See Figure 43 also.
823
26 DEVICE CONTROL
824 www.honeywell.com
26 DEVICE CONTROL
Figure 19: Example of CB configuration using a DEVCTL block to provide two status outputs.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 You can use an appropriate interlock logic to activate the safety interlock function.
3 You can command the device through the output (OP), which shows the state names you configured for the
block through Control Builder.
4 You can have the device commanded by another block or Sequential Control Module through the generic
output (GOP), which shows the state as S0 to S2.
The GOPSCADA parameter provides a link to Station detail displays and custom schematics to show the
state as STATE_0 to STATE_2.
825
26 DEVICE CONTROL
Callout Description
5 Use the BACKCALCIN/BACKCALOUT connection to carry secondary data from the DOC block to the
DEVCTL. (Note that the individual BACKCALCIN/BACKCALCOUT connections for each DEVCTL
output used are automatically built by Control Builder as implicit/hidden connections.)
The secondary data contains this information for DEVCTL blocks.
• Initialization request flag - requests continuous initialization. If this flag is set and this block is
configured to accept secondary initialization, this block goes to the initialized state and stays there until
the flag is reset.
• Initialization value - provides continuous and one shot initialization.
• 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.
Figure 20: Example of CB configuration using DEVCTL block to provide two on pulse outputs.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 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.
2 You can use an appropriate interlock logic to activate the safety interlock function.
3 The DEVCTL block is in a CMDDISAGREE alarm state because its input states do not agree with the
input conditions consistent with the commanded state.
826 www.honeywell.com
26 DEVICE CONTROL
Callout Description
4 You can command the device through the output (OP), which shows the state names you configured for the
block through Control Builder.
5 You can have the device commanded by another block or Sequential Control Module through the generic
output (GOP), which shows the state as S0 to S2.
The GOPSCADA parameter provides a link to Station detail displays and custom schematics to show the
state as STATE_0 to STATE_2.
6 For the DEVCTL block to provide pulse outputs, you must:
• Enable pulse outputs through the parameter Pulse Output 1, 2, 3 (check box checked), under Output tab
on the parameter configuration form, and configure the desired pulse width for the enabled pulse
outputs.
• Once the Pulse Output is configured, the PO[x] pin will be automatically exposed on the DEVCTL
block symbol. Wire PO[X] pin of DEVCTL block to ONPULSE pin on the corresponding
DOCHANNEL block.
7 For the DOCHANNEL block to handle pulse outputs, you must:
• configure the block to have visible ONPULSE input pin through the block configuration form. This pin
also displays the remaining pulse time upon a state change.
• double-click DOTYPE parameter on block and change selection to ONPULSE.
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.
827
26 DEVICE CONTROL
• The internal POCONNECTED[1..3] parameter is set to ON when the respective PO[1..3] is configured as a
block pin and connected to a DOC.ONPULSE or DOC.OFFPULSE input. This lets the DEVCTL block
know what output is used.
• 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.
– 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 would
be 500 milliseconds, which is the next highest multiple of 125 milliseconds.
– A PULSEWIDTH value of 0 is a special case. If a 0 pulse is sent to ONPULSE or OFFPULSE, the
DOCHANNEL block immediately turns OFF any existing pulse.
Attention
• For pulsed outputs (ONPULSE and OFFPULSE), only one of these inputs may be connected for any one
DOCHANNEL block.
• 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.
828 www.honeywell.com
26 DEVICE CONTROL
DI[1] Input State Configured State Name Related DIPVMAP and GENSTAT
0 Stop S0
1 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.
829
26 DEVICE CONTROL
* 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.
* 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.
830 www.honeywell.com
26 DEVICE CONTROL
* 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.
831
26 DEVICE CONTROL
* 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.
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.
832 www.honeywell.com
26 DEVICE CONTROL
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.
Attention
Output combinations are not necessarily the same as the input feedback combinations for the same state.
833
26 DEVICE CONTROL
834 www.honeywell.com
26 DEVICE CONTROL
835
26 DEVICE CONTROL
Attention
The CMDFALALM.TM[0..2] setting must be less than the CMDDISALM.TM[0..2] setting for the same state[0..2].
• 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.
– 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 be used as a condition for exception handling.
The Off Normal condition is examined as follows:
If command disagree (CMDDISALM) is configured, the OFFNRMALM.FL is set only after the feedback time-
out has occurred. If an interlock or other attribute is active that would prevent OP from changing when a new
command is sent, the feedback time is ignored and the OFFNRMALM.FL will be active within one scan.
836 www.honeywell.com
26 DEVICE CONTROL
If command disagree (CMDDISALM) is not configured, this means that there is no feedback timer. In this case,
the OFFNRMALM.FL is set after one scan time, to avoid race conditions between OP and PV.
• 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.
– If a real-time conflict exists between a Safety Override Interlock Alarm configured to alarm and a PV
alarm condition, such as Uncommanded Change Alarm, interlock action (setting of the output state and
related alarm notification) always occurs regardless of effects of the other alarm.
837
26 DEVICE CONTROL
26.1.28 Initialization Manual Condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP Initialization
The Safety Override Interlock and the Override Interlocks have an impact on how OP initialization works, as
described in the following.
When the INITMAN parameter transitions from ON to OFF, the Device Control FB provides an output value
OP as follows:
• If the Safety Interlock is active, the OP is set to SAFEOP;
• Otherwise, if any of the Override Interlocks are active and not bypassed, the OP is set to the highest priority
Override Interlock;
• Otherwise, if LocalMan is ON, OP tracks PV, if PV is in a settable state (State0, State1, or State2). If PV is
in an unsettable state (Null or InBetween), or PV does not exist, OP is set to SafeOP;
• Otherwise, if OP Initialization is configured as HOLDOPOPT, OP value depends on the LEGACYINITOPT
parameter value;
– If LEGACYINITOPT = ENABLE, the OP remains on the last value. When the Device Control recovers
from the initialization manual condition, the output is not sent to the output point unless an Override
Interlock or Safety Interlock is active and not bypassed.
Attention
If INITOPOPT=HOLDOPOPT and LEGACYINITOPT = ENABLE, the state of the output field device might not
match the state of the OPFINAL parameter after recovery from initialization is complete. There can be a mismatch
between the Device Control output value and the output device state that requires operator's intervention to correct this
mismatch. Therefore, there may be uncertainty in the validity of the field device state after recovering from
initialization.
• If LEGACYINITOPT = DISABLE, OP is either back initialized from the outputs if a valid OP can be
constructed or OP is set to SafeOP.
• Otherwise, if OP Initialization is configured as SAFEOPOPT, OP is set to SafeOP;
• Otherwise (OP Initialization is configured as NORMALOPOPT), in cases where feedback is configured, the
stored OP value tracks the PV state if the PV state is settable ( State0, State1, or State2 );
• Otherwise, OP value is back-initialized from the output connections if
– there are no output types of ONPULSE/OFFPULSE, and
– if a valid OP value can be constructed from the values of the output connections.
Otherwise, OP is set to SAFEOP.
The following figure illustrates the return from initialization behavior.
838 www.honeywell.com
26 DEVICE CONTROL
839
26 DEVICE CONTROL
For more information on the LEGACYINITOPT parameter, refer to the Control Builder Parameter Reference
guide.
Tip
Note that the INITREQ is used differently in DevCtl block than in other blocks, such as DOC, AOC, or RegCtl.
CAUTION
When the default option for parameter INITOPAFTLD is selected, there may be a mismatch between the OP value
and the DO states until a back-initialization or state change occurs. State0 may not correspond to all DOs of 0
(OFF).
840 www.honeywell.com
26 DEVICE CONTROL
• STATETIME [0. 2] - accumulated time of PV in each state (since the last statistics reset).
• NUMSIOVRD - accumulated number of safety interlock trips, which result in OP changing state (since the
last statistics reset).
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.
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.
841
26 DEVICE CONTROL
and output requests which happens in the subsequent execution of the block. In addition, the last OP remains
displayed in the block's faceplate. This is because the new OP value will be effective from the next execution
cycle.
842 www.honeywell.com
27 Logic Functions
Related topics
“Logic Function Blocks” on page 844
“Change Execute (CHGEXEC) Block” on page 861
“CHGEXEC Usage Considerations for Change Driven Execution” on page 862
“Change Driven Application Risk Factors” on page 863
“Blocks Qualified for Use with CHGEXEC Block” on page 864
“Experion Controller Platform Support for CHGEXEC” on page 867
“CHGEXEC Main Parameter Details” on page 868
“CHGEXEC Cascading Between Control Modules Example” on page 870
“CHGEXEC Cascading Within Control Module Example” on page 873
“Importance of Using Consistent Input Data” on page 874
“Periodic Auto Trigger Function of CHGEXEC” on page 876
“Execution Order Considerations for CHGEXEC within CM” on page 879
“CHGEXEC Behaviors for State Transitions” on page 880
“CHGEXEC Supports Checkpoint Function” on page 885
“Load Monitoring Parameters” on page 886
“Sample CHGEXEC TESTOPT Procedure” on page 887
“Examples and scenarios” on page 888
“Contact Monitoring (CONTACTMON) Block” on page 894
843
27 LOGIC FUNCTIONS
844 www.honeywell.com
27 LOGIC FUNCTIONS
The CONTACTMON block can only be used with C300, C200E, and ACE Controllers.
845
27 LOGIC FUNCTIONS
846 www.honeywell.com
27 LOGIC FUNCTIONS
Starting in Experion R311.1, 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 … Then, OUT Value After State Transition
… Is …
PULSEEXPIRED AN OFF
Y
PULSEREADY AN May pulse depending on value of
Y current input and value of input at last
execution.
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.
847
27 LOGIC FUNCTIONS
848 www.honeywell.com
27 LOGIC FUNCTIONS
MAXPULSE Provides a maximum time limit pulse Used to limit the output (OUT)
output (OUT) each time the input pulse to a maximum width.
(IN) transitions from OFF to ON. You
• If the input (IN) pulse time is
specify the maximum output pulse
less than or equal to the
width (PULSEWIDTH) in seconds
specified PULSEWIDTH time,
through configuration.
IN is assumed to equal one
output (OUT) pulse.
• If the IN pulse time is greater
than the specified
PULSEWIDTH time, OUT
pulse terminates at end of
specified PULSEWIDTH time.
849
27 LOGIC FUNCTIONS
Starting in Experion R311.1, 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 … Then, OUT Value After State Transition
… Is …
PULSEEXPIRED ANY OFF
PULSEREADY ANY May pulse depending on value of
current input and value of input at last
execution.
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 Provides an N-input MIN function, Used to isolate the lowest value of
meaning that it provides an output multiple input values and use it as
that is the minimum value of N- a designated output value.
inputs.
MINPULSE Provides a minimum time limit pulse Used to define the minimum
output (OUT) each time the input output (OUT) pulse width.
(IN) transitions from OFF to ON. You
• If the input (IN) pulse time is
specify the minimum output pulse
less than or equal to the
width (PULSEWIDTH) in seconds
specified PULSEWIDTH time,
through configuration.
output (OUT) pulse width
equals the specified time.
• If the IN pulse time is greater
than the specified
PULSEWIDTH time, OUT
pulse width tracks IN pulse
time, so OUT pulse exceeds
specified time.
850 www.honeywell.com
27 LOGIC FUNCTIONS
Starting in Experion R311.1, 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 … Then, OUT Value After State Transition
… Is …
PULSEEXPIRED ANY OFF
PULSEREADY ANY May pulse depending on value of
current input and value of input at last
execution.
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 Provides an up to 8-input Extensible Sets the actual output (OUT) to a
Multiplexer algorithm, meaning that particular input (IN[1], IN[2], …,
it selects 1 of “N” inputs depending IN[8]) depending on the value of a
on a separate input K. separate input K.
• OUT = INk+1
MVOTE Provides an output (MAJ) value that Sets the MAJ output equal to the
equals the value of the majority of the value of the majority of the inputs
inputs (IN[1..8]) and sets another (IN[1..8]).
output (DISCREP) to ON if not all
Sets the DISCREP output to ON, if
inputs agree for a specified time
not all inputs agree during the
(DELAY). You specify the time
specified time (DELAY). DELAY
(DELAY) in seconds through
is a unit integer with time unit in
configuration. You must also specify
seconds.
the number of inputs
(NUMOFINPUTS) through
configuration.
851
27 LOGIC FUNCTIONS
852 www.honeywell.com
27 LOGIC FUNCTIONS
853
27 LOGIC FUNCTIONS
Starting in Experion R311.1, 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 … Then, OUT Value After State Transition
… Is …
PULSEEXPIRED OFF OFF
PULSEEXPIRED ON ON
PULSEREADY ANY May delay depending on value of
current input and value of input at last
execution.
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.
ONDELAY Delays the input signal supplied at the Used to delay the input by a
input (IN) when the input signal specified delay time after an
transitions from OFF to ON. ON/OFF device transitions from
the OFF state to the ON state.
• Delay time is specified by the
DELAYTIME parameter.
ONDELAY timing diagram:
854 www.honeywell.com
27 LOGIC FUNCTIONS
855
27 LOGIC FUNCTIONS
ROL Provides a 16-bit integer output Used to shift out bits in the output
(OUT) that is rotated to the left by the (OUT) by rotating the bits in the
number of bits (N) specified from the input (IN) left by the number of
16-bit integer input (IN). You specify bits (N) specified.
the number of bits through
• OUT = IN left rotated by N
configuration.
bits, circular.
ROL execution diagram:
ROR Provides a 16-bit integer output Used to shift out bits in the output
(OUT) that is rotated to the right by (OUT) by rotating the bits in the
the number of bits (N) specified from input (IN) right by the number of
the 16-bit integer input (IN). You bits (N) specified.
specify the number of bits through
• OUT = IN right rotated by N
configuration.
bits, circular.
ROR execution diagram:
RS Reset - provides a bistable Reset Specifies the output (Q) of the flip-
Dominant flip-flop as defined in the flop as a function of the input S
IEC DIS 1131-3 standard. (Set), the input R (Reset), and the
last state of Q.
856 www.honeywell.com
27 LOGIC FUNCTIONS
Starting in Experion R311.1, 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 … Then, OUT Value After State Transition
… Is …
PULSEEXPIRED ANY OFF
PULSEREADY ANY May pulse depending on value of
current input and value of input at last
execution.
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.
SEL Provides a 3-input selector function, Sets the actual output (OUT) equal
meaning it selects 1 of 2 inputs (IN[1] to the value of 1 of 2 inputs (IN[1]
and IN[2]) depending on the separate or IN[2]), depending on the value
input G. of a separate input (G).
• If G = OFF, OUT = IN1
• If G = ON, OUT = IN2
SEL-REAL Provides a 3-input selector function, Sets the actual output (OUT) equal
meaning it selects 1 of 2 inputs (IN[1] to the value of 1 of 2 inputs (IN[1]
or IN[2]) depending on the separate or IN[2]), depending on the value
input (G). of a separate input (G).
• If G = OFF, OUT = IN1
• If G = ON, OUT = IN2
SHL Provides a 16-bit integer output Used to shift out bits in the output
(OUT) that is shifted to the left by the (OUT) by shifting the bits in the
number of bits (N) specified from the input (IN) left by the number of
16-bit integer input (IN). You specify bits (N) specified.
the number of bits (N) through
• OUT = IN left shifted by N
configuration.
bits, zero filled on right.
SHL execution diagram:
SHR Provides a 16-bit integer output Used to shift out bits in the output
(OUT) that is shifted to the right by (OUT) by shifting the bits in the
the number of bits (N) specified from input (IN) right by the number of
the 16-bit integer input (IN). You bits (N) specified.
specify the number of bits through
• OUT = IN right shifted by N
configuration.
bits, zero filled on left.
857
27 LOGIC FUNCTIONS
SR Provides a bistable Set Dominant Specifies the output (Q) of the flip-
flip-flop as defined in the IEC DIS flop as a function of the input S
1131-3 standard. (set), the input R (Reset), and the
last state of Q.
858 www.honeywell.com
27 LOGIC FUNCTIONS
859
27 LOGIC FUNCTIONS
860 www.honeywell.com
27 LOGIC FUNCTIONS
861
27 LOGIC FUNCTIONS
862 www.honeywell.com
27 LOGIC FUNCTIONS
Attention
Change driven control strategies that are improperly designed could cause the whole controller to malfunction due to
excessive cycle overruns. Application engineers are responsible for managing the entire load profile of the controller,
when deploying CHGEXEC control strategies.
863
27 LOGIC FUNCTIONS
Attention
Support for the periodic auto-trigger does not allow the CHGEXEC block to be used with blocks other than those
listed as qualified in the following table. Blocks that are not qualified will malfunction under change driven execution
despite the support of auto-trigger.
CAUTION
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.
864 www.honeywell.com
27 LOGIC FUNCTIONS
865
27 LOGIC FUNCTIONS
866 www.honeywell.com
27 LOGIC FUNCTIONS
Tip
You can test CM strategies employing CHGEXEC blocks either on simulation platforms or controller platforms. As
with any CM, the CMs with CHGEXEC blocks do not need to be modified in any way when moved between
controllers and simulators.
867
27 LOGIC FUNCTIONS
868 www.honeywell.com
27 LOGIC FUNCTIONS
869
27 LOGIC FUNCTIONS
870 www.honeywell.com
27 LOGIC FUNCTIONS
Consideration Description
Coordinated Logic 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.
Block Execution Order Order of block execution must be deliberately assigned for any CM strategy, but especially
for CHGEXEC strategies. Often the CHGEXEC will run 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 When a change-driven logic strategy is split across CMs, execution order of the CMs must
Order still be deliberately assigned. ORDERINCEE would be set up so that secondary followed
primary as shown in the Control Module figures above.
EXITOPT Setting For cascades between CMs, EXITOPT is set to EXITONEQU for both the primary
CHGEXEC and the secondary CHGEXEC. This is shown in the Control Module figures
above.
TRIGGER with Multiple In cascaded CHGEXEC strategies, multiple secondaries can follow a single primary with all
Secondaries consuming the primary's TRIGGER output. In this case, each of the secondary CHGEXEC's
would be triggered to run to completion by a change in the primary's TRIGGER parameter.
Secondary Control Module Be careful when building CHGEXEC cascades across CMs. In some strategies, it may save
Output Connections time to have the secondary CM connect to outputs from the primary CM without first passing
those values through the secondary's CHGEXEC. This should work as long as:
• the primary and secondary execute with the same PERIOD and 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
871
27 LOGIC FUNCTIONS
Consideration Description
Cascades that Cross CEE Be careful when using CHGEXEC cascades that cross CEE boundaries. In general, if a
Boundaries CHGEXEC pulls the TRIGGER parameter from a CHGEXEC in a different CM, then the
two CMs must be in the same CEE. If CHGEXEC cascade must cross CEE boundaries, then
the secondary should not use the TRIGGER output from the primary. It should explicitly pass
all output data from the primary through the CHGEXEC.
872 www.honeywell.com
27 LOGIC FUNCTIONS
Attention
The following figure shows the leading CHGEXEC with only two data elements, which is inaccurate. A second
CHGEXEC would be introduced to support additional inputs only after those of the first had been exhausted.
873
27 LOGIC FUNCTIONS
Figure 24: Wrong Use Of CHGEXEC: Downstream Logic Pulls Change Data Directly
874 www.honeywell.com
27 LOGIC FUNCTIONS
Figure 25: Correct Use Of CHGEXEC: Downstream Logic Pulls From CHGEXEC Output
875
27 LOGIC FUNCTIONS
876 www.honeywell.com
27 LOGIC FUNCTIONS
27.11.4 Relationship between Auto Trigger and AUTOPHASE for synchronization prevention
The CHGEXEC block is designed to prevent large numbers of change driven strategies from synchronizing so
that their auto triggers occur on the same processing cycle. Such synchronization could lead to processing
overruns. It works by assigning a fixed auto-trigger phase to each instance as a random number. This spreads
out the auto-trigger executions across the available CEE cycles. The key configuration considerations are as
follows.
• 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.
• If application engineer feel that the current value of AUTOPHASE is undesirable they may assign a new
value. To do this, they can choose a value between the limits of 0 and M - 1, where M is the maximum
allowed AUTOPERIOD divided by the controller base cycle. Or, they may simply assign the value of -1
again. This causes a new, probably different, random value to be assigned to AUTOPHASE.
• The value of AUTOPHASE is preserved across RAM Retention Restart and across checkpoint save /
restore. This means that the processing load from periodic auto-trigger 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.
877
27 LOGIC FUNCTIONS
• If a CHGEXEC and CM are configured with inconsistent AUTOPERIOD and PERIOD values in Control
Builder Project side and then loaded, the inconsistency is detected when the CM is activated after load. Error
status “Configuration Mismatch” is returned and the CM is not allowed to activate.
• If AUTOPERIOD is changed on a running CHGEXEC then any inconsistency is detected at the time of
parameter store resulting in return of error status “Configuration Mismatch” and rejection of the
AUTOPERIOD value.
878 www.honeywell.com
27 LOGIC FUNCTIONS
879
27 LOGIC FUNCTIONS
Attention
• In all cases where a CM is allowed to execute to completion because of a state change, this happens regardless of
the EXITOPT configuration. EXITOPT has no impact on executions driven by state changes.
• The TRIGGER toggles whenever the parent CM is allowed to run to completion. Consequently, it toggles at least
once whenever a state change occurs.
880 www.honeywell.com
27 LOGIC FUNCTIONS
881
27 LOGIC FUNCTIONS
882 www.honeywell.com
27 LOGIC FUNCTIONS
883
27 LOGIC FUNCTIONS
884 www.honeywell.com
27 LOGIC FUNCTIONS
885
27 LOGIC FUNCTIONS
886 www.honeywell.com
27 LOGIC FUNCTIONS
Stage Description
1 Implement the CHGEXEC CM as well as any cascaded CMs whose implementation is closely coupled.
2 Make sure all CMs of interest are loaded and active.
3 Make sure no CMs of interest have inputs which can change during the course of the test.
4 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.
5 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.
6 Start with TESTOPT = NOTEST as per default CHGEXEC configuration.
7 Set STATSRESET to ON. Note that STATSRESET will never show a value of ON. But setting it to ON causes
statistics parameters to reinitialize.
8 Let 3 minutes pass after setting STATSRESET in order for averages to equilibrate.
9 Verify that CRCYCLEORN[40] is zero. If it is not zero, verify that it is not changing. Any overruns during the
course of the test would invalidate the results.
10 Record the value of CPUCYCLEAVG[CYCLE].
11 Set TESTOPT to EXECALL.
12 Set STATSRESET to ON. Let 3 minutes pass for averages to equilibrate.
13 Verify that CRCYCLEORN[40] has not changed.
14 Record the value of CPUCYCLEAVG[CYCLE].
15 Subtract the first value of CPUCYCLEAVG[CYCLE] from the second. This difference gives the value, in % of
cycle execution, of the processing load of the CMs under test with and without input changes.
16 Set TESETOPT back to NOTEST.
17 This completes the procedure.
887
27 LOGIC FUNCTIONS
Related topics
“CheckBool functionality” on page 888
“CheckBool scenario 1” on page 890
“CheckBool scenario 2” on page 890
“CheckBool scenario 3” on page 891
“CheckBool scenario 4” on page 892
Table 59: Sample CHECKBOOL Strategy linking Control Modules in Project Mode
888 www.honeywell.com
27 LOGIC FUNCTIONS
Table 60: Viewing Sample CHECKBOOL Strategy Linking Control Modules in Monitoring Mode
The CHECKBOOL inputs and outputs are of type value/status. The CHECKBOOL block is capable of
connecting eight sets of input and output value/status pairs. However, the default block configuration assumes
only one connection pair. The block utilizes an input status parameter INSTS[n] to determine the validity of the
input IN[n]. If the status value is valid, the logic block simply passes its received input value/status though to its
associated output value/status.
In the event a BADINACT condition is detected, the CHECKBOOL block uses three additional parameters to
determine when and how long OUT[n] is to be held at the configured BADINACT value. The Inactive Input
Detection Threshold Time (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.
889
27 LOGIC FUNCTIONS
890 www.honeywell.com
27 LOGIC FUNCTIONS
891
27 LOGIC FUNCTIONS
892 www.honeywell.com
27 LOGIC FUNCTIONS
893
27 LOGIC FUNCTIONS
894 www.honeywell.com
27 LOGIC FUNCTIONS
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:
895
27 LOGIC FUNCTIONS
896 www.honeywell.com
28 Math Functions
Related topics
“Math Function Blocks” on page 898
897
28 MATH FUNCTIONS
898 www.honeywell.com
28 MATH FUNCTIONS
ADD Provides the addition function. Sums the value of the number of
inputs (IN[1..8]) configured by the
user as the output (OUT).
899
28 MATH FUNCTIONS
POW Provides the raise to power function. At runtime, the output (OUT)
becomes the user connected input 1
(IN[1]) raised to the power the user
connected input 2 (IN[2]).
SQRT Provides the square root function. At runtime, the output (OUT)
becomes the square root of the user
connected input (IN[1]).
900 www.honeywell.com
28 MATH FUNCTIONS
ROLLAVG Provides the rolling average function. At runtime, the output (OUT)
becomes the quotient of sum of all
good samples (IN) divided by
number of good samples.
Attention
Rolling Average Function blocks can be loaded and operated only in a C200E, C300, or ACE.
901
28 MATH FUNCTIONS
• ROLLBFBASE - Defines the unit of time for the collection buffer (ROLLBUF).
– For example, if ROLLBUF is “20” and ROLLBFBASE is “Seconds” then samples are collected upto 20
seconds. After 20 seconds, new samples overwrite the old samples.
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.
902 www.honeywell.com
28 MATH FUNCTIONS
903
28 MATH FUNCTIONS
904 www.honeywell.com
29 Power Generation Functions
Related topics
“POWERGEN Function Blocks” on page 906
“GRPCAPRBK (Group Capability and Runback) Block” on page 907
“HTMOTOR (HT Motor Drive Control) Block” on page 913
“LEVELCOMP (Drum Level Computation) Block” on page 941
“LTMOTOR (LT Motor Drive Control) Block” on page 946
“MAINIBV (IBV Logic) Block” on page 968
“SOLENOID (Solenoid Valve Drive Control) Block” on page 974
“VALVEDAMPER (Valve/Damper Drive Control) Block” on page 995
905
29 POWER GENERATION FUNCTIONS
Attention
The following blocks can only be used with C300 Controllers. They are not supported for use with C200/C200E
Controllers.
906 www.honeywell.com
29 POWER GENERATION FUNCTIONS
907
29 POWER GENERATION FUNCTIONS
908 www.honeywell.com
29 POWER GENERATION FUNCTIONS
• 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 provides a configurable parameter NUMBEROFEQP which represents the number of equipments
used for input connection to the block.
• 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 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:
• Auxcalc - (Most often used) - OUTCAP and ROCLM to P1
• Signalsel - (Often used) - OUTCAP and ROCLM to P1
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.
• Blocks from Regctl suite (RATIOBIAS) uses OPROCLM and OPHILM.
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:
• DigAcq (PVFL) or Digital Inpits - For DI
• Blocks from Regctl suite (AUTOMAN - Uses OP) for LOADSP
909
29 POWER GENERATION FUNCTIONS
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.
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).
910 www.honeywell.com
29 POWER GENERATION FUNCTIONS
911
29 POWER GENERATION FUNCTIONS
• If all the DISTS of the Configured Number of Equipment are BAD, then:
– ROCLM is retained at the last value if ROCLMOPT= LASTVAL is selected. If ROCLMOPT =
SAFEVAL, the user selected value is substituted for ROCLM.
– The RUNBKACTFL is set to FALSE.
– OUTCAP is retained at the last value if CAPVALOPT = LASTVAL is selected. If ROCLMOPT =
SAFEVAL, the user selected value is substituted for OUTCAP.
• In case, LOADSPSTS is BAD or all the DISTS of the Configured Number of Equipment are BAD, the
SAFEOPTRIGFL is set to TRUE and a corresponding alarm is generated.
• OFFCAP[], ONCAP[] and RBROCLM parameters are not allowed to be changed/edited when the CM is
active.
• 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 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
• SAFEOPALM.FL and SAFEOPTRIGFL parameters essentially provide the same functionality of raising the safe
output alarm flag in a Group Capability block. Either of the two parameters may be used to achieve the
functionality.
• RUNBKACTFL and RUNBKACTALM.FL parameters essentially provide the same functionality of raising the
Run back active alarm flag in a Group Capability block. Either of the two parameters may be used to achieve the
functionality.
912 www.honeywell.com
29 POWER GENERATION FUNCTIONS
The following diagram illustrates the START logic flow for an HT Motor block.
913
29 POWER GENERATION FUNCTIONS
The following diagram illustrates the STOP logic flow for an HT Motor block.
914 www.honeywell.com
29 POWER GENERATION FUNCTIONS
915
29 POWER GENERATION FUNCTIONS
The following diagram illustrates the TRIP logic flow for an HT Motor block.
Each HT Motor Control block supports the following user configurable attributes. The following table lists the
given name of the “Ta” in the parameter configuration form and then briefly describes the attributes associated
with that tab
916 www.honeywell.com
29 POWER GENERATION FUNCTIONS
917
29 POWER GENERATION FUNCTIONS
918 www.honeywell.com
29 POWER GENERATION FUNCTIONS
919
29 POWER GENERATION FUNCTIONS
920 www.honeywell.com
29 POWER GENERATION FUNCTIONS
921
29 POWER GENERATION FUNCTIONS
• Provides PV Source Selection; PV has 2 basic states such as RUN and STOP plus an additional BAD state.
• Provides latched and pulsed outputs.
• Provides Initialization, Local Manual and Redtagging.
• Provides BADPV, Command Disagree, Equipment Safety, Uncommanded Change, Command Fail, and
Interlock trip alarms.
• Provides PV change of state event.
• Provides Permissive and Override Interlocks for each state.
• Provides Seal In option.
• The Safety Interlock enforces the defined safe state.
• Provides predefined Safe State.
• Provides generic state parameters defined as consistent data types.
• Provides initialization with OPFINAL based configuration.
• Provides Boolean command option.
• Provides Batch level 1 driver option.
• Provides OFF Normal alarm associated with requested OP.
• 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 “Configuration examples-PID Block” on page 383section for
more information.
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:
922 www.honeywell.com
29 POWER GENERATION FUNCTIONS
923
29 POWER GENERATION FUNCTIONS
924 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Callout Description
1 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 Use the PV parameter connection to carry Remote switch input from the 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.
3 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.
4 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.
5 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.
925
29 POWER GENERATION FUNCTIONS
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.
926 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Callout Description
1 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 Use the PVFL parameter connection to carry safety, override and permissive inputs (SI, OI[0], PI[1]) from
the DICHANNEL block to the HT Motor.
3 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 an HT Motor block in a Control Strategy with Equipment
trips and UCP Start/Stop logic and MCC Inputs.
927
29 POWER GENERATION FUNCTIONS
928 www.honeywell.com
29 POWER GENERATION FUNCTIONS
929
29 POWER GENERATION FUNCTIONS
Callout Description
1 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 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.
3 Use the PV parameter connection to carry Remote switch
Input, UCP REL, UCP START, UCP STOP from the DI channel block to the HT Motor block.
In case of an UCP configuration, the HT motor block can be commanded by UCP Start, UCP Stop
provided the Remote switch is ON, the UCP REL is ON and MODEATTR is in PROGRAM.
4 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.
930 www.honeywell.com
29 POWER GENERATION FUNCTIONS
The inputs which are physically wired into the system and brought to this block via 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.
931
29 POWER GENERATION FUNCTIONS
932 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Ignore
Check
933
29 POWER GENERATION FUNCTIONS
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.
934 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Attention
• The CMDFALALM.TM[0..1] cannot be configured if CMDDISALM.TM[0..1] has not been configured.
• The CMDFALALM.TM[0..1] setting must be less than the CMDDISALM.TM[0..1] setting for the same
state[0..1].
• 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.
– The feedback time (CMDDISALM.TM[0..1) for each state has to be configured on the Alarms tab on
HT 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].
935
29 POWER GENERATION FUNCTIONS
Attention
To configure Seal-in option, ensure that the CM is inactive and CMDDISALM.TM [0..1] is configured.
936 www.honeywell.com
29 POWER GENERATION FUNCTIONS
29.3.21 Initialization Manual condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP initialization-HTMOTOR block
The Safety Override Interlock and the Override Interlocks have an impact on how OP initialization works.
When the INITMAN parameter transitions from ON to OFF, the HT Motor FB provides an output value OP as
follows:
• If the Safety Interlock is active, the OP is set to STOP
• If any of the Override Interlocks are active and not bypassed, the OP is set to the highest priority Override
Interlock
• If LocalMan is ON, OP tracks PV provided PV is in a settable state (STOP, RUN). If PV is in an unsettable
state (BAD) or PV does not exist, OP is set to STOP
• If OP Initialization is configured as HOLDOPOPT, OP remains on the last value
• If OP Initialization is configured as SAFEOPOPT, OP is set to STOP
• If OP Initialization is configured as NORMALOPOPT, in cases where feedback is configured, the stored OP
value tracks the PV state if the PV state is settable (START, STOP)
• OP value is back-initialized from the output connections if
– there are no output types of ONPULSE/OFFPULSE, and
– if a valid OP value can be constructed from the values of the output connections.
Otherwise, OP is set to STO
937
29 POWER GENERATION FUNCTIONS
938 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Attention
• UCP START/STOP, SEQ START/STOP, LOCAL START/STOP work on OFF to ON transitions. So, there is no
priority for them.
• AUTO START/STOP work on priority as per SAFEOP which is STOP since they are latched.
• LOCAL START/STOP, UCP START/STOP commands change the MODEATTR to Operator.
• AUTO START/STOP, SEQ START/STOP, UCP START, CONSOLE START depends on REMOTESWITCH
which should be ON.
• AUTO START/STOP, SEQ START/STOP is not allowed when BYPASS is ON. However, AUTO START/STOP,
SEQ START/STOP is allowed when BKTBYPASS is ON.
• UCP STOP and CONSOLE STOP ignore the switches for its operation.
• FIRSTUPACTED is set when the motor encounters an abnormal condition. FIRSTUPACTED is not reset
automatically when the motor is brought back to its NORMAL state. It is essential to reset FIRSTUPACTED
before starting the motor.
• Restarting the motor is possible without resetting FIRSTUPACTED. An Auto reset of the FIRSTUPACTED on
restarting the motor can be achieved though Engineering solution.
• CONSSTARTRDY indicates that the motor can be started from the Console. It checks for all the interlocks and
permissives required for starting the motor from the console. However, once the motor is running,
CONSSTARTRDY is of no consequence.
• Since BKT and BKS are complimentary inputs, the HT motor can be commanded only when either one of them is
ON.
939
29 POWER GENERATION FUNCTIONS
940 www.honeywell.com
29 POWER GENERATION FUNCTIONS
941
29 POWER GENERATION FUNCTIONS
942 www.honeywell.com
29 POWER GENERATION FUNCTIONS
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
943
29 POWER GENERATION FUNCTIONS
Successor Block
The output of the Drum Level Computation block has a direct connectivity to a DACA block.
944 www.honeywell.com
29 POWER GENERATION FUNCTIONS
945
29 POWER GENERATION FUNCTIONS
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.
946 www.honeywell.com
29 POWER GENERATION FUNCTIONS
947
29 POWER GENERATION FUNCTIONS
948 www.honeywell.com
29 POWER GENERATION FUNCTIONS
949
29 POWER GENERATION FUNCTIONS
950 www.honeywell.com
29 POWER GENERATION FUNCTIONS
951
29 POWER GENERATION FUNCTIONS
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.
952 www.honeywell.com
29 POWER GENERATION FUNCTIONS
953
29 POWER GENERATION FUNCTIONS
954 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 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.
3 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 commanded by Local Start, Local Stop
provided the Remote switch is OFF, the local switch is ON and MODEATTR is in PROGRAM.
4 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.
955
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
956 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Callout Description
2 Use the PVFL parameter connection to carry safety, override and permissive inputs (SI, OI[0], PI[1]) from
the DICHANNEL block to the LT Motor.
3 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 an LT Motor block in a Control Strategy with UCP Start/
Stop logic and MCC Inputs.
957
29 POWER GENERATION FUNCTIONS
958 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 Use the PV parameter connection to carry Remote switch input, UCP REL, UCP START, UCP STOP from
the DI channel block to the LT Motor block.
In case of a UCP configuration, the LT motor block can be commanded by UCP Start, UCP Stop provided
the Remote switch is ON, Local switch is OFF, UCP REL is ON and MODEATTR is in PROGRAM.
3 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.
959
29 POWER GENERATION FUNCTIONS
960 www.honeywell.com
29 POWER GENERATION FUNCTIONS
• Active - Refers to momentary state settings for a two-state device. It is defined as not SAFEOP of State 0
and State 1 and illegal for 3 state configurations. For example, if SAFEOP is designated as State 0 (S0),
State 1 (S1) is considered the active state. If S1 is the SAFEOP, S0 is considered the active state. An external
FB could issue the Active command to GOP and the state is set to the not SAFEOP of S0 or S1, accordingly.
• Safe - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the internal value is set to the
designated SAFEOP.
• S0 -Represents settable output State 0 (STOP).
• S1 - Represents settable output State 1 (RUN).
The STATETEXT[0..6] parameter is an array of 12-character string parameters corresponding to the members
of the generic state enumerations. This allows the various State parameters to have labels unique to each state.
The following table lists the default name for a given STATETEXT[0..6] and shows the corresponding generic
states enumeration.
961
29 POWER GENERATION FUNCTIONS
Ignore
Check
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.
962 www.honeywell.com
29 POWER GENERATION FUNCTIONS
963
29 POWER GENERATION FUNCTIONS
Attention
• The CMDFALALM.TM[0..1] cannot be configured if CMDDISALM.TM[0..1] has not been configured.
• The CMDFALALM.TM[0..1] setting must be less than the CMDDISALM.TM[0..1] setting for the same
state[0..1].
• 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.
If a real-time conflict exists between a Safety Override Interlock alarm configured to alarm and a PV alarm
condition, such as Uncommanded Change alarm, interlock action (setting of the output state and related alarm
notification) always occurs regardless of effects of the other alarm.
Attention
To configure Seal-in option, ensure that the CM is inactive and CMDDISALM.TM [0..1] is configured.
964 www.honeywell.com
29 POWER GENERATION FUNCTIONS
• INITCONNECTD[1..2] - This parameter is set by the FB Builder when the corresponding INITDOWN[] is
connected.
• INITMAN - This is a BOOLEAN value which is set TRUE whenever any of the INITDOWN[i].STATUS
are TRUE.
29.5.20 Initialization Manual condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP initialization-LTMOTOR block
The Safety Override Interlock and the Override Interlocks have an impact on how OP initialization works, as
described in the following.
When the INITMAN parameter transitions from ON to OFF, the LT Motor FB provides an output value OP as
follows:
• If the Safety Interlock is active, the OP is set to STOP;
• If any of the Override Interlocks are active and not bypassed, the OP is set to the highest priority Override
Interlock;
• If LocalMan is ON, OP tracks PV, if PV is in a settable state (STOP, RUN). If PV is in an unsettable state
(BAD), or PV does not exist, OP is set to STOP;
• If OP Initialization is configured as HOLDOPOPT, OP remains on the last value;
• If OP Initialization is configured as SAFEOPOPT, OP is set to STOP;
• If OP Initialization is configured as NORMALOPOPT, in cases where feedback is configured, the stored OP
value tracks the PV state if the PV state is settable ( STOP, RUN)
• OP value is back-initialized from the output connections if
– there are no output types of ONPULSE/OFFPULSE, and
– if a valid OP value can be constructed from the values of the output connections.
Otherwise, OP is set to STOP.
965
29 POWER GENERATION FUNCTIONS
indicates that the block cannot be commanded to statei. Override interlocks and permissive interlocks cause a
certain state to be non-settable at a given point in time.
966 www.honeywell.com
29 POWER GENERATION FUNCTIONS
• Similarly, you can command the LT Motor block through LOCAL START/STOP, UCP START/STOP
provided the following conditions are met:
– Both LOCAL and UCP commands ignore MODEATTR
– LOCAL START/STOP depends on the LOCAL SWITCH which should be ON.
– UCP STOP ignores the LOCAL/REMOTE SWITCH condition.
– UCP START depends on REMOTE SWITCH which should be ON.
• Similarly, you can command the LT Motor block through Console START/STOP provided the following
conditions are met:
– MODEATTR should be OPER
– Console STOP ignores LOCAL REMOTE SWITCH condition.
– Console START depends on REMOTE SWITCH which should be ON.
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 START/STOP, SEQ START/STOP, LOCAL START/STOP work on OFF to ON transitions. So, there is no
priority for them.
• AUTO START/STOP work on priority as per SAFEOP which is STOP since they are latched.
• LOCAL START/STOP, UCP START/STOP commands change the MODEATTR to Operator.
• AUTO START/STOP, SEQ START/STOP, UCP START, CONSOLE START depends on REMOTESWITCH
which should be ON.
• AUTO START/STOP, SEQ START/STOP is not allowed when BYPASS is ON.
• UCP STOP and CONSOLE STOP ignore switches for its operation.
• CONSSTARTRDY indicates that the motor can be started from the Console. It checks for all the interlocks and
permissives required for starting the motor from the console. However, once the motor is running,
CONSSTARTRDY is of no consequence.
967
29 POWER GENERATION FUNCTIONS
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.
968 www.honeywell.com
29 POWER GENERATION FUNCTIONS
969
29 POWER GENERATION FUNCTIONS
970 www.honeywell.com
29 POWER GENERATION FUNCTIONS
The details of the Control logic illustration are described in the following table:
Path Description
Path (1): Activation
Path (2): OPEN Command Detected in IDLE status
Path (3): Processing in Open Sequence
Path (4): Open Sequence success
Path (5): Open Sequence failure
Path (6): CLOSE Command detected in Open Sequence
Path (7): CLOSE Command Detected in IDLE status Detected in IDLE status
Path (8): Processing in Close Sequence
Path (9): Close Sequence success
Path (10): Close Sequence failure
Attention
• SCM writes directly to OPENSEQ and CLOSESEQ from SCM Expressions.
• SCM can write directly to OP/GOP of Valve damper/drive/Dev Ctrl from SCM Expressions (which is always
connected in the downstream of MAINIBV.)
• Operator can take control of Valve Damper/ Drive/ Dev ctl by changing mode attribute to operator whenever
required for bypassing the MAINIBV.
971
29 POWER GENERATION FUNCTIONS
972 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Attention
• The OPEN IBV command is withdrawn as soon as the OPEN IBV feedback is received. To issue OPEN
command, the CLOSEMAIN feedback should be ON.
• An Interlock error is displayed if the open cmd is issued when CLOSEMAINFEEDBACK is OFF.
• If feedback is received when the MAIN valve is OPEN, a CLOSEIBV command is issued and IBVOPENFDBK is
rejected leading to alarm generation and the FB goes to IDLE status.
• The block generates OPENCMD and CLOSECMD alarms based on open sequence fail and close sequence fail
respectively. An additional Event is generated that indicates the exact cause of the alarm (IBV feedback time out/
Main feedback time out.)
973
29 POWER GENERATION FUNCTIONS
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.
974 www.honeywell.com
29 POWER GENERATION FUNCTIONS
975
29 POWER GENERATION FUNCTIONS
976 www.honeywell.com
29 POWER GENERATION FUNCTIONS
977
29 POWER GENERATION FUNCTIONS
978 www.honeywell.com
29 POWER GENERATION FUNCTIONS
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.
979
29 POWER GENERATION FUNCTIONS
980 www.honeywell.com
29 POWER GENERATION FUNCTIONS
981
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 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.
3 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 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 Solenoid Valve Control block in a Control Strategy with
Safety, Override and permissive inputs and MCC inputs.
982 www.honeywell.com
29 POWER GENERATION FUNCTIONS
983
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 Use the PVFL parameter connection to carry safety, override and permissive inputs (SI, OI[0], PI[1]) from
the DICHANNEL block to the Solenoid Valve block.
3 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.
984 www.honeywell.com
29 POWER GENERATION FUNCTIONS
985
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 Use the PV parameter connection to carry Remote switch input, UCP REL, UCP Open, UCP Close from
the DI channel block to the Solenoid Valve block.
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.
3 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.
986 www.honeywell.com
29 POWER GENERATION FUNCTIONS
987
29 POWER GENERATION FUNCTIONS
• Safe - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the internal value is set to the
designated SAFEOP.
• S0 -Represents settable output State 0 (CLOSE).
• S1 - Represents settable output State 1 (OPEN).
• S2 - Represents settable output State 2 .
The STATETEXT[0..6] parameter is an array of 12-character string parameters corresponding to the members
of the generic state enumerations. This allows the various State parameters to have labels unique to each state.
The following table lists the default Solenoid name for a given STATETEXT[0..6] and shows the corresponding
generic states enumeration.
988 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Ignore
Check
Based on Safe OP configuration
If Safe OP = OPEN then UCPOpen and Console Open will ignore switches.
If Safe OP = CLOSE then UCPClose and ConsoleClose will ignore switches.
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.
989
29 POWER GENERATION FUNCTIONS
990 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Attention
• The CMDFALALM.TM[0..1] cannot be configured if CMDDISALM.TM[0..1] has not been configured.
• The CMDFALALM.TM[0..1] setting must be less than the CMDDISALM.TM[0..1] setting for the same
state[0..1].
• 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.
– The feedback time (CMDDISALM.TM[0..1) for each state can be configured through the Alarms tab on
Solenoid Valve 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 - 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.
If a real-time conflict exists between a Safety Override Interlock alarm configured to alarm and a PV alarm
condition, such as Uncommanded Change alarm, interlock action (setting of the output state and related alarm
notification) always occurs regardless of effects of the other alarm.
Attention
To configure Seal-in option, ensure that the CM is inactive and CMDDISALM.TM [0..1] is configured.
991
29 POWER GENERATION FUNCTIONS
29.7.20 Initialization Manual Condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP Initialization-SOLENOID block
The Safety Override Interlock and the Override Interlocks have an impact on how OP initialization works, as
described in the following.
When the INITMAN parameter transitions from ON to OFF, the Device Control FB provides an output value
OP as follows:
• If the Safety Interlock is active, the OP is set to SAFEOP;
• Otherwise, if any of the Override Interlocks are active and not bypassed, the OP is set to the highest priority
Override Interlock;
• Otherwise, if LocalMan is ON, OP tracks PV, if PV is in a settable state (OPEN/CLOSE). If PV is in an
unsettable state (BAD), or PV does not exist, OP is set to SafeOP;
• Otherwise, if OP Initialization is configured as HOLDOPOPT, OP remains on the last value;
• Otherwise, if OP Initialization is configured as SAFEOPOPT, OP is set to SafeOP;
• Otherwise (OP Initialization is configured as NORMALOPOPT), in cases where feedback is configured, the
stored OP value tracks the PV state if the PV state is settable ( CLOSE, OPEN);
• Otherwise, OP value is back-initialized from the output connections
• If a valid OP value can be constructed from the values of the output connections.
Otherwise, OP is set to SAFEOP.
992 www.honeywell.com
29 POWER GENERATION FUNCTIONS
INITREQ[i] (i = 0 or 1) = OFF indicates that the block can be commanded to statei, and INITREQ [i] (i = 0, or
1) = ON indicates that the block cannot be commanded to statei. Override interlocks and permissive interlocks
cause a certain state to be non-settable at a given point in time.
993
29 POWER GENERATION FUNCTIONS
Attention
• UCP OPEN/CLOSE, SEQ OPEN/CLOSE, LOCAL OPEN/CLOSE work on OFF to ON transitions. So, there is
no priority for them.
• AUTO OPEN/CLOSE works on priority as per SAFEOP which is CLOSE since they are latched.
• LOCAL OPEN/CLOSE, UCP OPEN/CLOSE commands change the MODEATTR to Operator.
• AUTO OPEN/CLOSE, SEQ OPEN/CLOSE depends on REMOTESWITCH which should be ON.
• AUTO OPEN/CLOSE, SEQ OPEN/CLOSE is not allowed when BYPASS is ON.
• UCP OPEN/CLOSE and CONSOLE OPEN/CLOSE depends on SAFEOP configuration. If SAFEOP is open,
UCP OPEN, CONSOLE OPEN ignores switches and UCP CLOSE, CONSOLE CLOSE depends on
REMOTESWITCH. If SAFEOP is CLOSE, UCP CLOSE, CONSOLE CLOSE ignore switches and UCP OPEN,
CONSOLE OPEN depend on REMOTESWITCH.
• CONSOPENRDY indicates that the valve can be opened from the Console. It checks for all the permissives and
interlocks required to open the valve from the console. However, once the valve is open, CONSOPENRDY is of
no consequence.
994 www.honeywell.com
29 POWER GENERATION FUNCTIONS
The Valve/Damper control block (VALVEDAMPER), available under the POWERGEN library 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.
995
29 POWER GENERATION FUNCTIONS
996 www.honeywell.com
29 POWER GENERATION FUNCTIONS
997
29 POWER GENERATION FUNCTIONS
998 www.honeywell.com
29 POWER GENERATION FUNCTIONS
999
29 POWER GENERATION FUNCTIONS
1000 www.honeywell.com
29 POWER GENERATION FUNCTIONS
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.
1001
29 POWER GENERATION FUNCTIONS
1002 www.honeywell.com
29 POWER GENERATION FUNCTIONS
1003
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 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 ON, the local switch is OFF and MODEATTR is in PROGRAM.
3 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.
4 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.
1004 www.honeywell.com
29 POWER GENERATION FUNCTIONS
1005
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 Use the PVFL parameter connection to carry safety, override and permissive inputs (SI, OI[0], PI[1]) from
the DICHANNEL block to the Valve/Damper block.
3 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 Valve/Damper block in a control strategy with UCP
Open/Close logic and MCC inputs.
1006 www.honeywell.com
29 POWER GENERATION FUNCTIONS
1007
29 POWER GENERATION FUNCTIONS
Callout Description
1 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.
2 Use the PV parameter connection to carry Remote switch input, UCP REL, UCP Open, UCP Close from
the DI channel block to the Valve/Damper block.
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.
3 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.
1008 www.honeywell.com
29 POWER GENERATION FUNCTIONS
1009
29 POWER GENERATION FUNCTIONS
1010 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Ignore
Check
1011
29 POWER GENERATION FUNCTIONS
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.
1012 www.honeywell.com
29 POWER GENERATION FUNCTIONS
• 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.
• 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].
Attention
• The CMDFALALM.TM[1..2] cannot be configured if CMDDISALM.TM[1..2] has not been configured.
• The CMDFALALM.TM[1..2] setting must be less than the CMDDISALM.TM[1..2] setting for the same
state[1..2].
• 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.
1013
29 POWER GENERATION FUNCTIONS
• 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.
If a real-time conflict exists between a Safety Override Interlock Alarm configured to alarm and a PV alarm
condition, such as Uncommanded Change Alarm, interlock action (setting of the output state and related alarm
notification) always occurs regardless of effects of the other alarm.
Attention
To configure Seal-in option, ensure that CM is inactive and CMDDISALM.TM [1..2] is configured.
29.8.21 Initialization Manual Condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP Initialization-VALVEDAMPER block
The Safety Override Interlock and the Override Interlocks have an impact on how OP initialization works, as
described in the following.
1014 www.honeywell.com
29 POWER GENERATION FUNCTIONS
When the INITMAN parameter transitions from ON to OFF, the Device Control FB provides an output value
OP as follows:
• If the Safety Interlock is active, the OP is set to NOCOMMAND;
• Otherwise, if any of the Override Interlocks are active and not bypassed, the OP is set to the highest priority
Override Interlock;
• Otherwise, if LocalMan is ON, OP tracks PV, if PV is in a settable state (OPEN/CLOSE). If PV is in an
unsettable state (BAD), or PV does not exist, OP is set to SafeOP;
• Otherwise, if OP Initialization is configured as HOLDOPOPT, OP remains on the last value;
• Otherwise, if OP Initialization is configured as SAFEOPOPT, OP is set to NOCOMMAND;
• Otherwise (OP Initialization is configured as NORMALOPOPT), in cases where feedback is configured, the
stored OP value tracks the PV state if the PV state is settable ( State0, State1);
• Otherwise, OP value is back-initialized from the output connections
• If a valid OP value can be constructed from the values of the output connections.
Otherwise, OP is set to NOCOMMAND.
1015
29 POWER GENERATION FUNCTIONS
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.
1016 www.honeywell.com
29 POWER GENERATION FUNCTIONS
Attention
• UCP OPEN/CLOSE, SEQ OPEN/CLOSE, LOCAL OPEN/CLOSE work on OFF to ON transitions. So, there is
priority for them.
• AUTO OPEN/CLOSE work on priority as per SAFEOP which is NOCOMMAND since they are latched.
• LOCAL OPEN/CLOSE, UCP OPEN/CLOSE commands change the MODEATTR to Operator.
• AUTO OPEN/CLOSE, SEQ OPEN/CLOSE, UCP OPEN/CLOSE, CONSOLE OPEN/CLOSE depends on
REMOTESWITCH which should be ON.
• AUTO OPEN/CLOSE, SEQ OPEN/CLOSE is not allowed when BYPASS is ON.
• The Valve/Damper block does not support inching operation. However, to achieve the inching operation, after
issuing an OPEN command to the valve/damper, issue a NO COMMAND and reissue the OPEN command again
until desired. It can also be achieved through logic by using the AUTONOCOMMAND pin. Similarly, issue a
CLOSE command to the valve/damper, then issue a NO COMMAND and reissue the CLOSE command again
until desired.
• If MODEATTR is PROGRAM, UCP and LOCAL operations change the MODEATTR of the Valve to OPER. If
the MODEATTR is already in OPER, UCP and LOCAL operations requests are accepted.
• CONSOPENRDY indicates that the valve can be opened from the Console. It checks for all the permissives and
interlocks required to open the valve from the console. However, once the valve is open, CONSOPENRDY is of
no consequence.
1017
29 POWER GENERATION FUNCTIONS
1018 www.honeywell.com
30 Thermodynamic Utility Functions
Thermodynamic utility function blocks provide a variety of configurable functions for computing the
thermodynamic quantities of water and steam. The following table presents the functions performed through the
configuration of the associated thermodynamic utility function block.
Related topics
“Steam Property Block (STEAMPROP)” on page 1020
1019
30 THERMODYNAMIC UTILITY FUNCTIONS
Attention
In this platform, the STEAMPROP block is useful for any process simulation and is best for optimizing the
process operation.
• SIM-ACE
The following figure is a graphical representation of the STEAMPROP block.
1020 www.honeywell.com
30 THERMODYNAMIC UTILITY FUNCTIONS
where,
Shaft Power = Measured Generator Output Power in KW
Inlet Steam Mass Flow Rate = Measured from the Inlet Steam Mass Flow Transmitter in field (in Tons/Hour)
Inlet Specific Enthalpy [Hin] = Output calculated by Steam Property Block-A configured for Superheated
Steam
Outlet Specific Enthalpy [Hexh] = Output calculated by Steam Property Block-B configured for Saturated
Steam
Note
Steam Quality can be measured using any steam quality measuring device (for example, Throttling Calorimeter) or
it can be entered manually.
30.1.1 Function
Steam Property function block computes the thermodynamic quantities of water and steam. The thermodynamic
quantities of water and steam can be one of the following:
• Enthalpy (H)
• Entropy (S)
• Pressure (P)
• Temperature (T)
• Specific volume (V)
1021
30 THERMODYNAMIC UTILITY FUNCTIONS
• Steam
– Saturated
– Superheated
This function block uses the equations quoted in Industrial Formulation 1997 (IF-97) released by the
International Association for the Properties of Water and Steam (IAPWS). For more information about
Industrial Formulation 1997 (IF-97), refer to the http://www.iapws.org/.
It uses rigorous thermodynamic equations to compute the required output. For example, in case of water, if the
pressure and the temperature are the inputs to the block, then the following outputs can be computed.
• Enthalpy (H)
• Entropy (S)
• Specific volume (V)
Inputs
The STEAMPROP block accepts the following inputs.
• Pressure (P)
• Temperature (T)
• Entropy (S)
• Steam quality/dryness fraction (X)
Note
For more information about the range of the inputs, refer to the respective parameters documented in the Control
Builder Parameter Reference.
Outputs
The output of the STEAMPROP block can be fetched through a wired connection or read directly by a program.
The STEAMPROP block output can be one of the following:
• Pressure (P)
• Temperature (T)
• Entropy (S)
• Enthalpy (H)
• Specific Volume (V)
1022 www.honeywell.com
30 THERMODYNAMIC UTILITY FUNCTIONS
Note
The table does not include descriptions of the common parameters such as block name and description.
1023
30 THERMODYNAMIC UTILITY FUNCTIONS
Attention
By default, STEAMTYPE parameter is set as "Saturated."
Finally, you have to configure the input/output parameters as mentioned in the “Inputs/Outputs - STEAMPROP
block” on page 1022.
Figure 28: STEAMPROP block configured for measuring thermodynamic quantities of water
1024 www.honeywell.com
30 THERMODYNAMIC UTILITY FUNCTIONS
Figure 29: STEAMPROP block configured for measuring thermodynamic quantities of steam (saturated)
Figure 30: STEAMPROP block configured for measuring thermodynamic quantities of steam (superheated)
1025
30 THERMODYNAMIC UTILITY FUNCTIONS
The following inputs of the Steam Turbine are provided to the AUXCALC to calculated the mechanical
efficiency.
• Superheated inlet steam flow
• Inlet steam temperature
• Exhaust steam pressure
• Exhaust steam quality
This typical configuration has been created using the typical usage explained in the “Steam Property Block
(STEAMPROP)” on page 1020.
In this example, two STEAMPROP blocks, six NUMERIC blocks, and one AUXCALC blocks are used to
calculate the mechanical efficiency of a Steam Turbine. The following table explains the configuration of each
block.
1026 www.honeywell.com
30 THERMODYNAMIC UTILITY FUNCTIONS
For more information about the supported input/output configuration of the STEAMPROP block, refer to the
“Inputs/Outputs - STEAMPROP block” on page 1022.
1027
30 THERMODYNAMIC UTILITY FUNCTIONS
1028 www.honeywell.com
31 I/O Reference blocks
Before the I/O Reference blocks were added to the Library, a tight coupling between the CM and the Input/
Output channels of the PM I/O channels, Series C I/O module existed. Hence, you had to validate the software
changes when the hardware was available. In addition, the CM had to be deleted from the Monitoring view if
there were any modifications made to the I/O channel.
I/O Reference blocks are available as basic function blocks and they provide a mechanism to the CM for
referencing the Input/Output channel of the supported I/O families or parameter values of any block. The
references can be made to the PM I/O channels, Series C I/O channels, or parameter values of any block. The
Reference blocks in strategies eliminate the dependency between the strategies and IOMs.
When the REF block references an I/O channel, it mirrors the I/O channel block behavior and provide access to
the values of the channel blocks. When the REF block references to a parameter, it works as parameter
connector and provides access to the parameter values of any block through the CM name. The Reference block
supports configuration and monitoring, and it is not loaded and executed with the CM.
Whenever a reference is made in the Reference blocks, you can navigate to the referenced value by clicking the
hyper-link available in the faceplate of the Reference block.
1029
31 I/O REFERENCE BLOCKS
Related topics
“Configuration of Reference block” on page 1031
“Behavior of Reference blocks when REFTYPE is configured as PARAMETER” on page 1034
“AIREF (AI Reference block)” on page 1036
“AOREF (AO Reference block)” on page 1038
“DIREF (DI Reference block)” on page 1040
“DOREF (DO Reference block)” on page 1042
“Copying Reference blocks” on page 1044
“Bulk Build of CM containing Reference blocks” on page 1045
“Navigating from Reference block faceplate to parameters or I/O channels” on page 1046
“UDT behavior of Reference blocks” on page 1047
“Limitations of Reference blocks” on page 1048
1030 www.honeywell.com
31 I/O REFERENCE BLOCKS
The guidelines for configuring the Reference blocks are listed as follows:
• If the REFTYPE is set to SERIES_C_IO, then the Reference block references a Series C I/O channel.
• If the REFTYPE is set to PMIO, then the Reference block references a PM I/O channel.
• If the REFTYPE is set to PARAMETER, then the Reference block references a parameter and works as a
parameter connector.
• If the REFTYPE is NONE, then the Reference block is identical to any other basic block and does not have
any special configuration consideration.
When you set the REFTYPE as PARAMETER, you can use only PUSH parameters for the OP/SO parameter of
AOREF/DOREF blocks.
The REF parameter is used for selecting the parameter to be referenced in the Reference block. When the
Reference block is configured with a parameter, it behaves like a regular parameter connector.
The REF parameter displayed on the faceplate can only display the 24 characters of the REF value. Hence, if
the selected/referenced parameter value is more than 24 characters, then the REF value is truncated and right-
justified with an ellipsis on the left side.
Attention
The parameter originating from the Reference block cannot be used as value for the REF parameter of another
Reference block. An error message is displayed when the REF value is set as parameter originating from the
Reference block. For more information about the error message, see Control Builder Error Code Reference.
1031
31 I/O REFERENCE BLOCKS
Table 63: Mapping between Reference blocks and PM I/O I/O channel types
Mapping between Series C I/O channel types and IOREFERENCES block types
The Reference block types map to the following Series C I/O channel types and the UDTs derived from them.
Table 64: Mapping between Reference blocks and Series C I/O channel types
The behavior of the Reference block varies based on the configuration of the REFTYPE parameter. The various
behavior of the Reference blocks are explained in the following sections.
Attention
Reference blocks with REFTYPE configured as NONE cannot be loaded to the Monitoring view.
Note
The CHANTYPE parameter is set automatically when the REF parameter is selected.
The following figure is an example Main tab of the AIREF block where the REFTYPE is set as
“SERIES_C_IO.”
1032 www.honeywell.com
31 I/O REFERENCE BLOCKS
When the CHANTYPE parameter is set, the parameters of the channel type are exposed as parameters of the
Reference block. This provides access to channel parameters, using the Reference block name (for example,
CM.AIREF.BADPVFL). The parameters of the channel may be exposed as faceplate parameters or pins on the
Reference block; hence, they are displayed in the following tabs.
• Block Pins
• Configuration Parameters
• Monitoring Parameters
The following figure displays the Block Pins, Configuration Parameters, and Monitoring Parameters tabs
of the AIREF block where the project parameters from the reference AI channel is automatically added.
Figure 33: Parameters visible in the tabs when REFTYPE is “SERIES_C_IO” or “PMIO”
1033
31 I/O REFERENCE BLOCKS
Attention
If you refer a parameter from a DSA server, then the parameter value is not displayed in the Reference block’s block
pin even though it reads the parameter value.
REF value cannot refer to user-projected parameters with Reference blocks as origin.
You can select the parameter to be referenced using one of the following formats using the point picker option.
• Point.Parameter
• Point.Block.Parameter
• @Substituteblockname.Parameter
• @Substitute Parameter
The following are the examples formats.
• CM.REGCTL.SP
• BIC_02.PIDA.PV
• AICHANNEL_01.PV
• @HT_LVL1.PV
• @HT_LVL1
If the input-type Reference blocks (AIREF and DIREF) are configured to reference the parameters, then there
are no restrictions in the configuration.
Guidelines for entering REF parameter value when REFTYPE is “PARAMETER” for output reference blocks
If the output-type Reference blocks (AOREF and DOREF) are configured to reference the parameters, then you
must adhere to the following guidelines.
• For the AO/DO Reference blocks, only push connections are allowed for OP/SO parameter.
• For the AO/DO Reference blocks, REF value can be modified only after deleting the existing connection.
The following figure displays the Block Pins, Configuration Parameters, and Monitoring Parameters tabs
of the AIREF block where the AIREF behaves as a parameter connector.
Attention
These tabs display the same parameters when REFTYPE is set as “None” or “PARAMETER”.
1034 www.honeywell.com
31 I/O REFERENCE BLOCKS
1035
31 I/O REFERENCE BLOCKS
Table 65: Origin of the Input/output value for input Reference blocks
1036 www.honeywell.com
31 I/O REFERENCE BLOCKS
The following figure is an example of the AIREF block configuration when REFTYPE is set as
“PARAMETER.”
1037
31 I/O REFERENCE BLOCKS
31.4.1 Function-AOREF
The OP parameter represents a value of its reference (REF). The AOREF block makes the OP available for
connections to other blocks. The AOREF block cannot accept the OP values from different controllers. The
origin of OP is listed in the following table based on the REFTYPE parameter configuration.
Table 66: Origin of the Input/output value for output Reference blocks
1038 www.honeywell.com
31 I/O REFERENCE BLOCKS
The following figure is an example of the AOREF block configuration when REFTYPE is set as
“PARAMETER.”
1039
31 I/O REFERENCE BLOCKS
Attention
If a DI channel of a Universal Input/Output (UIO) module is configured for pulse counting, then you must use the
DIREF block for referencing the UIO-DI channel.
31.5.1 Function-DIREF
The PV parameter represents a value of its reference (REF). The DIREF block makes the PV available for
connections to other blocks. The origin of PV is listed in the following table based on the REFTYPE parameter
configuration.
Table 67: Origin of the Input/output value for input Reference blocks
1040 www.honeywell.com
31 I/O REFERENCE BLOCKS
The following figure is an example of the DIREF block configuration when REFTYPE is set as
“PARAMETER.”
1041
31 I/O REFERENCE BLOCKS
31.6.1 Function-DOREF
The SO parameter represents a value of its reference (REF). The DOREF block makes the SO available for
connections to other blocks. The DOREF block cannot accept the SO values from different controllers. The
origin of SO is listed in the following table based on the REFTYPE parameter configuration.
Table 68: Origin of the Input/output value for output Reference blocks
Attention
The SO values are accepted only from the PUSH blocks or PUSH connections.
1042 www.honeywell.com
31 I/O REFERENCE BLOCKS
The following figure is an example of the DOREF block configuration when REFTYPE is set as
“PARAMETER.”
1043
31 I/O REFERENCE BLOCKS
7 Click Finish.
The copied Reference block is created in the CM chart.
The result of copying the Reference blocks varies based on the After column status in the Resolve
Indeterminate or Substitute Connections dialog box.
1044 www.honeywell.com
31 I/O REFERENCE BLOCKS
1045
31 I/O REFERENCE BLOCKS
1046 www.honeywell.com
31 I/O REFERENCE BLOCKS
1047
31 I/O REFERENCE BLOCKS
1048 www.honeywell.com
32 Utility Functions
Related topics
“Utility Function Blocks” on page 1050
“ALMWINDOW (Alarm Window -Alarm Annunciator) Block” on page 1052
“ANNPANEL (Annunciator Panel) Block” on page 1058
“DIGACQ (Digital Acquisition) Block” on page 1062
“EXECTIMER Block” on page 1067
“FIRSTOUT (First Out Detection) Block” on page 1072
“FLAG Block” on page 1077
“FLAGARRAY Block” on page 1079
“MESSAGE Block” on page 1080
“NUMERIC Block” on page 1083
“NUMERICARRAY Block” on page 1084
“PUSH Block” on page 1085
“TEXTARRAY Block” on page 1087
“TEXTCOMMENT (Text Comment) Block” on page 1088
“TIMER Block” on page 1089
“TYPECONVERT Block” on page 1091
1049
32 UTILITY FUNCTIONS
Attention
The ALMWINDOW, ANNPANEL, DIGACQ, and FIRSTOUT block can only be used with C300, C200E, and ACE
Controllers.
1050 www.honeywell.com
32 UTILITY FUNCTIONS
1051
32 UTILITY FUNCTIONS
With R410, the following parameters are introduced for configuring the on-delay time and off-delay time for the
Off-Normal alarms.
• OFFNRMALM.TM
• OFFNRMALM.TMO
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.
1052 www.honeywell.com
32 UTILITY FUNCTIONS
1053
32 UTILITY FUNCTIONS
Ringback sequence
The following is an illustration of the Alarm window state machine:
Following is the state transition table of the Alarm window state machine
1054 www.honeywell.com
32 UTILITY FUNCTIONS
Following is the state transition table of the Alarm window state machine Manual Reset:
LampState Events
NewAlarm AckAlarm RtnAlarm RstAlarm
LampOff LampState = FastFlash NoAction NoAction NoAction
FastFlash NoAction LampState = NoAction NoAction
LampSteady
LampSteady LampState = FastFlash NoAction NoAction If(All Alms RTN)
{LampState =
LampOff}
1055
32 UTILITY FUNCTIONS
Following is the state transition table of the Alarm window state machine Automatic Reset:
LampState Events
NewAlarm AckAlarm RtnAlarm RstAlarm
LampOff LampState = FastFlash No Action No Action No Action
FastFlash No Action If(All Alarms RTN) No Action No Action
{LampState =
LampOff}
Else
{LampState =
LampSteady}
LampSteady LampState = FastFlash No Action LampState = LampOff No Action
1056 www.honeywell.com
32 UTILITY FUNCTIONS
1057
32 UTILITY FUNCTIONS
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.
1058 www.honeywell.com
32 UTILITY FUNCTIONS
The ALMWINDOW blocks are connected to the ANNPANEL block as shown in the following block diagram.
1059
32 UTILITY FUNCTIONS
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.
Attention
If there are more than 32 inputs, two Alarm panel blocks can be combined to achieve the same functionality.
1060 www.honeywell.com
32 UTILITY FUNCTIONS
1061
32 UTILITY FUNCTIONS
With R410, the following parameters are introduced for configuring the on-delay time and off-delay time for
Off-Normal and Bad PV alarms.
• OFFNRMALM.TM
• OFFNRMALM.TMO
• BADPVALM.TM
• BADPVALM.TMO
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.
1062 www.honeywell.com
32 UTILITY FUNCTIONS
Block configuration
• By default, the PVSRCOPT parameter is set to ONLYAUTO and PVSOURCE is set to AUTO.
• The PVSOURCE parameter is disabled when PVSRCOPT is set to 0 (ONLYAUTO). It can be changed if
PVSRCOPT is set to 1 (ALL).
1063
32 UTILITY FUNCTIONS
Predecessor block
• A predecessor block is not required if PVSOURCE is set to MAN.
• If PVSOURCE is set to AUTO, any block with a digital output can be a predecessor.
• If the PVSOURCE is set to AUTO, or if the PVSRCOPT is set to 0 (ONLY AUTO), then a DICHANNEL
block can be a predecessor.
1064 www.honeywell.com
32 UTILITY FUNCTIONS
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.
1065
32 UTILITY FUNCTIONS
1066 www.honeywell.com
32 UTILITY FUNCTIONS
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.
1067
32 UTILITY FUNCTIONS
1068 www.honeywell.com
32 UTILITY FUNCTIONS
Attention
EXECTIMER is not supported on the C200 platform.
1069
32 UTILITY FUNCTIONS
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 CM is selected to cause execution in the
order listed. Measurements can include any number of CMs or SCMs.
1070 www.honeywell.com
32 UTILITY FUNCTIONS
1071
32 UTILITY FUNCTIONS
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.
1072 www.honeywell.com
32 UTILITY FUNCTIONS
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 do this, the
following I/O pin connections are required:
• IN[1] - IN[8] Inputs
• RESET Input
• FIRSTOUTACTED Output
Therefore, these parameters are exposed via block pins in the default state. The following parameters are
exposed in the FB panel in monitoring view.
• NUMDINPUTS
• INPUTACTED[1] - INPUTACTED[8]
• FIRSTOUTINPUT
NUMDINPUTS
FIRSTOUT FB uses NUMDINPUTS parameter which obtains the value from the Main configuration form. The
range of NUMDINPUTS is 1-24. If user configured NUMDINPUTS data in the Main configuration form is
invalid, an error message is displayed during configuration and download.
1073
32 UTILITY FUNCTIONS
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.
You can view the configured normal state of input at the faceplate of the function block without opening the
configuration page. The hollow diamond symbol indicates that the input pin on the faceplate is configured with
the normal input state as “True.”
In the Monitoring view, the hollow symbol is indicated in the color configured under the Pins and Wires tab of
the System preferences.
Attention
To view the hollow diamond symbol for inputs, which are configured with normal input state as “True,” you must
ensure to select the Show Normal Input State with Hollow Diamond checkbox in the System preferences dialog
box.
The following figure illustrates the hollow diamond symbol for the inputs with normal input state configured as
“True.”
1074 www.honeywell.com
32 UTILITY FUNCTIONS
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.
– 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.
– 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.
– In the absence of a change, the control exits.
– Transition monitoring (TRANSMON) can be enabled by a user with Engineer access. If FIRSTOUT has
already acted, TRANSMON cannot be enabled. However, if TRANSMON is enabled before FIRSTOUT
acted, it will continue to monitor upto 64,534 cycles and capture the list of inputs that became
ABNORMAL in each cycle.
1075
32 UTILITY FUNCTIONS
Reset
Reset can take effect only when FIRSTUPACTED is ON (First Out input is detected, and the output flag of the
First Out Logic is raised) and all the inputs are in the NORMAL state. Then, on a rising edge, the reset is
affected. When FIRSTUPACTED is OFF, OFF-to-ON transition of RESET input is ignored for performance.
1076 www.honeywell.com
32 UTILITY FUNCTIONS
With R410, the following parameters are introduced for configuring the on-delay time and off-delay time for the
Off-Normal alarms.
• OFFNRMALM.TM
• OFFNRMALM.TMO
1077
32 UTILITY FUNCTIONS
Attention
• A FLAG block cannot be configured to generate an alarm and an alert simultaneously. The selection between an
alarm and an alert is based on the ALTENBOPT parameter.
• When an alert is generated, the FLAG block's borders appear in red in the Monitoring view.
• In a CM, alarms are prioritized over alerts. However, the alerts and the alarms can be acknowledged
simultaneously from the station.
For more information about configuring alerts, refer to the Server and Client Configuration Guide. For more
information about acknowledging alerts, refer to the Operator's Guide.
1078 www.honeywell.com
32 UTILITY FUNCTIONS
1079
32 UTILITY FUNCTIONS
Attention
You must have the Electronic Signature system license to use the Single Signature and Double Signature message
types.
1080 www.honeywell.com
32 UTILITY FUNCTIONS
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. This means that 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.
Confirming a message
The confirming a message action varies based on whether you have Integrated Keyboard (IKB) in your system
or not.
If you have an IKB in your system, perform one of the following steps from the Message Summary display in
Station to confirm a message.
• Select the message and press MSG CONFM on the IKB.
• Select the message and click Confirm Message on the menu bar.
• Right-click the message and select Confirm.
If you do not have an IKB in your system, perform one of the following steps from the Message Summary
display in Station to confirm a message.
• Acknowledge the message twice.
• Select the message and click Confirm Message on the menu bar.
• Right-click the message and select Confirm.
In both scenarios, these actions set the CONFIRMED[n] parameter is set to ON (true). However, an operator
must still acknowledge the message from the Message Summary display if the CONFIRM[n] parameter is set
from the Monitoring view or from a logic connection in the control strategy.
1081
32 UTILITY FUNCTIONS
1082 www.honeywell.com
32 UTILITY FUNCTIONS
1083
32 UTILITY FUNCTIONS
1084 www.honeywell.com
32 UTILITY FUNCTIONS
The PUSH function block is used to push the value of different data types to the output destination.
1085
32 UTILITY FUNCTIONS
• 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.
1086 www.honeywell.com
32 UTILITY FUNCTIONS
1087
32 UTILITY FUNCTIONS
1088 www.honeywell.com
32 UTILITY FUNCTIONS
1089
32 UTILITY FUNCTIONS
given (through COMMAND), the Stop command is executed and all lower priority command flags are
automatically turned OFF
1090 www.honeywell.com
32 UTILITY FUNCTIONS
1091
32 UTILITY FUNCTIONS
• A configurable Value OFF mapped to Enumeration (BOOLVALUEOFF) which lets you select a given
enumeration to be mapped to a Boolean (ENUMBOOLMAP[n]) value of OFF.
• A configurable Value ON mapped to Enumeration (BOOLVALUEON) which lets you select a given
enumeration to be mapped to a Boolean (ENUMBOOLMAP[n]) value of ON
• 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]).
Attention
The TYPECONVERT block does not use BADINPUT EXECSTS when the block is in Inactive or in IDLE state.
1092 www.honeywell.com
33 Sequential Control
Related topics
“SCM (Sequential Control Module) Block” on page 1094
1093
33 SEQUENTIAL CONTROL
1094 www.honeywell.com
34 Notices
Trademarks
Experion®, PlantScape®, SafeBrowse®, TotalPlant®, and TDC 3000® are registered trademarks of Honeywell
International, Inc.
OneWireless™ is a trademark of Honeywell International, Inc.
Other trademarks
Microsoft and SQL Server are either registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries.
Trademarks that appear in this document are used only to the benefit of the trademark owner, with no intention
of trademark infringement.
Third-party licenses
This product may contain or be derived from materials, including software, of third parties. The third party
materials may be subject to licenses, notices, restrictions and obligations imposed by the licensor. The licenses,
notices, restrictions and obligations, if any, may be found in the materials accompanying the product, in the
documents or files accompanying such third party materials, in a file named third_party_licenses on the media
containing the product, or at http://www.honeywell.com/ps/thirdpartylicenses.
Documentation feedback
You can find the most up-to-date documents on the Honeywell Process Solutions support website at:
http://www.honeywellprocess.com/support
If you have comments about Honeywell Process Solutions documentation, send your feedback to:
[email protected]
Use this email address to provide feedback, or to report errors and omissions in the documentation. For
immediate help with a technical problem, contact your local Honeywell Process Solutions Customer Contact
Center (CCC) or Honeywell Technical Assistance Center (TAC).
1095
34 NOTICES
• Contact your local Honeywell Process Solutions Customer Contact Center (CCC) or Honeywell Technical
Assistance Center (TAC) listed in the “Support” section of this document.
Support
For support, contact your local Honeywell Process Solutions Customer Contact Center (CCC). To find your
local CCC visit the website, https://www.honeywellprocess.com/en-US/contact-us/customer-support-contacts/
Pages/default.aspx.
Training classes
Honeywell holds technical training classes about Experion PKS. These classes are taught by experts in the field
of process control systems. For more information about these classes, contact your Honeywell representative, or
see http://www.automationcollege.com.
1096 www.honeywell.com