Sunteți pe pagina 1din 1251

Honeywell Process Solutions

Experion LX

Control Builder Components


Theory
EXDOC-XX16-en-110A
R110
February 2014

Release 110
Honeywell

Notices and Trademarks


Copyright 2014 by Honeywell International Inc.
Release R110 February 2014

While this information is presented in good faith and believed to be accurate, Honeywell disclaims
the implied warranties of merchantability and fitness for a particular purpose and makes no
express warranties except as may be stated in its written agreement with and for its customers.
In no event is Honeywell liable to anyone for any indirect, special or consequential damages. The
information and specifications in this document are subject to change without notice.
Honeywell, PlantScape, Experion LX, and TotalPlant are registered trademarks of Honeywell
International Inc.
Other brand or product names are trademarks of their respective owners.

Honeywell Process Solutions


1860 W. Rose Garden Lane
Phoenix, AZ 85027 USA
1-800 343-0228

ii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

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 Input/Output Module blocks.

Release Information
Document Name

Document ID

Release
Number

Publication
Date

Control Builder Components Theory

EXDOC-XX16-en-110A

R110

February
2014

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

iii

Support and Other Contacts

Support and Other Contacts


Peoples Republic of China
Contact:
Phone:
Mail:

Email:

iv

Honeywell Global TAC China


+86- 21-5257-4568
Honeywell (China) Co., Ltd
33/F, Tower A, City Center, 100 Zunyi Rd.
Shanghai 200051, Peoples Republic of China
Global-TAC-China@honeywell.com

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Symbol Definitions

Symbol Definitions
The following table lists those symbols used in this document to denote certain conditions.
Symbol

Definition
ATTENTION: Identifies information that requires special
consideration.

TIP: Identifies advice or hints for the user, often in terms of


performing a task.
REFERENCE -EXTERNAL: Identifies an additional source of
information outside of the bookset.
REFERENCE - INTERNAL: Identifies an additional source of
information within the bookset.

CAUTION

Indicates a situation which, if not avoided, may result in equipment


or work (data) on the system being damaged or lost, or may result in
the inability to properly operate the process.
CAUTION: Indicates a potentially hazardous situation which, if not
avoided, may result in minor or moderate injury. It may also be used
to alert against unsafe practices.
CAUTION symbol on the equipment refers the user to the product
manual for additional information. The symbol appears next to
required information in the manual.
WARNING: Indicates a potentially hazardous situation, which, if not
avoided, could result in serious injury or death.
WARNING symbol on the equipment refers the user to the product
manual for additional information. The symbol appears next to
required information in the manual.
WARNING, Risk of electrical shock: Potential shock hazard where
HAZARDOUS LIVE voltages greater than 30 Vrms, 42.4 Vpeak, or
60 VDC may be accessible.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

Symbol Definitions

Symbol

Definition
ESD HAZARD: Danger of an electro-static discharge to which
equipment may be sensitive. Observe precautions for handling
electrostatic sensitive devices.
Protective Earth (PE) terminal: Provided for connection of the
protective earth (green or green/yellow) supply system conductor.

Functional earth terminal: Used for non-safety purposes such as


noise immunity improvement. NOTE: This connection shall be
bonded to Protective Earth at the source of supply in accordance
with national local electrical code requirements.
Earth Ground: Functional earth connection. NOTE: This
connection shall be bonded to Protective Earth at the source of
supply in accordance with national and local electrical code
requirements.
Chassis Ground: Identifies a connection to the chassis or frame of
the equipment shall be bonded to Protective Earth at the source of
supply in accordance with national and local electrical code
requirements.

vi

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

1.

CONTROL BUILDER COMPONENTS..........................................45


1.1

Some Underlying Concepts ........................................................................ 45


Introduction...............................................................................................................45
In the beginning or the Single-Loop Controller Reference ........................................45
Experion LX architecture - partitioned functionality ...................................................47
Blocks for building process control operations..........................................................48
Naming convention- independent versus dependent ................................................50
Full or expanded tag name .......................................................................................52
Parameter names .....................................................................................................52
Naming restrictions and conventions ........................................................................54
Parameter data types ...............................................................................................54
Data flow -- active versus passive ............................................................................55
Active and passive connectors .................................................................................55
Cascade loop connections .......................................................................................56
Data pull or push ......................................................................................................57

1.2

Control Capacity and Performance ............................................................ 58


Control network capacity ..........................................................................................58
C300 configuration options .......................................................................................58
C300 Redundancy ....................................................................................................59
C300 communication performance ...........................................................................60
C300 processing resources ......................................................................................63
C300 Memory Resources .........................................................................................63

1.3

I/O Capacity and Performance .................................................................... 64


C300 IO capacity ......................................................................................................64
IO Unit load factors ...................................................................................................64

1.4

Function Block Execution Schedules ........................................................ 65


Schedule consideration differences ..........................................................................65
Control Module and Sequential Control Module FBs schedule .................................65
CM Component Function Block scheduling ..............................................................69
IOM FB schedule ......................................................................................................73

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

vii

Contents

CEEC300 FB schedule ............................................................................................ 73


Cycle overruns ......................................................................................................... 74

1.5

Block Configuration Load Considerations ................................................ 75


About load considerations ........................................................................................ 75
Data categories ........................................................................................................ 75
Container and self-standing blocks load versus states............................................. 76
Load error messages ............................................................................................... 77
RAM Retention Start Up (RRSU) ............................................................................. 77

1.6

Memory Usage for CEE on C300 ................................................................. 78


Typical Requirements............................................................................................... 78
C300 CEE Processing and Memory Models ............................................................ 78

1.7

2.

CEE Standard Control Blocks ..................................................................... 82

CONTROL MODULE INDEPENDENCE ....................................... 89


2.1

Module Independence for Flexible Modification ....................................... 89

2.2

CM Independence and Hypothetical Controller Comparison .................. 89


Hypothetical controller structure ............................................................................... 89
Coupling effects in hypothetical controller ................................................................ 90

2.3

CEE Architecture .......................................................................................... 92


CEE controller structure ........................................................................................... 92
Program and Data Partitioning ................................................................................. 93
Native program and custom program partitioning .................................................... 94
Regulated Base Cycle .............................................................................................. 94
Coupling effects in CEE-based controller ................................................................. 95

3.

2.4

Validation of Control Module Independence ............................................. 98

2.5

Resource Coupling Across Different Platforms ...................................... 100

RELATIVE REFERENCES ......................................................... 101


3.1

About Relative References ........................................................................ 101

3.2

Relative References structure rules ......................................................... 101


How relative reference matching function works .................................................... 102

3.3

Display options for relative references .................................................... 104


How short name display option works .................................................................... 105

viii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

3.4

Control Builder functions supporting relative references ..................... 106

3.5

Control Builder blocks supporting expressions..................................... 106

3.6

Example of TRANSITION block using relative references ..................... 106


A container reference from a chart .........................................................................107
A reference to a parameter on the same block from a form ...................................107
A reference to a parameter on a different block in the same CM............................107
Expression display interaction ................................................................................108

3.7

Example of parameter connector using relative references ................. 109


A reference to a parameter on a different block in the same CM............................109
Parameter connector display interaction ................................................................110

3.8

Example of other parameters using relative references ........................ 110


A reference to a parameter on a basic block of the CM..........................................112
Other parameters display interaction ......................................................................112

3.9

4.

Bulk Builder and Bulk Editor support ...................................................... 113

PEER-TO-PEER FUNCTIONALITY ............................................115


4.1

Basic Peer-to-Peer Design Concepts ....................................................... 115


About Peer-to-Peer.................................................................................................115
Data flow models ....................................................................................................115
Peer environments and subscription periods ..........................................................115
Software Architecture for C300/CEE ......................................................................116

4.2

Initiator Rate - Calculation ......................................................................... 118


Overview ................................................................................................................118
Configuration without peer environment table ........................................................118
Configuration with peer environment table .............................................................118

4.3

Implications for Control Builder Configuration ...................................... 122


CEE execution and subscription rates ....................................................................122
Function block support ...........................................................................................122
Peer-to-peer connections and DEF and REF blocks ..............................................123
Peer-to-peer configuration example .......................................................................124
Peer-to-peer configuration guidelines .....................................................................127

5.

TIME SUPPORT IN EXPERION LX SYSTEM .............................129


5.1

Date and Time Synchronization................................................................ 129

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

ix

Contents

5.2

C300 Interface Module Time Synchronization ......................................... 129


BOOTP Mechanism and Multiple Clusters ............................................................. 130

5.3

Time Configuration Considerations ......................................................... 131


Time Data Types in Control Execution Environment (CEE) Blocks ........................ 131
Time Data Types in User Algorithms and Displays ................................................ 131

5.4

Examples of Time Usage in CAB and SCM .............................................. 133


Example - Custom Algorithm Block (CAB) writes Time CDP ................................. 133
Example - Custom Algorithm Block (CAB) reads Time CDP .................................. 133
Example - Sequence Control Module (SCM) waits for a specified Time ................ 134
Example - Sequence Control Module (SCM) records Time of process command.. 134

6.

COLD AND WARM RESTART FUNCTIONALITY...................... 137


6.1

Overview ...................................................................................................... 137


CEE Initial Startup .................................................................................................. 137
CEE Restarts ......................................................................................................... 137
CEE Restart Behaviors .......................................................................................... 138

6.2

Planning ....................................................................................................... 139


Invariant or Variant Restart Behaviors ................................................................... 139
Blocks with Invariant Restart Behavior ................................................................... 139
Blocks with Variant Restart Behavior ..................................................................... 142

6.3

Configuration of Restart Behaviors .......................................................... 145


CEE Block .............................................................................................................. 145
Control Module (CM) .............................................................................................. 145
Control Module Function Blocks ............................................................................. 146
Logic Blocks ........................................................................................................... 146
Sequential Control Module (SCM) .......................................................................... 148
Summary Of SCM Restart Behavior ...................................................................... 151
Supporting SCM Functionalities ............................................................................. 152
SCM Blocks............................................................................................................ 154
Warm and Cold Restart Behaviors of Cascades .................................................... 154

6.4

Operations ................................................................................................... 158


CEE Function Block ............................................................................................... 158

7.
x

EXTERNAL OPC SERVER SUPPORT ....................................... 161


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

Contents

7.1

OPC Data Access ....................................................................................... 161


OPC Server function block .....................................................................................161

7.2

OPC Data References ................................................................................ 161


OPC Data Name Syntax.........................................................................................161
Parameter connectors only .....................................................................................161
OPC references in expressions ..............................................................................161
OPC references in SCM Alias table........................................................................162

8.

CONTROL MODE SHED ON LOSS OF I/O FUNCTIONALITY ..165


8.1

Basic Control Mode Shed Design Concepts ........................................... 165


About Control Mode shed on loss of I/O .................................................................165
How it works ...........................................................................................................165

8.2

Option to specify a time delay for the REGCTL blocks to shed the mode
...................................................................................................................... 166
Enabling the option of specifying time delay for REGCTL blocks to shed the mode166
Description of values for Bad Output Connection Option .......................................168
Considerations for setting the BADOCOPT value ..................................................170
Applicability of BADOCOPT parameter for FANOUT blocks ..................................170
Simulation support for the BADOCOPT parameter ................................................171
Impact of BADOCOPT parameter on regulatory control functionalities ..................171
Effects of BADOCOPT value on delay timer in various scenarios ..........................172
Auxiliary memory usage for the parameters ...........................................................173
Detail Displays ........................................................................................................173

8.3

Implications for Operation ........................................................................ 176


Resetting mode after I/O communications are restored. ........................................176
Allowing Redundancy synchronization with lost I/O communications .....................176

8.4

9.

Remote Cascade function between Controllers ..................................... 176

CONTROL BUILDER EXPORT AND IMPORT FUNCTIONALITY177


9.1

Basic Export/Import Design Concepts .................................................... 177


About Control Builder Export and Import functions .................................................177
Export functionality .................................................................................................177
Import functionality .................................................................................................179
Export/Import functional overview...........................................................................180

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xi

Contents

9.2

Some Operation Considerations............................................................... 181


Export/Import usage notes ..................................................................................... 181

10. SCM AND CM CHART VISUALIZATION FUNCTIONALITY ...... 183


10.1 Basic Chart Visualization Design Concepts ............................................ 183
About Chart Visualization ....................................................................................... 183
How SCM chart visualization works ....................................................................... 183

10.2 Some SCM and CM Chart Operation Considerations ............................. 188


Detail display interaction notes ............................................................................... 188

11. I/O LINK INTERFACE ................................................................. 189


11.1 I/O Link Interface......................................................................................... 189
Seamless integration .............................................................................................. 189
I/O Functions .......................................................................................................... 189
About Point form .................................................................................................... 189

11.2 I/O Link Cable Status and Statistics ......................................................... 190


Periodic swap functionality ..................................................................................... 190
Periodic swap transition diagram............................................................................ 190

12. COMPONENT CATEGORIES AND TYPES ............................... 193


12.1 Overview ...................................................................................................... 193
About categories .................................................................................................... 193
Function block types and Data Organization .......................................................... 193

13. REGULATORY CONTROL ......................................................... 195


13.1 Regulatory Control Blocks ........................................................................ 195
Functional overview................................................................................................ 195
CAB insertion configuration considerations for regulatory control blocks ............... 198
Insertion type functional characteristics for regulatory control blocks ..................... 199
Functional requirements for Custom CAB algorithm for regulatory control block ... 201
CAB insertions for Regulatory Control block parameters ....................................... 203
Pin connections to inserted CAB instances ............................................................ 204
Insertion status and fail alarm for regulatory control blocks .................................... 205
Handling of insertion failure on regulatory control block ......................................... 205
xii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

CAB insertion on regulatory control block configuration examples .........................206


Tuning Conversions from Interactive to Non-Interactive PID ..................................212

13.2 About Safety Interlock Function ............................................................... 215


Safety Interlock processing ....................................................................................215
Safety Interlock processing considerations.............................................................216
Safety Interlock Alarming ........................................................................................217

13.3 About Red Tagging .................................................................................... 217


Purpose of Red Tagging.........................................................................................217
Function of Red Tagging ........................................................................................218
Before red tagging a point ......................................................................................218

13.4 AUTOMAN (Auto Manual) Block ............................................................... 218


Description .............................................................................................................218
Function..................................................................................................................228
Configuration example ............................................................................................228
Inputs......................................................................................................................230
Output.....................................................................................................................231
Initializable inputs and outputs................................................................................231
Output ranges .........................................................................................................232
Output bias .............................................................................................................232
Output Indication Function......................................................................................235
Mode Handling .......................................................................................................238
Timeout Monitoring .................................................................................................238
Control Initialization ................................................................................................238
Secondary initialization option ................................................................................239
Override feedback processing ................................................................................240
Windup processing .................................................................................................240
Anti-Reset Windup Status ......................................................................................243
AUTOMAN parameters ..........................................................................................244

13.5 ENHREGCALC (Enhanced Regulatory Control Calculator) Block ........ 244


Description .............................................................................................................244
Function..................................................................................................................257
Configuration example ............................................................................................257
Operating modes and mode handling .....................................................................258
Inputs......................................................................................................................259
Initializable input .....................................................................................................259
SP limit checking ....................................................................................................260
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xiii

Contents

SP target value processing .................................................................................... 260


Initializable outputs ................................................................................................. 263
Output ranges and limits ........................................................................................ 264
Assignable outputs ................................................................................................. 265
Output assignment rules ........................................................................................ 265
Control initialization ................................................................................................ 267
Output bias ............................................................................................................. 268
Output Indication Function ..................................................................................... 270
Timeout monitoring ................................................................................................ 273
Timeout processing ................................................................................................ 274
Mode shedding on timeout ..................................................................................... 274
Override feedback processing................................................................................ 275
Windup handling .................................................................................................... 276
Windup processing ................................................................................................. 277
Anti-Reset Windup Status ...................................................................................... 280
Expressions............................................................................................................ 281
Parameters in Expressions .................................................................................... 284
Guidelines for Writing Expressions ........................................................................ 284
Enable/Disable switch example expression............................................................ 286
String data support in expressions ......................................................................... 286
Time support in expressions .................................................................................. 287
Restart or Point Activation ...................................................................................... 290
ENHREGCALC parameters ................................................................................... 290

13.6 FANOUT Block ............................................................................................ 291


Description ............................................................................................................. 291
Function ................................................................................................................. 300
Configuration example ........................................................................................... 300
Inputs ..................................................................................................................... 301
Outputs .................................................................................................................. 301
Initializable inputs and outputs ............................................................................... 301
Output ranges ........................................................................................................ 302
Output bias ............................................................................................................. 303
Mode handling........................................................................................................ 305
Timeout monitoring ................................................................................................ 305
Control initialization ................................................................................................ 306
Secondary initialization option ................................................................................ 308
Override feedback processing................................................................................ 308
xiv

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

BACKCALC processing ..........................................................................................308


Output Indication Function......................................................................................309
Windup processing in FANOUT block ....................................................................311
Windup processing in Regulatory blocks ................................................................312
Anti-Reset Windup Status ......................................................................................315
FANOUT parameters .............................................................................................316

13.7 OVRDSEL (Override Selector) Block........................................................ 316


Description .............................................................................................................316
Function..................................................................................................................326
Configuration example ............................................................................................328
Configuration considerations ..................................................................................331
Inputs......................................................................................................................332
Input ranges ...........................................................................................................332
Input descriptors .....................................................................................................332
Initializable outputs .................................................................................................332
Output ranges and limits.........................................................................................333
Output Indication Function......................................................................................334
Mode handling ........................................................................................................337
Timeout monitoring .................................................................................................337
Timeout processing ................................................................................................337
Bypass processing .................................................................................................338
Bad input option .....................................................................................................338
Equations ...............................................................................................................338
Input switching ........................................................................................................339
Output bias .............................................................................................................339
Bad CV processing .................................................................................................339
Control initialization ................................................................................................340
Restart or function block activation .........................................................................340
Override feedback propagation ..............................................................................341
Recommendations on configuring override strategies ............................................342
Windup processing .................................................................................................342
Anti-Reset Windup Status ......................................................................................345
OVRDSEL parameters ...........................................................................................347

13.8 PID Block ..................................................................................................... 347


Description .............................................................................................................347
Function..................................................................................................................363
Functional scenario ................................................................................................364
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xv

Contents

Configuration examples.......................................................................................... 365


Operating modes and mode handling .................................................................... 369
Required inputs ...................................................................................................... 369
Input ranges and limits ........................................................................................... 370
Initializable outputs ................................................................................................. 370
Control initialization ................................................................................................ 371
Output bias ............................................................................................................. 372
Output ranges and limits ........................................................................................ 374
Direct or reverse control ......................................................................................... 375
Set Point Ramping ................................................................................................. 375
PV tracking ............................................................................................................. 379
PID equations......................................................................................................... 380
Gain options ........................................................................................................... 382
Tuning Constant Change Considerations............................................................... 384
Timeout monitoring ................................................................................................ 384
Timeout processing ................................................................................................ 384
Output Indication Function ..................................................................................... 385
Windup handling .................................................................................................... 389
Windup processing ................................................................................................. 390
Anti-Reset Windup Status ...................................................................................... 392
Override feedback processing................................................................................ 393
PID parameters ...................................................................................................... 395

13.9 PID-PL (Profit Loop PKS) Block ................................................................ 395


Description ............................................................................................................. 395
Function ................................................................................................................. 410
Configuration examples.......................................................................................... 419
Operating modes and mode handling .................................................................... 426
Required inputs ...................................................................................................... 426
Input ranges and limits ........................................................................................... 427
Initializable outputs ................................................................................................. 427
Control initialization ................................................................................................ 427
Output bias ............................................................................................................. 428
Output ranges and limits ........................................................................................ 428
Direct or reverse control ......................................................................................... 428
Set Point Ramping ................................................................................................. 428
Range Control Ramping ......................................................................................... 428
PV tracking ............................................................................................................. 429
xvi

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

PV Bad Value Handling ..........................................................................................430


PV Calibration ........................................................................................................430
Asynchronous PV Inputs ........................................................................................431
Control Equations ...................................................................................................432
Output Indication Function......................................................................................432
Tuning Constant Change Considerations ...............................................................436
Timeout monitoring .................................................................................................437
Windup handling .....................................................................................................437
Windup processing .................................................................................................437
Anti-Reset Windup Status ......................................................................................440
Override feedback processing ................................................................................441
PID-PL parameters .................................................................................................441

13.10 PIDER (PID with External Reset Feedback) Block .................................. 442
Description .............................................................................................................442
Configuration example ............................................................................................443
Function..................................................................................................................458
Operating modes and mode handling .....................................................................459
Required inputs ......................................................................................................460
Input ranges and limits ...........................................................................................460
Initializable outputs .................................................................................................461
Control initialization ................................................................................................462
Output bias .............................................................................................................462
Output ranges and limits.........................................................................................464
Direct or reverse control .........................................................................................465
Set Point Ramping..................................................................................................466
PV tracking .............................................................................................................470
PID equations .........................................................................................................471
PIDER equation variations .....................................................................................473
Gain options ...........................................................................................................474
Output Indication Function......................................................................................476
Tuning Constant Change Considerations ...............................................................478
Timeout monitoring .................................................................................................478
Timeout processing ................................................................................................479
Windup handling .....................................................................................................479
Windup processing .................................................................................................480
Anti-Reset Windup Status ......................................................................................482
Override feedback processing ................................................................................483
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xvii

Contents

Error handling for RFB and TRFB inputs ............................................................... 483


Restart or point activation....................................................................................... 484
PIDER parameters ................................................................................................. 484

13.11 PIDFF (PID with Feedforward) Block ........................................................ 484


Description ............................................................................................................. 484
Function ................................................................................................................. 501
Functional scenario ................................................................................................ 502
Operating modes and mode handling .................................................................... 503
Required inputs ...................................................................................................... 504
Input ranges and limits ........................................................................................... 504
Initializable outputs ................................................................................................. 505
Control initialization ................................................................................................ 506
Output bias ............................................................................................................. 506
Output ranges and limits ........................................................................................ 508
Direct or reverse control ......................................................................................... 509
Set Point Ramping ................................................................................................. 509
PV tracking ............................................................................................................. 513
Feedforward add or multiply action and equations ................................................. 514
Feedforward value status ....................................................................................... 517
PID equations......................................................................................................... 517
Gain options ........................................................................................................... 519
Output Indication Function ..................................................................................... 521
Tuning Constant Change Considerations............................................................... 525
Timeout monitoring ................................................................................................ 525
Timeout processing ................................................................................................ 525
Windup handling .................................................................................................... 526
Windup processing ................................................................................................. 526
Anti-Reset Windup Status ...................................................................................... 529
Bypassing feedforward control action ..................................................................... 530
Override feedback processing................................................................................ 530
PIDFF parameters.................................................................................................. 532

13.12 LEGACYGAP Option .................................................................................. 532


Introduction ............................................................................................................ 532
Legacy gap gain option .......................................................................................... 533
Equation ................................................................................................................. 533
Configuration .......................................................................................................... 534
Migration ................................................................................................................ 535
xviii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

13.13 POSPROP (Position Proportional) Block ................................................ 535


Description .............................................................................................................535
Function..................................................................................................................546
Operating modes and mode handling .....................................................................548
Required inputs ......................................................................................................549
Input ranges and limits ...........................................................................................549
Output.....................................................................................................................550
Initializable inputs and outputs................................................................................550
Output ranges .........................................................................................................550
Set Point Ramping..................................................................................................551
Timeout monitoring .................................................................................................555
Timeout processing ................................................................................................555
Equations ...............................................................................................................556
Control Initialization ................................................................................................557
Secondary initialization option ................................................................................557
Override feedback processing ................................................................................558
Raise/Lower limit switches......................................................................................558
Bad control processing ...........................................................................................558
Windup processing .................................................................................................559
Anti-Reset Windup Status ......................................................................................562
POSPROP parameters...........................................................................................563

13.14 PULSECOUNT Block .................................................................................. 563


Description .............................................................................................................563
Function..................................................................................................................565
Required inputs ......................................................................................................566
Output.....................................................................................................................566
Initializable inputs and outputs................................................................................567
PULSECOUNT parameters ....................................................................................567

13.15 PULSELENGTH Block ................................................................................ 568


Description .............................................................................................................568
Function..................................................................................................................569
Required inputs ......................................................................................................570
Output.....................................................................................................................570
Initializable inputs and outputs................................................................................571
PULSELENGTH parameters ..................................................................................571

13.16 RAMPSOAK Block...................................................................................... 572


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xix

Contents

Description ............................................................................................................. 572


Function ................................................................................................................. 584
Required inputs ...................................................................................................... 586
Input ranges and limits ........................................................................................... 586
Initializable outputs ................................................................................................. 586
Output ranges and limits ........................................................................................ 587
Mode handling........................................................................................................ 588
Hold command ....................................................................................................... 588
CEE idle or Control Module inactivate command ................................................... 588
Profile statistics ...................................................................................................... 589
Guaranteed ramp rate ............................................................................................ 589
Guaranteed soak time ............................................................................................ 590
Event timer functions .............................................................................................. 590
Control initialization ................................................................................................ 591
Override feedback processing................................................................................ 591
Output Indication Function ..................................................................................... 591
Windup processing ................................................................................................. 592
Anti-Reset Windup Status ...................................................................................... 595
RAMPSOAK parameters ........................................................................................ 596

13.17 RATIOBIAS Block ....................................................................................... 596


Description ............................................................................................................. 596
Function ................................................................................................................. 605
Configuration example ........................................................................................... 606
Operating modes and mode handling .................................................................... 607
Required inputs ...................................................................................................... 608
Input ranges and limits ........................................................................................... 608
Initializable outputs ................................................................................................. 609
Output ranges and limits ........................................................................................ 609
Control initialization ................................................................................................ 610
Ratio bias option .................................................................................................... 611
Output bias ............................................................................................................. 612
Timeout monitoring ................................................................................................ 614
Timeout processing ................................................................................................ 615
Override feedback processing................................................................................ 615
Output Indication Function ..................................................................................... 616
Windup handling .................................................................................................... 619
Windup processing ................................................................................................. 620
xx

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

Anti-Reset Windup Status ......................................................................................623


RATIOBIAS parameters .........................................................................................624

13.18 RATIOCTL (Ratio Control) Block .............................................................. 624


Description .............................................................................................................624
Function..................................................................................................................635
Configuration example ............................................................................................636
Operating modes and mode handling .....................................................................637
Required inputs ......................................................................................................637
Input ranges and limits ...........................................................................................638
Initializable outputs .................................................................................................638
Output ranges and limits.........................................................................................639
Control initialization ................................................................................................640
Equations ...............................................................................................................641
Output bias .............................................................................................................643
Timeout monitoring .................................................................................................645
Timeout processing ................................................................................................645
Override feedback processing ................................................................................646
Output Indication Function......................................................................................647
Windup handling .....................................................................................................650
Windup processing .................................................................................................651
Anti-Reset Windup Status ......................................................................................654
Restart or point activation .......................................................................................655
Error handling .........................................................................................................655
RATIOCTL parameters ..........................................................................................656

13.19 REGCALC (Regulatory Control Calculator) Block .................................. 656


Description .............................................................................................................656
Function..................................................................................................................669
Operating modes and mode handling .....................................................................670
Inputs......................................................................................................................670
Input ranges and limits ...........................................................................................670
Initializable outputs .................................................................................................671
Output ranges and limits.........................................................................................672
Assignable outputs .................................................................................................672
Output assignment rules.........................................................................................673
Control initialization ................................................................................................674
Output bias .............................................................................................................675
Timeout monitoring .................................................................................................678
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxi

Contents

Timeout processing ................................................................................................ 678


Override feedback processing................................................................................ 678
Output Indication Function ..................................................................................... 680
Windup handling .................................................................................................... 683
Windup processing ................................................................................................. 684
Anti-Reset Windup Status ...................................................................................... 687
Expressions............................................................................................................ 688
Parameters in Expressions .................................................................................... 690
Guidelines for Writing Expressions ........................................................................ 691
String data support in expressions ......................................................................... 692
Time support in expressions .................................................................................. 693
REGCALC parameters ........................................................................................... 696

13.20 REGSUMMER (Regulatory Summer) Block ............................................. 696


Description ............................................................................................................. 696
Equation ................................................................................................................. 706
Function ................................................................................................................. 707
Configuration example ........................................................................................... 707
Inputs ..................................................................................................................... 707
Outputs .................................................................................................................. 708
Initializable inputs and outputs ............................................................................... 708
Output Ranges ....................................................................................................... 708
Output bias ............................................................................................................. 709
Mode handling........................................................................................................ 710
Control initialization ................................................................................................ 710
Override feedback processing................................................................................ 711
Output Indication Function ..................................................................................... 712
Windup processing ................................................................................................. 715
REGSUMMER parameters .................................................................................... 718

13.21 REMCAS (Remote Cascade) Block ........................................................... 718


Description ............................................................................................................. 718
Function ................................................................................................................. 728
Configuration example ........................................................................................... 729
Inputs ..................................................................................................................... 733
Input ranges and limits ........................................................................................... 733
Input descriptors..................................................................................................... 733
Outputs .................................................................................................................. 733
Output ranges and limits ........................................................................................ 734
xxii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

Output Indication Function......................................................................................734


Mode handling ........................................................................................................739
Timeout monitoring .................................................................................................739
Timeout processing ................................................................................................739
Input switching ........................................................................................................740
Equations ...............................................................................................................741
Output bias .............................................................................................................741
Control Initialization ................................................................................................744
Override feedback processing ................................................................................744
Windup processing .................................................................................................745
Anti-Reset Windup Status ......................................................................................748
REMCAS parameters .............................................................................................749

13.22 SWITCH Block ............................................................................................ 749


Description .............................................................................................................749
Function..................................................................................................................759
Inputs......................................................................................................................761
Input ranges and limits ...........................................................................................762
Input descriptors .....................................................................................................762
Initializable Outputs ................................................................................................762
Output ranges and limits.........................................................................................763
Mode handling ........................................................................................................763
Timeout monitoring .................................................................................................763
Timeout processing ................................................................................................764
Equations ...............................................................................................................764
Bad input handling ..................................................................................................766
Bypass processing .................................................................................................767
Input switching ........................................................................................................767
Output bias .............................................................................................................767
Error handling .........................................................................................................770
Control initialization ................................................................................................770
Override feedback processing ................................................................................771
Output Indication Function......................................................................................772
Windup processing .................................................................................................775
Anti-Reset Windup Status ......................................................................................777
SWITCH parameters ..............................................................................................778

14. AUXILIARY FUNCTIONS ............................................................779


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxiii

Contents

14.1 Auxiliary Function Blocks ......................................................................... 779


Functional Overview ............................................................................................... 779
Common auxiliary block functions .......................................................................... 781

14.2 AUXCALC (Auxiliary Calculation) Block .................................................. 782


Description ............................................................................................................. 782
Function ................................................................................................................. 782
Configuration example ........................................................................................... 783
Input ....................................................................................................................... 784
Output .................................................................................................................... 785
Expressions............................................................................................................ 785
Parameters in Expressions .................................................................................... 785
Guidelines for Writing Expressions ........................................................................ 786
Assignable Outputs ................................................................................................ 787
AUXCALC parameters ........................................................................................... 787

14.3 AUXSUMMER (Auxiliary Summer) Block ................................................. 788


Description ............................................................................................................. 788
Function ................................................................................................................. 788
Configuration parameters ....................................................................................... 789
Configuration example ........................................................................................... 790
Input ....................................................................................................................... 791
Output .................................................................................................................... 792
Error handling......................................................................................................... 792
Restart or point activation....................................................................................... 792
AUXSUMMER parameters ..................................................................................... 792

14.4 CTUD (COUNTER UP/DOWN) Block ......................................................... 792


Description ............................................................................................................. 792
Function ................................................................................................................. 793
Inputs ..................................................................................................................... 793
Outputs .................................................................................................................. 796
Edge or Level trigger mechanism ........................................................................... 796
Supported algorithms ............................................................................................. 799
Counter overflow and underflow conditions ............................................................ 799
Effects of restart or point activation on CTUD ........................................................ 803
Effects of Import or Export on CTUD...................................................................... 803
Effects of Checkpoint operations CTUD ................................................................. 803
Parameter error handling ....................................................................................... 805
xxiv

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

CTUD parameters ..................................................................................................805

14.5 DEADTIME Block ........................................................................................ 805


Description .............................................................................................................805
Function..................................................................................................................807
Input .......................................................................................................................808
Output.....................................................................................................................808
PV status ................................................................................................................808
Error handling .........................................................................................................809
Delay type ..............................................................................................................809
Delay table .............................................................................................................810
Restart condition ....................................................................................................811
DEADTIME parameters ..........................................................................................811

14.6 ENHAUXCALC (Enhanced Auxiliary Calculation) Block ........................ 812


Description .............................................................................................................812
Function..................................................................................................................813
Configuration parameters .......................................................................................814
Input .......................................................................................................................815
Output.....................................................................................................................816
Expressions ............................................................................................................816
Parameters in Expressions .....................................................................................816
Guidelines for Writing Expressions .........................................................................817
Enable/Disable switch example expression ............................................................818
Scaled Input example expression ...........................................................................819
Assignable Outputs ................................................................................................819
ENHAUXCALC parameters ....................................................................................820

14.7 ENHGENLIN (Enhanced General Linearization) Block ........................... 820


Description .............................................................................................................820
Function..................................................................................................................822
Configuration Parameters .......................................................................................823
Input .......................................................................................................................824
Output.....................................................................................................................824
Error Handling ........................................................................................................824
Strategy Optimization using ENHGENLIN block.....................................................824
ENHGENLIN block Usage Scenario ....................................................................825
ENHGENLIN parameters .......................................................................................832

14.8 FLOWCOMP (Flow Compensation) Block ............................................... 832


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxv

Contents

Description ............................................................................................................. 832


Function ................................................................................................................. 833
Configuration parameters ....................................................................................... 834
Input ....................................................................................................................... 836
Output .................................................................................................................... 836
Equations ............................................................................................................... 837
Additional considerations for FLOWCOMP Equation A .......................................... 838
Error handling......................................................................................................... 841
Alarm behavior ....................................................................................................... 841
Alarm example ....................................................................................................... 842
Fail-Safe values ..................................................................................................... 843
FLOWCOMP parameters ....................................................................................... 843

14.9 GENLIN (General Linearization) Block ..................................................... 843


Description ............................................................................................................. 843
Function ................................................................................................................. 845
Inputs ..................................................................................................................... 845
Outputs .................................................................................................................. 845
Error handling......................................................................................................... 845
GENLIN parameters ............................................................................................... 845

14.10 LEADLAG Block.......................................................................................... 846


Description ............................................................................................................. 846
Function ................................................................................................................. 848
Input ....................................................................................................................... 848
Output .................................................................................................................... 848
PV status ................................................................................................................ 848
Error handling......................................................................................................... 849
Equation ................................................................................................................. 849
Time constant recommendations ........................................................................... 849
Restart condition .................................................................................................... 850
LEADLAG parameters ........................................................................................... 850

14.11 ROC (Rate of Change) Block ..................................................................... 850


Description ............................................................................................................. 850
Function ................................................................................................................. 853
Configuration examples.......................................................................................... 854
Inputs ..................................................................................................................... 855
Outputs .................................................................................................................. 855
Error handling......................................................................................................... 855
xxvi

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

ROC parameters ....................................................................................................856

14.12 SIGNALSEL (Signal Selector) Block ........................................................ 856


Description .............................................................................................................856
Function..................................................................................................................857
Configuration parameters .......................................................................................858
Configuration examples ..........................................................................................860
Input .......................................................................................................................864
Ignore Inputs ..........................................................................................................865
Ignore Limit Checking .............................................................................................865
Output.....................................................................................................................866
Selection Methods ..................................................................................................866
Force-Select ...........................................................................................................869
Bumpless Input Switching ......................................................................................869
Deviation Alarming .................................................................................................870
Deviation Alarm Deadband .....................................................................................870
Deviation Alarm Deadband Units............................................................................870
Error handling .........................................................................................................870
Restart or point activation .......................................................................................871
Parameters for Checkpoint .....................................................................................872
SIGNALSEL parameters ........................................................................................872

14.13 TOTALIZER Block ...................................................................................... 872


Description .............................................................................................................872
Function..................................................................................................................873
Configuration example ............................................................................................873
Input .......................................................................................................................875
Outputs ...................................................................................................................876
TOTALIZER states .................................................................................................876
Accumulator target value ........................................................................................877
Deviation trip points ................................................................................................877
Equations ...............................................................................................................878
Accumulated value calculation ...............................................................................879
Error handling .........................................................................................................880
Restart and activation .............................................................................................881
TOTALIZER parameters ........................................................................................881

15. DATA ACQUISITION FUNCTIONS.............................................883


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxvii

Contents

15.1 DATAACQ (Data Acquisition) Block ......................................................... 883


Description ............................................................................................................. 883
CAB Insertions for DATAACQ block parameters ................................................... 888
CAB insertion configuration considerations ............................................................ 888
Insertion type functional characteristics.................................................................. 889
Pin connections to inserted CAB instances ............................................................ 890
CAB Insertion status and fail alarm ........................................................................ 891
Handling of insertion failure .................................................................................... 891
CAB insertion configuration examples.................................................................... 892
Input ....................................................................................................................... 897
Input ranges and limits ........................................................................................... 897
P1 status ................................................................................................................ 898
PV Characterization ............................................................................................... 898
Input filtering........................................................................................................... 899
Input clamping ........................................................................................................ 900
Low signal cut off ................................................................................................... 901
Output .................................................................................................................... 901
PV source selection ............................................................................................... 901
PV status ................................................................................................................ 902
Alarm processing ................................................................................................... 902
PV significant-change alarming .............................................................................. 905
Bad PV alarm ......................................................................................................... 906
DATAACQ parameters ........................................................................................... 906

16. DEVICE CONTROL..................................................................... 907


16.1 DEVCTL (Device Control) Block................................................................ 907
Description ............................................................................................................. 907
Function ................................................................................................................. 917
Configuration examples.......................................................................................... 920
Inputs ..................................................................................................................... 924
Outputs .................................................................................................................. 925
States ..................................................................................................................... 926
State parameters and descriptors .......................................................................... 927
Two-State motor input example ............................................................................. 928
Valve input example ............................................................................................... 929
Two-Input motor example....................................................................................... 929
Reversible motor input example ............................................................................. 930
xxviii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

Four-Input two-valve example ................................................................................931


DI to PV state map .................................................................................................932
Two-State motor with latched output example ........................................................932
Valve Output Example ............................................................................................932
Three-State Motor output examples .......................................................................933
Mode and mode attribute........................................................................................934
Safe output state ....................................................................................................934
Momentary state .....................................................................................................935
Local manual ..........................................................................................................936
Permissive interlocks ..............................................................................................936
Safety Override Interlock ........................................................................................937
Override Interlocks .................................................................................................937
Configurable Override/Permissive Interlock Bypass ...............................................938
Alarms ....................................................................................................................938
Seal-In option .........................................................................................................940
Initialization Manual condition .................................................................................941
OP Initialization Option ...........................................................................................941
Initialization Manual Condition with Safety Override Interlock, Override Interlocks,
LocalMan, and OP Initialization ..............................................................................941
Initialization with Pulse Output ................................................................................943
Initialization Request Flags .....................................................................................944
OP and DO Initialization After Load ........................................................................945
Maintenance Statistics............................................................................................945
Output requests ......................................................................................................946
Output command ....................................................................................................946
Logic override OPREQ ...........................................................................................947
DEVCTL parameters ..............................................................................................947

17. LOGIC FUNCTIONS....................................................................949


17.1 Logic Function Blocks ............................................................................... 949
Functional Overview ...............................................................................................949
2003 .......................................................................................................................950
AND ........................................................................................................................951
CHECKBAD ...........................................................................................................951
CHECKBOOL .........................................................................................................951
CHGEXEC..............................................................................................................952
CONTACTMON......................................................................................................953
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxix

Contents

DELAY ................................................................................................................... 953


EQ .......................................................................................................................... 954
FTRIG .................................................................................................................... 954
GE .......................................................................................................................... 955
GT .......................................................................................................................... 956
LE........................................................................................................................... 956
LIMIT ...................................................................................................................... 957
LT ........................................................................................................................... 957
MAX ....................................................................................................................... 957
MAXPULSE............................................................................................................ 958
MIN ........................................................................................................................ 959
MINPULSE ............................................................................................................. 960
MUX ....................................................................................................................... 961
MUX-REAL............................................................................................................. 962
MVOTE .................................................................................................................. 962
NAND ..................................................................................................................... 963
NE .......................................................................................................................... 963
nOON ..................................................................................................................... 964
NOR ....................................................................................................................... 965
NOT ....................................................................................................................... 965
OFFDELAY ............................................................................................................ 965
ONDELAY .............................................................................................................. 967
OR.......................................................................................................................... 968
PULSE ................................................................................................................... 968
QOR ....................................................................................................................... 970
ROL........................................................................................................................ 970
ROR ....................................................................................................................... 970
RS .......................................................................................................................... 971
RTRIG .................................................................................................................... 971
SEL ........................................................................................................................ 972
SEL-REAL .............................................................................................................. 972
SHL ........................................................................................................................ 972
SHR ....................................................................................................................... 973
SR .......................................................................................................................... 974
STARTSIGNAL ...................................................................................................... 975
TRIG ...................................................................................................................... 977
WATCHDOG .......................................................................................................... 978
XOR ....................................................................................................................... 979
xxx

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

Parameters .............................................................................................................979

17.2 Change Execute (CHGEXEC) Block ......................................................... 979


Description .............................................................................................................979

17.3 CHGEXEC Usage Considerations for Change Driven Execution.......... 980


17.4 Change Driven Application Risk Factors ................................................ 982
17.5 Blocks Qualified for Use with CHGEXEC Block ..................................... 983
17.6 Experion LX Controller Platform Support for CHGEXEC ....................... 987
17.7 CHGEXEC Main Parameter Details ........................................................... 987
17.8 CHGEXEC Cascading Between Control Modules Example ................... 990
Graphical Examples of Cascaded CHGEXEC control charts .................................990
Cascaded CHGEXEC functional considerations ....................................................991

17.9 CHGEXEC Cascading Within Control Module Example ......................... 993


EXITOPT considerations for cascaded CHGEXEC in single CM ...........................994

17.10 Importance of Using Consistent Input Data ............................................ 994


Wrong input data example ......................................................................................995
Correct input data example ....................................................................................995

17.11 Periodic Auto Trigger Function of CHGEXEC ......................................... 996


Auto Trigger application support .............................................................................997
ATUOPERIOD sets period for Auto Trigger ...........................................................997
TRIGGER output and Auto Trigger execution ........................................................998
Relationship between Auto Trigger and AUTOPHASE for synchronization prevention
...............................................................................................................................998
AUTOPERIOD configuration restrictions ................................................................999

17.12 Execution Order Considerations for CHGEXEC within CM ................... 999


17.13 CHGEXEC Behaviors for State Transitions ........................................... 1000
17.14 CHGEXEC Supports Checkpoint Function............................................ 1002
17.15 Load Monitoring Parameters .................................................................. 1003
17.16 Sample CHGEXEC TESTOPT Procedure ............................................... 1003
17.17 Examples and Scenarios ......................................................................... 1005
CheckBool functionality ........................................................................................1005
CheckBool Scenario 1 ..........................................................................................1008
CheckBool Scenario 2 ..........................................................................................1009
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxxi

Contents

CheckBool Scenario 3 .......................................................................................... 1010


CheckBool Scenario 4 .......................................................................................... 1011
Contact Monitoring (CONTACTMON) Block ........................................................ 1012

18. MATH FUNCTIONS .................................................................. 1015


18.1 Math Function Blocks .............................................................................. 1015
Functional Overview ............................................................................................. 1015
Available Math blocks and size ............................................................................ 1015
Math blocks functional description ....................................................................... 1016
ABS ...................................................................................................................... 1017
ADD ..................................................................................................................... 1017
DIV ....................................................................................................................... 1017
EXP ...................................................................................................................... 1017
LN ........................................................................................................................ 1017
LOG ..................................................................................................................... 1017
MOD..................................................................................................................... 1018
MUL ..................................................................................................................... 1018
NEG ..................................................................................................................... 1018
POW .................................................................................................................... 1018
ROUND ................................................................................................................ 1018
SQRT ................................................................................................................... 1018
SUB...................................................................................................................... 1019
TRUNC ................................................................................................................ 1019
ROLLAVG ............................................................................................................ 1019
Rolling Average block........................................................................................... 1019

19. POWER GENERATION FUNCTIONS ...................................... 1025


19.1 POWERGEN Function Blocks ................................................................. 1025
Functional overview.............................................................................................. 1025

19.2 GRPCAPRBK (Group Capability and Runback) Block ......................... 1026


Description ........................................................................................................... 1026
Function ............................................................................................................... 1028
Configuration examples........................................................................................ 1030
Inputs ................................................................................................................... 1030
Outputs ................................................................................................................ 1030
Error handling....................................................................................................... 1031
xxxii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

GRPCAPRBK parameters ....................................................................................1032

19.3 HTMOTOR (HT Motor Drive Control) Block ........................................... 1032


Description ...........................................................................................................1032
Function................................................................................................................1046
Configuration examples ........................................................................................1047
Inputs....................................................................................................................1060
Outputs .................................................................................................................1060
Error handling .......................................................................................................1061
States ...................................................................................................................1062
State parameters and descriptors.........................................................................1062
Mode and mode attribute......................................................................................1064
Safe output state ..................................................................................................1064
Command dependency on switches and Mode attribute ......................................1064
Local manual ........................................................................................................1065
Permissive interlocks ............................................................................................1066
Safety Override Interlock ......................................................................................1066
Override Interlocks ...............................................................................................1066
Configurable Override/Permissive Interlock Bypass .............................................1067
Alarms ..................................................................................................................1067
Seal-in option .......................................................................................................1069
FIRSTUP functionality ..........................................................................................1069
Initialization Manual condition ...............................................................................1069
OP initialization option ..........................................................................................1070
Initialization Manual condition with Safety Override Interlock, Override Interlocks,
LocalMan, and OP initialization ............................................................................1070
Initialization with pulse output ...............................................................................1071
Initialization request flags .....................................................................................1071
OP and DO initialization after load........................................................................1071
Maintenance statistics ..........................................................................................1071
Output requests ....................................................................................................1072
Output command ..................................................................................................1072
Logic override OPREQ .........................................................................................1074
Monitoring HT Motor Current ................................................................................1074
HTMOTOR parameters ........................................................................................1074

19.4 LEVELCOMP (Drum Level Computation) Block.................................... 1075


Description ...........................................................................................................1075
Function................................................................................................................1078
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxxiii

Contents

Inputs ................................................................................................................... 1080


Outputs ................................................................................................................ 1080
Error handling....................................................................................................... 1081
LEVELCOMP parameters .................................................................................... 1081

19.5 LTMOTOR (LT Motor Drive Control) Block ............................................ 1081


Description ........................................................................................................... 1081
Function ............................................................................................................... 1090
Configuration examples........................................................................................ 1091
Inputs ................................................................................................................... 1102
Outputs ................................................................................................................ 1102
Error handling....................................................................................................... 1103
States ................................................................................................................... 1104
State parameters and descriptors ........................................................................ 1104
Mode and mode attribute ..................................................................................... 1105
Safe output state .................................................................................................. 1106
Command dependency on switches and mode attribute ...................................... 1106
Local manual ........................................................................................................ 1107
Permissive interlocks ........................................................................................... 1107
Safety Override Interlock ...................................................................................... 1108
Override Interlocks ............................................................................................... 1108
Configurable Override/Permissive Interlock Bypass............................................. 1109
Alarms .................................................................................................................. 1109
Seal-in option ....................................................................................................... 1110
Initialization Manual condition .............................................................................. 1111
OP initialization option .......................................................................................... 1111
Initialization Manual condition with Safety Override Interlock, Override Interlocks,
LocalMan, and OP initialization ............................................................................ 1112
Initialization with pulse output ............................................................................... 1112
Initialization request flags ..................................................................................... 1113
OP and DO initialization after load ....................................................................... 1113
Maintenance statistics .......................................................................................... 1113
Output requests.................................................................................................... 1114
Output command.................................................................................................. 1114
Logic override OPREQ ......................................................................................... 1115
LTMOTOR parameters ........................................................................................ 1115

19.6 MAINIBV (IBV Logic) Block ...................................................................... 1116


Description ........................................................................................................... 1116
xxxiv

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

Function................................................................................................................1118
Inputs....................................................................................................................1119
Outputs .................................................................................................................1119
Control logic .........................................................................................................1119
Open sequence logic ............................................................................................1121
Close sequence logic ...........................................................................................1123
Error handling .......................................................................................................1125
MAINIBV parameters............................................................................................ 1125

19.7 SOLENOID (Solenoid Valve Drive Control) Block ................................. 1125


Description ...........................................................................................................1125
Function................................................................................................................1133
Configuration examples ........................................................................................1134
Inputs....................................................................................................................1145
Outputs .................................................................................................................1145
Error handling .......................................................................................................1145
States ...................................................................................................................1145
State parameters and descriptors.........................................................................1146
Mode and mode attribute......................................................................................1147
Safe output state ..................................................................................................1148
Command dependency on switches and mode attribute ......................................1148
Local manual ........................................................................................................1149
Permissive interlocks ............................................................................................1149
Safety Override Interlock ......................................................................................1150
Override Interlocks ...............................................................................................1150
Configurable Override/Permissive Interlock Bypass .............................................1150
Alarms ..................................................................................................................1151
Seal-in option .......................................................................................................1152
Initialization Manual condition ...............................................................................1153
OP initialization option ..........................................................................................1153
Initialization Manual Condition with Safety Override Interlock, Override Interlocks,
LocalMan, and OP Initialization ............................................................................1154
Initialization request flags .....................................................................................1154
OP and DO initialization after load........................................................................1155
Maintenance statistics ..........................................................................................1155
Output requests ....................................................................................................1155
Output command ..................................................................................................1156
Logic override OPREQ .........................................................................................1157
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxxv

Contents

SOLENOID parameters ....................................................................................... 1157

19.8 VALVEDAMPER (Valve/Damper Drive Control) Block .......................... 1158


Description ........................................................................................................... 1158
Function ............................................................................................................... 1169
Configuration examples........................................................................................ 1170
Inputs ................................................................................................................... 1181
Outputs ................................................................................................................ 1181
Limit Switches ...................................................................................................... 1181
Error handling....................................................................................................... 1182
States ................................................................................................................... 1183
State parameters and descriptors ........................................................................ 1183
Mode and mode attribute ..................................................................................... 1185
Safe output state .................................................................................................. 1185
Command dependency on switches and Mode attribute ...................................... 1185
Local manual ........................................................................................................ 1186
Permissive interlocks ........................................................................................... 1187
Safety Override Interlock ...................................................................................... 1187
Override Interlocks ............................................................................................... 1187
Configurable Override/Permissive Interlock Bypass............................................. 1188
Alarms .................................................................................................................. 1188
Seal-in option ....................................................................................................... 1190
Initialization Manual condition .............................................................................. 1190
OP initialization option .......................................................................................... 1190
Initialization Manual Condition with Safety Override Interlock, Override Interlocks,
LocalMan, and OP Initialization ............................................................................ 1191
Initialization request flags ..................................................................................... 1191
OP and DO initialization after load ....................................................................... 1192
Maintenance statistics .......................................................................................... 1192
Output requests.................................................................................................... 1193
Output command.................................................................................................. 1193
Logic override OPREQ ......................................................................................... 1195
VALVEDAMPERparameters ................................................................................ 1195

20. UTILITY FUNCTIONS ............................................................... 1197


20.1 Utility Function Blocks ............................................................................. 1197
Functional overview.............................................................................................. 1197

xxxvi

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

20.2 ALMWINDOW (Alarm Window -Alarm Annunciator) Block ................. 1199


Description ...........................................................................................................1199
Function................................................................................................................1200
Inputs....................................................................................................................1201
Outputs .................................................................................................................1201
Alarms ..................................................................................................................1201
Error handling .......................................................................................................1206
ALMWINDOW parameters ...................................................................................1206

20.3 ANNPANEL (Annunciator Panel) Block ................................................. 1207


Description ...........................................................................................................1207
Function................................................................................................................1210
Configuration Example .........................................................................................1210
Inputs....................................................................................................................1211
Outputs .................................................................................................................1211
Error Handling ......................................................................................................1212
ANNPANEL parameters .......................................................................................1212

20.4 DIGACQ (Digital Acquisition) Block ....................................................... 1212


Description ...........................................................................................................1212
Function................................................................................................................1214
Configuration Scenario .........................................................................................1216
Inputs....................................................................................................................1216
Outputs .................................................................................................................1216
Error handling .......................................................................................................1217
DIGACQ parameters ............................................................................................1217

20.5 EXECTIMER Block.................................................................................... 1218


Description ...........................................................................................................1218
Function................................................................................................................1222
Input .....................................................................................................................1222
Output...................................................................................................................1222
EXECTIMER Parameters .....................................................................................1222
EXECTIMER Example..........................................................................................1223
Limitations ............................................................................................................1225

20.6 FIRSTOUT (First Out Detection) Block .................................................. 1226


Description ...........................................................................................................1226
Function................................................................................................................1228
Inputs....................................................................................................................1231
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxxvii

Contents

Outputs ................................................................................................................ 1232


Error handling....................................................................................................... 1232
First out detection FB parameters ........................................................................ 1233

20.7 FLAG Block ............................................................................................... 1233


Description ........................................................................................................... 1233
Function ............................................................................................................... 1233
Input/Output ......................................................................................................... 1234
FLAG parameters................................................................................................. 1234

20.8 FLAGARRAY Block .................................................................................. 1234


Description ........................................................................................................... 1234
Function ............................................................................................................... 1234
Input/Output ......................................................................................................... 1235
FLAGARRAY parameters .................................................................................... 1235

20.9 MESSAGE Block ....................................................................................... 1235


Description ........................................................................................................... 1235
Function ............................................................................................................... 1235
Configuration and Operation Considerations ....................................................... 1236
Input/Output ......................................................................................................... 1236
MESSAGE parameters ........................................................................................ 1237

20.10 NUMERIC Block ........................................................................................ 1237


Description ........................................................................................................... 1237
Function ............................................................................................................... 1237
Input/Output ......................................................................................................... 1237
NUMERIC parameters ......................................................................................... 1237

20.11 NUMERICARRAY Block ........................................................................... 1239


Description ........................................................................................................... 1239
Function ............................................................................................................... 1239
Input/Output ......................................................................................................... 1239
NUMERICARRAY parameters ............................................................................. 1239

20.12 PUSH Block ............................................................................................... 1240


Description ........................................................................................................... 1240
Function ............................................................................................................... 1240
Execution Status .................................................................................................. 1240
Store Status ......................................................................................................... 1241
PUSH parameters ................................................................................................ 1241
xxxviii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents

20.13 TEXTARRAY Block................................................................................... 1242


Description ...........................................................................................................1242
Function................................................................................................................1242
Input/Output..........................................................................................................1243
TEXTARRAY parameters .....................................................................................1243

20.14 TIMER Block ............................................................................................. 1243


Description ...........................................................................................................1243
Function................................................................................................................1243
Input/Output..........................................................................................................1244
Commands ...........................................................................................................1244
TIMER parameters ...............................................................................................1245

20.15 TYPECONVERT Block ............................................................................. 1245


Description ...........................................................................................................1245
Function................................................................................................................1245
Execution status ...................................................................................................1247
Input/Output..........................................................................................................1247
TYPECONVERT parameters ...............................................................................1247

21. SEQUENTIAL CONTROL .........................................................1249


21.1 SCM (Sequential Control Module) Block ............................................... 1249
Description ...........................................................................................................1249

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xxxix

Contents
Tables

Tables
Table 1 Expression operators, functions, and strings reference ................................ 281
Table 2 Expression operators, functions, and strings reference ................................ 688

xl

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents
Figures

Figures
Figure 1 Generic single-loop controller functions. ........................................................ 46
Figure 2 Simplified overview of Experion LX architecture. ........................................... 48
Figure 3 Typical linking of Function Blocks through Control Builder. ........................... 50
Figure 4 Component block names are dependent on container block tag name for
system wide recognition. ........................................................................................ 52
Figure 5 Sample Control Builder configuration with sample tag name assignments. .. 53
Figure 6 Sample PID cascade loop configuration ........................................................ 57
Figure 7 Cycle time loading for sample container block configurations for a 50 ms CEE.
................................................................................................................................ 66
Figure 8 Peer-to-peer is layered upon CDA connection-oriented communications. ... 117
Figure 9 Example of DEF and REF block functions in CB configuration using REMCAS
block. .................................................................................................................... 125
Figure 10 Configuration example using single CAB insertion for regulatory control block
.............................................................................................................................. 206
Figure 11 Configuration example using multiple CAB insertions for regulatory control
block ..................................................................................................................... 209
Figure 12 Configuration example using two CAB insertions of the same type for
regulatory control block ........................................................................................ 211
Figure 13 Example of CB configuration using AUTOMAN block. .............................. 229
Figure 14 Example of CB configuration using ENHREGCALC block. ........................ 258
Figure 15 Example of CB configuration using OVRDSEL block. ............................... 329
Figure 16 Simple cascade control loop example. ...................................................... 348
Figure 17 Functional block diagram of typical PID cascade operation. ..................... 365
Figure 18 Example of CB configuration using a PID block for single loop control. .... 366
Figure 19 Example of CB configuration using two PID blocks for cascade loop control.
.............................................................................................................................. 368
Figure 20 PID block with SP ramping parameters configured for monitoring. ............ 378
Figure 21 PIDER block used in a cascade control strategy with PID, AUTOMAN, and
NUMERIC blocks ................................................................................................. 444
Figure 22 PIDER block with SP ramping parameters configured for monitoring. ....... 469
Figure 23 Simple PID with feedforward control loop example. .................................. 486
Figure 24 PID block with SP ramping parameters configured for monitoring. ........... 512
Figure 25 Example of Position Proportional loop for controlling valve position. ........ 547
Figure 26 Example of Position Proportional loop for controlling valve position through
pulse length or pulse count function. .................................................................... 548
Figure 27 PID block with SP ramping parameters configured for monitoring. ........... 554
Figure 28 Example of pulse count control algorithm outputs ..................................... 566
Figure 29 Example of pulse length control algorithm outputs .................................... 570

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xli

Contents
Tables

Figure 30 Functional diagram of ramp and soak (set point) programmer in PID control
loop. ...................................................................................................................... 585
Figure 31 Example CB configuration using RATIOBIAS block................................... 606
Figure 32 Example CB configuration using RATIOCTL block. ................................... 636
Figure 33 Functional block diagram of typical remote cascade operation. ................ 729
Figure 34 Example of CB configuration using REMCAS block .................................. 731
Figure 35 Example CB configuration using a SWITCH block to assign a different primary
to a secondary. ..................................................................................................... 760
Figure 36 Example CB configuration using multiple SWITCH blocks to assign a primary
to a different secondary. ....................................................................................... 761
Figure 37 Example CB configuration using AUXCALC block for range conversion... 784
Figure 38 Example CB configuration using AUXSUMMER block to calculate PV based
on three inputs. ..................................................................................................... 791
Figure 39 Example CNTUPFL parameter configuration using edge-triggered ........... 797
Figure 40 Example diagram for edge-triggered ........................................................... 797
Figure 41 Example CNTUPFL parameter configuration using level-triggered ............ 798
Figure 42 Example diagram for level-triggered............................................................ 799
Figure 43 Example of CB configuration using a TOTALIZER block in a flow control loop.
.............................................................................................................................. 874
Figure 44 Configuration example using single CAB insertion. ................................... 892
Figure 45 Configuration example using multiple CAB insertions ............................... 894
Figure 46 Configuration example using two CAB insertions of the same type........... 896
Figure 47 DEVCTL block major functions and parameters - See Figure 43 also. .... 918
Figure 48 More DEVCTL block major functions and parameters. .............................. 919
Figure 49 Example of CB configuration using a DEVCTL block to provide two status
outputs. ................................................................................................................. 921
Figure 50 Example of CB configuration using DEVCTL block to provide two on pulse
outputs. ................................................................................................................. 923
Figure 51 CHGEXEC block graphical representation in control drawing ................... 980
Figure 52 Control Modules With Cascaded CHGEXEC Instances ............................ 990
Figure 53 Primary Control Module in Cascaded CHGEXEC (CM_CHGEXEC_PRI). 991
Figure 54 Secondary Control Module in Cascaded CHGEXEC (CM_CHEXEC_SEC)991
Figure 55 Cascaded CHGEXEC Within Single Control Module ................................ 993
Figure 56 Wrong Use Of CHGEXEC: Downstream Logic Pulls Change Data Directly995
Figure 57 Correct Use Of CHGEXEC: Downstream Logic Pulls From CHGEXEC Output
.............................................................................................................................. 996
Figure 58 Sample CHECKBOOL Strategy linking Control Modules in Project Mode1006
Figure 59 Viewing Sample CHECKBOOL Strategy Linking Control Modules in
Monitoring Mode ................................................................................................. 1007

xlii

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Contents
Figures

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

xliii

1. Control Builder Components


1.1

Some Underlying Concepts


Introduction
With any emerging technology, Experion LX system has spawned its share of new or
recast terms to define its unique features. In most cases, these terms clearly relate form
and content with function, so you can intuitively determine their meaning. This section
reviews some basic concepts behind the following Control Builder terms.

Function Block (FB)

Control Execution Environment (CEE)

Independent Name

Dependent Name

Container Block

Self-Standing Block

In the beginning or the Single-Loop Controller Reference


Before reviewing Experion LX concepts, it may be helpful to quickly review single-loop
controller operation as a point of reference. A single-loop controller typically includes
the following process control related functions in one form or another as shown in the
following figure.

Human Interface

Communications Driver

Control Data Processor

Input/Output (I/O) Interface

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

45

1. Control Builder Components


1.1. Some Underlying Concepts

To/From
Field
Devices

Human
Interface

Communications
Driver

Control Data
Processor

I/O Interface

Figure 1 Generic single-loop controller functions.


A brief description of each of these functions is given in the following table.
Function
Human Interface

Description
The user's "window-on-the-process" as well as the
configuration for the controller's functionality. It usually
provides varying levels of access for viewing and changing
process related parameters, such as the:
Process Variable (PV)
Set Point (SP)
Output (OP)
Tuning Constants, and
Alarm Conditions

In addition, operators can view entries made in the


controller's configuration database, but changes are usually
under keylock or password control.
Communications Driver

46

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.1. Some Underlying Concepts

Function

Description

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 selfdiagnostic 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.

Experion LX architecture - partitioned functionality


While we will not get into internal design details, it may be helpful to take a high-level
look at how Experion LX works. In a very simple way, the following figure shows how
Experion LX partitions control operations among its hardware components.
Experion LX features an object oriented system environment. That is, it is based on the
technology of Object Linking and Embedding (OLE) which promotes the partitioning of
functions among multiple subsystems. The Control Builder is the heart of Experion LX
functionality. It includes libraries of objects that are easily configured graphically to
emulate the generic control operations of communications driver, control data processor,
and I/O Interface as well as providing a run-time monitoring capability.
Experion LX includes several repositories for supporting build-time and real-time data
exchange and storage. Data flow is based on client/server relationships where the client
pulls data or the server pushes data.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

47

1. Control Builder Components


1.1. Some Underlying Concepts

Figure 2 Simplified overview of Experion LX architecture.

Blocks for building process control operations


If we had to use one term to sum up Experion LX Control Builder application, it would
be Function Block. Essentially, a Function Block is an executable software object that
performs a specific task. Control Builder has libraries of Function Blocks that lets you

48

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.1. Some Underlying Concepts

graphically build the exact control operations you need for your process. There are three
major types of blocks which are listed below.
Block Type

Description

Name of example block in


Control Builder

Container

A container block can "contain" other


component blocks. It appears as a chart in
Control Builder into which component
blocks are placed.

Control Module (CM)


Sequential Control Module
(SCM)

Component

A block which exists only as a component


of a container block. It appears as a generic
named block with configurable pins and
parameters within a container block in
Control Builder. Note that a component
block may also be referred to as a Basic
Function Block, or just a Basic Block.

PID (All blocks listed in CM


and SCM Libraries in
Control Builder, with the
exception of CM and SCM,
)

Self-Standing (or
Stand-Alone)

A block that stands on its own. It is neither CEE


a container for other blocks or a component
of a container block. It appears as an icon
in the menu area of the Control Builder.

In this document, we use "Function Block" as a generic term, which applies to all three
types of blocks, listed above. Once you begin using the Control Builder application, you
will be able to readily associate block type with the graphic style used to represent a
given Function Block on the display.

ATTENTION
The HANDLER blocks are component type blocks even though they do
contain STEP and TRANSITION function blocks. Within the CEE, they are
implemented as components of the SCM block and not as container type
blocks.

The following figure gives a block diagram view of how FBs are typically linked
through Control Builder configuration.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

49

1. Control Builder Components


1.1. Some Underlying Concepts

Figure 3 Typical linking of Function Blocks through Control Builder.

Naming convention- independent versus dependent


Every computer based application uses a more-or-less common naming convention for
identifying data created within the application. If you were to use a word-processing
program on your personal computer to draft a letter to Honeywell, you might assign a file
name like HONLET1.DOC to save the letter as a file on your hard disk. In this case, the
first part of the name represents a personal choice and the suffix or second part identifies
the application used to create the file.
Like other computer applications, Control Builder employs a naming scheme to uniquely
identify Experion LX system information. In most cases, Control Builder assigns default
names for blocks, which you can change through configuration. We commonly refer to
the name of a block as its Tag Name. This is a carry over from the Tag Number
50

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.1. Some Underlying Concepts

convention used to identify components on a process Piping and Instrumentation


Diagram.
The Experion LX system recognizes all "Tag Names", the tag names for component type
blocks are considered "dependent" names and those for container and self-standing type
blocks are "independent" names. The independent names are unique Tag Names within
Experion LX by default. That is, a block with an independent name receives system wide
recognition without any other qualifications.
The dependent names are Tag Names that uniquely identify component blocks only
within their container module. That is, the component blocks in different container
modules can have the same Tag Name. For 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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

51

1. Control Builder Components


1.1. Some Underlying Concepts

Figure 4 Component block names are dependent on container block tag


name for system wide recognition.

Full or expanded tag name


You must prefix the component block Tag Name (or dependent name) with its associated
container block Tag Name (or independent name) when you need to provide a reference
to a specific component for system wide recognition. This is called independent and
dependent name combination the Full or Expanded Tag Name. A Full Tag Name has this
general format for a component type function block.

<Independent Tag Name>.<Dependent Tag Name>

For example, the Full Tag Name for a PID block named PIDA in a Control Module
named CM1 is:

CM1.PIDA

Parameter names
The parameters associated with a given Function Block have pre-assigned names. These
parameter names are dependent type names. That is, you must prefix a parameter name
with its appropriate Tag Name or Full Tag Name when you need to provide reference to
a specific parameter on a system wide basis. A parameter name has one of these general
formats for system wide recognition depending upon whether it is associated with an
independent or a dependent type Function Block.

For an independent type block: <Independent Tag Name>.<Parameter Name>

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 item to remember about naming is that you must specify a unique name for the
Function Block or parameter that should be recognized on a system wide basis.

52

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.1. Some Underlying Concepts

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.
Refer the following table for a description of the callouts in the figure above.
Callout
1

Description
Tag names CEE (CEEC300_11).
Note that the format for these tag names is used for example
purposes only.

R110
February 2014

Configured tag name for analog input type IOM FB.

Predefined names for FB parameters. (PVSRCOPT, PIFILTIME,


PVEULO, PVEUHI, P1)

Configured tag name for Control Module. (CM_101)

Experion LX Control Builder Components Theory


Honeywell

53

1. Control Builder Components


1.1. Some Underlying Concepts

Callout

Description

Configured dependent block names for component FBs. (DACA,


PIDA, AI00, AO00)

Configured full tag name for connection to a parameter in another


Control Module.

Naming restrictions and conventions


The naming restrictions apply to point, area, and parameter naming.

The following characters are restricted and may not be used:


`~!@#$%^&*+-=(){}[]|\\:;'<>,.?/\"

Dots are allowed in parameter naming only.

An embedded space or leading space is not allowed.

Spaces are allowed in area naming only.

Tabs may not be used.

The name may not be null (no characters).

One of these characters must be present in a valid name:


ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

The name must be less than the maximum size allowed for a tagname:

16 for composites.

15 for basic blocks.

100 for parameter names.

The name must be unique.

Parameter data types


Parameter values are expressed in one of the following major data types.

54

BOOLEAN

ENUM (Enumeration)

INT16 (Signed 16-bit Integer)


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

1. Control Builder Components


1.1. Some Underlying Concepts

INT32 (Signed 32-bit Integer)

UINT16 (Unsigned 16-bit Integer)

UINT32 (Unsigned 32-bit Integer)

FLOAT32 (32-bit IEEE Floating Point)

FLOAT64 (64-bit IEEE Floating Point)

TIME

STRING

In most cases, only output and input parameters with matching data types can be
connected. One exception is with input and output connections for SCM blocks.

Data flow -- active versus passive


Before control data can flow in a Experion LX system, you must load the Control
Execution Environment (CEE) FB and assign it to the Control Processor module that
contains the control strategy loaded from the Control Builder. You must also assign the
Control Module to the CEE through Control Builder configuration. The procedures
associated with these activities are covered in the Control Building Users Guide. They
are only mentioned here to remind you that you must configure hardware as well as
functional control operations through the Control Builder.
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 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.

Active and passive connectors


The CEE has active and passive connectors that support the functionality of active and
passive parameters, respectively. These connections cause data flow to occur between
connected parameters at block execution time. For active parameters, the data flow
caused by connection processing is phased so that the block algorithm itself executes the
transfer at the start of its execution. For passive parameters, the data flow is phased so

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

55

1. Control Builder Components


1.1. Some Underlying Concepts

that the Control Module FB executes the transfer just before it starts the execution of the
block algorithm.
An active connector allows the block algorithm to read connection status as part of its
processing and take action based on that status. A passive connector does not allow a
block to determine its connection status and it returns a failsafe value in response to a
connection break caused by a communication or configuration error. Depending on the
data type, the failsafe value is OFF, 0 (zero), NaN (Not a Number), or blank.
For Control Module configuration, you can assume that the given failsafe value appears
for a passive input parameter when its connection is broken. Both active and passive
connectors can reference parameters on blocks within the given container block or
outside the container block. The active connector allocation is noted for each parameter
in the Control Builder Parameter Reference.

Cascade loop connections


The following figure shows typical connections configured to provide a PID cascade
loop with full initialization handling. The connections between the primary OP and
secondary SP parameters must be made by the user during Control Module
configuration. Control Builder automatically makes implicit/hidden connections between
the primary BACKCALCIN and secondary BACKCALCOUT parameters. The cascade
operation is also complemented by a general-purpose connection within the controller
that is automatically configured when a user associates an IOCHANNEL FB with a
particular channel on an IOM FB. This connection handles all of the data flow between
the IOCHANNEL FB and the IOM FB. It allows one-shot initialization processing up
the cascade chain in a single execution cycle.

56

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.2. Control Capacity and Performance

Figure 6 Sample PID cascade loop configuration

Data pull or push


Pull or Push is used to describe how data flows across connections. In general, a block's
active input parameter pulls data while a block's active output parameter pushes data.
This information is for reference only, since the CEE uses a connection scheme that
readily recognizes whether a Pull or a Push is causing data flow.
For Control Module configurations, active parameters always pull data and passive
parameters connected between Control Module FBs also pull data. Passive parameter
connections between blocks in the same Control Module FB are neither pull nor push. In
this case, the parent Control Module FB affects the data transfer.
For Sequential Control Module configurations, the input expressions always pull data
while the output expressions always push data.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

57

1. Control Builder Components


1.2. Control Capacity and Performance

1.2

Control Capacity and Performance


This section provides performance related information for the various Experion LX
controllers for convenient reference. The following information is subject to change
without notice and is superseded by information in applicable Experion LX product
Specification and Technical data documents.

Control network capacity


The network capacity limits for each supervisory control network media available are
listed in the following table.
Topic

Network Media and Limits


FTE

Supervisory
Networks per
Experion LXServer

1 redundant network serviced by 1 or more


redundant or non-redundant Experion LX
servers up to the maximum FTE Nodes
allowed per FTE Community.

Maximum Number of
Nodes allowed

330 FTE nodes per FTE community.

Controllers per
Server

Up to 20 Redundant or Non-Redundant in any


combination
(See Note 3)

Transmission Rate

100 Mbits/sec

Media Redundancy

Redundant only

Notes:
1. SCADA PLCs do not count as "Controllers" against this limit on FTE.

C300 configuration options


The following table lists the options related to configuring a C300 Controller.
Configuration Options

50mSec CEE

Control Networks Supported

FTE only

Device Index Configuration

Between 1 and 255

58

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.2. Control Capacity and Performance

Configuration Options

50mSec CEE

IOTA Size

6 inches

Number of I/O Links Supported

I/O Link Speeds Available

750 Kbaud (Series 8 I/O Link)

Base Execution Periods


Supported

50 ms

Redundancy Supported

Yes

I/O Module Execution Period

50 ms

Configurable Values for CM/SCM


Execution Periods

50, 100, 200, 500ms, 1s, 2s.

Configurable Values of Peer


Update Rates (period).
(Defines the period at which data is
updated for all 'pull/get' requests for
peer data required by all blocks
within a CEE.)

100, 200, 500, 1000 ms

C300 Time Source

SNTP

SNTP Update Period

1 minute

C300 Redundancy
The following table lists data pertinent to the configuration of C300 Controllers for
redundant operation.
Configuration Options for Redundancy

50mSec CEE

C300 Function Block Redundancy Configuration


Selection.

"Module is Redundant"

Number of IOTAs used for Redundant C300

Redundant Device Index Configuration

Redundant Controller pairs


must have Device Index
values of n and n + 1, where
n is an odd value

Redundancy Cable Medium

Ethernet STP

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

59

1. Control Builder Components


1.2. Control Capacity and Performance

Configuration Options for Redundancy

50mSec CEE
36, 48, 60, 84 inches

Redundancy Cable Lengths


Control Processing Switchover Interruption Time

500 ms

Initial Synchronization Time (from Sync Start to


Completion)

200 seconds

Maximum Elapsed Time Between Commanded


Switchover and Completion of Initial
Synchronization

300 seconds

Maximum Elapsed Time Between Switchover Due to


Power Cycle of the Primary and Completion of
Initial Synchronization

300 seconds

Notes:
1

Dual I/O Link failures may cause longer interruption times in the order of several
seconds.

C300 communication performance


The following table lists performance related values for C300 Controller
communications. The abbreviation PPS stands for Average Parameters Per Second,
PPM stands for Average Parameters Per Minute, and EPS stands for Average Array
Elements Per Second.
Overall Data Access Performance
Maximum Total Parameter Access Response Rate
(Includes all Server Data Requests, Console Station Data
Requests, and peer communications including other
C300s).
Overall Array Transfer Response Performance
Whole Array Response Rate (EPS)
(Includes all Peers and Displays - when supported). This is
in addition to the Parameters Per Second specification.
Display Data Access Capacity
Maximum Total Subscribed Parameters per C300
60

50mSec CEE
2500 PPS

50mSec CEE
4000 EPS

50mSec CEE
4000

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.2. Control Capacity and Performance

Overall Data Access Performance

50mSec CEE

(Includes all Server Data Requests + Console Station Data


Requests).
Request/Response Data Access Performance

50mSec CEE

Max Request/Response Parameter Access Rate


(Includes all Slow Server Data Requests, for example
Greater than 10 sec OPC data, Slow History, Data Writes,
and so on).

3000 PPM Read

Peer-to-Peer Performance

50mSec CEE

1500 PPM Write

Maximum Initiator Pull/Get Request Rate to all target


5
nodes (incoming data)

1000 PPS

Maximum Target Response Rate to Pull/Get Requests


6
from all initiator nodes (outgoing data)

1000 PPS

Peer-to-Peer Subscription Rates/


Update Rate
Maximum C300 peer capacity per update rate choices

Push/Store Request Performance

50mSec CEE
50 @ 100 ms
100 @ 200 ms
250 @ 500 ms
500 @ 1 sec
50mSec CEE

Maximum Push/Store Request Rate to all target nodes

50 PPS

Maximum Response Rate to Push/Store Requests from


all initiator nodes

50 PPS

Peer-Peer Whole Array Transfer Performance


Max Initiator Whole Array Request Rate (to all peers)
Max Target Node Response Rate to Whole Array
Pull/Get Requests
(from all initiator nodes)
Initiator Whole Array Push/Store Rate
Target Node Whole Array Response Rate to
Push/Store Requests
(from all initiator nodes)

R110
February 2014

50mSec CEE
2500 EPS
1500 EPS

1000 EPS
1000 EPS

Experion LX Control Builder Components Theory


Honeywell

61

1. Control Builder Components


1.2. Control Capacity and Performance

Overall Data Access Performance

50mSec CEE

Peer-to-Peer Capacity

50mSec CEE

Peer Connection Units (PCUs)


(*Number of remote CEEs that this C300 can initiate a
peer connection with)

303
(Includes total of
other C300s and
SIM-C300s)

Peer-to-Peer Capacity using Exchange FB

50mSec CEE

Maximum Number of REQUEST blocks per C300

32

Maximum Number of RESPONSE blocks per C300

32

Maximum Number of Target Devices for REQUEST


blocks per C300

Maximum Number of Remote Initiating Devices for


RESPONSE block data per C300

PCDI Capacity and Performance


Maximum Number of Modbus TCP devices
(represented by PCDI Master blocks)
Maximum Number of Serial Modbus Devices per
Gateway

50mSec CEE
8
16

Maximum Number of Serial Modbus Devices per C300

128

Maximum Number of PCDI Request blocks assigned


to a PCDI Master block

64

Maximum Number of PCDI Request block messages


4
per second - includes both Reads and Write
(maximum size 256 byte messages assumed)

512

Notes:
1

Exchange Peer-Peer does not count against this limit.

2
There are 31 connections reserved for Peer-Peer in the C300. One
connection is reserved for Internal C300 use-only, leaving 30 connections
available for user peer-to-peer configurations.

62

Redundant devices that use two PCDI Master blocks count as only one device.

PCDI impact on C300 performance can be estimated with the C300


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

1. Control Builder Components


1.2. Control Capacity and Performance

Overall Data Access Performance

50mSec CEE

Performance Model worksheet; important factors are number of PCDI Master


blocks, number of PCDI Request block messages per second, and message
data size.
5

Incoming peer data benefits from the RBE (Report by Expection) comparisons
done at the data source, so only changed parameters contribute to the incoming
PPS load.
6

Outgoing peer data capacity is defined/measured before the RBE (Report by


Expection) comparisons are done, so all parameters requested as peer data
contribute to the outgoing PPS load, if they are changing or not and sent over
the network or not.

C300 processing resources


The following table lists the processing resources for a C300 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.
For Maximum Cycle Loading, over a cycle (0-39), the "Average CPU Used"
(CPUCYCLEAVG) statistic is not to exceed the stated maximums.
50mSec CEE
Minimum Reserved CPU to be
Maintained During Runtime
(CPUFREEAVG)

20%

Maximum Cycle Loading - CEE


Configuration

60%

C300 Memory Resources


The following table lists the memory units and block capacities for a C300 Controller.
The Memory Unit (MU) represents 1 kilobyte or 1024 bytes.
50mSec CEE
Maximum Available C300 CEE
Memory Resources

14820 MU

Maximum Total Number of CMs,


SCMs, and IOMs Configurable per

4095

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

63

1. Control Builder Components


1.3. I/O Capacity and Performance

50mSec CEE
C300 CEE

1.3

Maximum Number of Component


Blocks per CM

100

Maximum Number of Component


Blocks per SCM

400

Maximum number of parallel paths


executing in SCM simultaneously

10

I/O Capacity and Performance


Every I/O Device presents a "Load" on the C300 Controller performance by using I/O
Network bandwidth, Controller memory, FTE Connections, and CPU resources. In
order to not overload the ability for the C300 to operate correctly, configuration
constraints are defined in the following tables forC300 I/O. Many of these constraints
are measured in "IO UNITS", which is a generic loading definition used to "normalize"
the load among the many different I/O devices and families supported. Refer to the IO
Unit load factors section below for the IO UNIT loads assigned to various devices and
modules.

C300 IO capacity
The following table lists I/O configuration constraints you should observe to avoid
overloading the C300 Controller and impacting its ability to operate correctly.
Function
Maximum Number of IO UNITS per C3001,2

50mSec CEE
80

Note 1: See the IO Unit load factors below for details.


Note 2: Specific IO Devices may be further limited as
described below.

IO Unit load factors


The following Table defines the IO UNIT load factor for the various I/O Devices the
C300 Controllers supports.
I/O Device or Module
64

Experion LX Control Builder Components Theory


Honeywell

IO Units
R110
February 2014

1. Control Builder Components


1.4. Function Block Execution Schedules

I/O Device or Module

IO Units
1

1 Series 8 I/O Module


Note: For redundant IOMs, each pair of IOMs counts as 1 IO Unit.
1 Source or Destination Device on Auxiliary Exchange peer-topeer network

1.4

1 (for 24 Unit/CNI Limit)

Function Block Execution Schedules


Schedule consideration differences
The CEE execution schedule considerations differ for each of the following Function
Block types.

Control Module and Sequential Control Module FBs (Container FB)

Component FB

IOM FB (Self-Standing FB)

C300, CEE IOLINK FBs (Self-Standing FB)

The scheduling considerations for a given FB type are discussed in the following
sections.

Control Module and Sequential Control Module FBs schedule


You can configure the Execution Period and the Execution Phase values for the Control
Module FB and the Sequential Control Module FB through the respective Parameters
Configuration form in the Control Builder. These values determine the scan period and
the cycles allocated for the block's execution.
You can picture the execution cycle as a set of 40 timing cycles of 50 milliseconds each
as shown in the following figure. The configured Execution Period value sets the block's
scan period at DEFAULT, 5, 10, 20, 50, 100, 200, 500, 1000, or 2000 milliseconds.
(Note that the configuration load is rejected if the configured scan period is not
supported by the 50 ms CEE image loaded in the Controller.) This Period value defines
the number of cycles needed for block execution. The configured Execution Phase value
identifies the timing cycle in which the execution of the block starts. This lets you
stagger the block execution starting times to balance the load processing across the
cycles. The DEFAULT value is converted to 1000 milliseconds for a 50 ms CEE, when
the CEE is loaded to a Controller. The following figure provides a graphical
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

65

1. Control Builder Components


1.4. Function Block Execution Schedules

interpretation of how the processing of some sample Control Module configurations are
scheduled across the timing cycles for a 50 ms CEE.

Timing Cycles

1 2 3 4 5 6 7 8 9 10
A

CM1

CM1

CM1

20
A

CM1 CM1 CM1 CM1 CM1

Loaded
Function
Blocks

CM2

CM2

CM2 CM2

SCM1

50 100 150 200 250 300 350 400 450 500

1000

2000

Time (Milliseconds)
A Control Module CM1 configured for Execution Phase of 0, Execution Period
of 200ms, and order in CEE of 10. It executes in timing cycles 0, 4, 8, 12,
16, 20, 24, 28, 32, 36.
B Control Module CM2 configured for Execution Phase of 1, Execution
Period of 500ms, and order in CEE of 10. It executes in timing cycles
1, 11, 21, and 31.
C Sequential Control Module SCM1 configured for Execution Phase of 0,
Execution Period of 2000ms, and order in CEE of 20. It executes
in timing cycles 0.
Figure 7 Cycle time loading for sample container block configurations for a
50 ms CEE.
For example, a Control Module block with an Execution Period of 200 milliseconds and
a Phase of 1 runs in cycles 1, 5, 9, ...,37. Another Control Module block with an
Execution Period of 200 milliseconds and a Phase of 2 runs in cycles 2, 6, 10, ...,38. The
66

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.4. Function Block Execution Schedules

entry value range for the Execution Phase is -1 and 0 to 39. However, the system accepts
and clamps values outside the appropriate range for a given Period as long as the value is
within the overall entry range. A block with an Execution Period of 50 milliseconds is
always evenly distributed, since it runs in every cycle. The following table identifies the
timing cycles in which a container FB executes for the given combination of Execution
Period and Phase values. For now, a Phase value of -1 is changed to 0. Later, a Phase
value of -1 instructs the CEE to assign Phase values that distributes the overallprocessing load.

If Period in And Phase is . . .


milliseconds
is. . .

Then, cycles of execution


are. . .

50 ms CEE

R110
February 2014

50

0, 1, 2, 3, . . ., 39

100

0, 2, 4, . . ., 38

100

1, 3, 5, . . ., 39

200

0, 4, 8, . . ., 36

200

1, 5, 9, . . ., 37

200

2, 6, 10, . . ., 38

200

3, 7, 11, . . ., 39

500

0, 10, 20, 30,

500

1, 11, 21, 31

500

2, 12, 22, 32

500

3, 13, 23, 33

500

4, 14, 24, 34

500

5, 15, 25, 35

500

6, 16, 26, 36

500

7, 17, 27, 37

500

8, 18, 28, 38

Experion LX Control Builder Components Theory


Honeywell

67

1. Control Builder Components


1.4. Function Block Execution Schedules

If Period in And Phase is . . .


milliseconds
is. . .

Then, cycles of execution


are. . .

50 ms CEE

68

500

9, 19, 29, 39

1000

0, 20

1000

1, 21

1000

2, 22

1000

3, 23

1000

4, 24

1000

5, 25

1000

6,26

1000

7, 27

1000

8, 28

1000

9,29

1000

10

10, 30

1000

11

11, 31

1000

12

12, 32

1000

13

13, 33

1000

14

14, 34

1000

15

15, 35

1000

16

16, 36

1000

17

17, 37

1000

18

18, 38

1000

19

19, 39

2000

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.4. Function Block Execution Schedules

If Period in And Phase is . . .


milliseconds
is. . .

Then, cycles of execution


are. . .

50 ms CEE
2000

2000

2000

39

39

For blocks scheduled to start execution in the same cycle, you can configure the Order in
CEE parameter value (0 to 32767) on the Parameters Configuration form to stagger the
execution order of the container blocks within the cycle. That is, the block with the
lowest Order in CEE value configured executes first. If both blocks have the same Order
in CEE value, the CEE determines the order of execution and maintains it.

CM Component Function Block scheduling


Execution of a Control Module's component function blocks is always subordinate to the
containing or parent CM. The component function blocks are executed during the same
Period as their containing CM given that the conditions for execution are satisfied. You
can configure the execution order of function blocks through the block parameter
Execution Order in CM (ORDERINCM).
Function Block Execution Order in CM
The value of ORDERINCM determines the execution order of function blocks within a
Control Module (CM). In a given CM, a block with a lower value for ORDERINCM
executes before any block with a higher value. The value of ORDERINCM can range
from 1 to 32,767 where default values are assigned in multiples of 10, even though
maintaining the values as multiples of 10 is not a requirement.
Example: If there are two function blocks in a CM with 10 and 20 as their
ORDERINCM values, the FB with ORDERINCM as 10 is executed first.
If you do not individually assign ORDERINCM, the default value 10 is set into all
blocks within the CM. When this occurs or when the same value is assigned to multiple
blocks, Control Builder assigns a random execution order based on the order in which
the function blocks are added to the CM. The value of ORDERINCM parameter is not
changed by the Control Builder. If the order of execution is critical, then assign
ORDERINCM values to the CM.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

69

1. Control Builder Components


1.4. Function Block Execution Schedules

You can choose to display or conceal the value of ORDERINCM on the FB faceplate.
This setting is configured through the System Preferences dialog box (Control Builder
> Edit > System Preferences). By default, the option is disabled. If the option is
selected, the parameter value is displayed on the top-left corner of the FB faceplate. The
parameter value overlays any icon or FB name that appears on the top-left corner of the
faceplate. You can choose to display the block's Execution Order in CM value through
the block's ORDERINCM parameter.

You can configure the parameter through the FB configuration form or by doubleclicking the parameter on the FB faceplate. Note that any change made to the parameter
value is visible only on the project side. To view the configured value on the monitor
side, load the modified strategy.

70

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.4. Function Block Execution Schedules

ORDERINCM parameter does not apply to CM, IOM, SCM, or SCM component blocks.
It is applicable only for blocks that execute inside the CM.
A typical PID Loop CM should have component function blocks with ORDERINCM
value as displayed in the following figure.

Input Channels FBs do a sample and hold operation when they execute. IOCHANNEL
FBs read data from the associated IOM FB in CEE IOLINK and hold that data. If the
parent CM has an Execution Period greater than 50 milliseconds, the input
IOCHANNEL FBs will hold values static even if the corresponding data is changing at
the IOM FB.
Connection Execution Order in CM
Connections are processed in relation to a function block's execution order. Inputs are
fetched before the block executes and newly calculated values are available only after the
block executes.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

71

1. Control Builder Components


1.4. Function Block Execution Schedules

Example of connection execution order - shift register


The order in which connections are made is critical in rare cases when blocks without
any execution method/behavior are used in a strategy. A Numeric Array used as a Shift
Register demonstrates this rare case. In this example, the numeric contained in Function
Block nn1 feeds PV[1] of nna. This connection could have been wired, but for clarity
the example shows a named connection. The purpose of the CM is to act as a register
and move the value of Function Block nn1 through the ten inputs of function block nna
by making each output of Function Block nna a different input to the same block.
If the connections were made in order from top to bottom, the execution order would be
from top to bottom and in one execution cycle of the CM, the value of nn1 would be
passed from PV[1] through all the PVs to PV[10]. At the end of the cycle, all the values
would be equal and the intended register would be ineffective.
To create the register correctly and pass the value from one PV to the next on each cycle,
the connections must be built from the bottom of Function Block nna to the top. The
first connection created must be to PV[10] in order to ensure it is executed first. The
next connection must be made to PV[9], then PV[8], and so on until the final connection
is made to PV[1]. Making the connections in this order ensures that the Control Module
acts as a register moving the newest input value through the registers from PV[1] to
PV[10].

72

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.4. Function Block Execution Schedules

IOM FB schedule
IOM FBs have a fixed Execution Period of 50 milliseconds, for 50 ms CEE, and
Execution Phase of 0. They execute ten times or once every 50 millisecond cycle at the
beginning of each cycle. This means the Order in CEE value does not apply either, since
the IOM FBs execute before all other blocks in the cycle.
IOM FBs collect and distribute I/O data as it passes between the Control Processor
module and I/O Module devices. They pack and unpack the data in preparation for input
and output operations.

CEEC300 FB schedule
CEEC300 FBs have a fixed Execution Period of 2000 milliseconds. The Execution Phase
is fixed at 19 for the CEEC300 FB. The CEEC300 FB executes after all other blocks in
the cycle.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

73

1. Control Builder Components


1.5. Block Configuration Load Considerations

The CEEC300 FBs handle housekeeping functions, which are not directly related to the
configuration of control strategies. These functions include maintaining instrumentation
statistics, maintaining state data, and reporting diagnostic alarms.

Cycle overruns
Cycle overruns occur when the scheduled processing for a cycle does not finish by the
start of the next cycle. Potential causes for overruns include the following:

Unbalanced loading across the execution cycle.

Loaded configuration is too large.

Combination of block and communication processing is too large for a particular 50millisecond cycle.

The CEEC300 FB responds to cycle overruns as follows.

Completes execution of all blocks on the current cycle.

Delays execution of the waiting cycle until the start of the next 50 millisecond time
interval.

Allows communications and housekeeping operations within the C300 FB to catch


up while execution of the waiting cycle is being delayed.

The CEE issues a diagnostic alarm for cycle overruns that occur on a regular basis. The
conditions for reporting and clearing this alarm are summarized below based on the
controller running the CEE.
If Controller is . . .
C300 (50 ms
BASEPERIOD)

CEE reports alarm if . . .

CEE clears alarm if . . .

two consecutive intervals of


2000 milliseconds have at
least one cycle overrun.

four consecutive intervals of


2000 milliseconds have no
cycle overruns.

You must change a CEE configuration that causes regular overruns by reducing the total
load or improving the balance of the load across the timing cycles.

74

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.5. Block Configuration Load Considerations

1.5

Block Configuration Load Considerations


About load considerations
The following considerations influence CEE operations relative to the loading of block
configurations.

Data Categories

Container and Self-Standing Blocks Load versus States

Load Error Messages

RAM Retention Start Up

These considerations are briefly reviewed in the following sections to provide general
background information only.

Data categories
The major data categories found in the CEEC300 FB are summarized below.
Data Category
Live

Description
Data that is derived from the process, such as PV; or is
updated frequently as part of the control computation, such
as OP and SP.
This data can also be considered as the non-structural
type.

Tunable Constant

Data that does not change frequently enough to be


considered "Live" data. It includes parameters that support
states of operation derived from the process or stored by
the operator. You can modify values for these parameters
on process, but they usually hold fixed values for the life
cycle of a control strategy. You can also configure this data
at load time. The Execution Phase and Execution Period
parameters are examples of this data type, which can be
changed independent of block load.
This data can also be considered as the non-structural
type.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

75

1. Control Builder Components


1.5. Block Configuration Load Considerations

Data Category
Structural

Description
Data that is considered to make up the structure of the
block configuration. It includes parameters, which express
the containment of a component FB, connection
references, or the order of block execution. You can only
modify these parameters as part of the block load. The
Order in CEE and Order in CM parameters are examples of
this data type.

Container and self-standing blocks load versus states


The CEE supports the independent loading of container and self-standing FBs.
Component FBs can only be loaded as part of their parent container FB. That is, you
must load control strategies to the CEE as a Control Module or a Sequential Control
Module configurations.
You can load IOM, CEEC300 FBs individually. However, you must load the C300 FB
before you load the CEE FB and you must load the CEEC300 FB before you can load
other FBs. The status of the following state parameters determines if you can make a FB
load at a given time.

CEEFB. CEESTATE

CMFB.EXECSTATE

SCMFB.STATE

IOMFB.EXECSTATE

The following table summarizes the state parameter status versus FB load permissions.
If status is . . .
CEESTATE = Idle.

Then, you can load . . .


container blocks regardless of their

execution state.
Changing the CEESTATE to Idle causes
container FBs and their component FBs to
cease operation and set their live data to
failsafe values. The self-standing FBs (IOM,
CEE and C300) continue to execute unless
EXECSTATE is set to Inactive.

CMFB.EXECSTATE = Inactive
or Active

SCMFB.STATE = Inactive or
Active

self-standing blocks if their execution

state is Inactive.

76

IOMFB.EXECSTATE = Inactive

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.5. Block Configuration Load Considerations

Load error messages


Block configurations are loaded to the CEE as a series of parameter value stores. Checks
are made on every store to determine if it is "valid" or not. The store of any parameter
found to be "invalid" is stopped and a corresponding error message is displayed in
Control Builder. The error message is a brief descriptive text string, which includes the
name of the "invalid" parameter, so you can quickly determine the cause of the error.
The following three categories of severity apply to CEE error messages.
Severity Category

Description

Warning

The store of an invalid parameter is accepted with applied


qualification. For example, error message "OPHILM - Value
Clamped Warning" mentions that the parameter OPHILM is
being accepted with clamping applied.

Error

The store of an invalid parameter is being rejected. (Note


that the load of other associated parameters continues.) For
example, error message "TMOUTMODE - Parameter
Invalid" which mentions that the parameter TMOUTMODE is
not operative for this block configuration.

Severe Error

The load of a block is being stopped. (Note that the load of


other container blocks will continue, if applicable). For
example, error message "CM17 - Maximum Available User
Memory Exceeded" mentions that the user memory
allocation was exhausted during block load.
When a severe error occurs, the block is left in an unusable
state within the CEE. If desired, you can reload the "old"
version of the block through the Monitor tab in Control
Builder.

This error message generation applies for on-line parameter stores as well as block
configuration load related stores. For example, an error message can be generated for an
on-line parameter store if its value or other conditions are incorrect.

RAM Retention Start Up (RRSU)


The C300 includes a battery that provides backup power for Random Access Memory
(RAM) retention during a power interruption. If power is restored while the RAM is still
retained through the battery backup, the CEE startsup with the database retained prior to
the power interruption. This is referred to as the RAM Retention Start Up (RRSU).
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

77

1. Control Builder Components


1.6. Memory Usage for CEE on C300

Upon the restoration of power, the C300 runs its startup diagnostics to verify that its
RAM was retained during the power interruption. If the C300 detects RAM errors, it
starts up with a "null" database. If the C300 detects no RAM errors, it starts up with the
database it had prior to the power interruption. In this case, the CEEC300 FB transitions
to its Idle state at startup so you can determine if other FB data needs to be changed
before you resume control by manually invoking the CEEC300 FB Run state. (Note that
the Idle to Run transition triggers output path initialization.)
If RAM errors were detected or you did not load the CEEC300 FB before the power
interruption, the CEEC300 FB state will be NotLoaded at startup.
Upon any C300 startup, the CEE reissues all active notifications as part of the Experion
LX notification recovery routine. The CEE also issues "state" transition notifications
from the CEEC300 FB that are logged in the event journal to show whether or not an
RRSU occurred.
REFERENCE - INTERNAL
Refer to the Control Builder Notifications Theory for more information.

1.6

Memory Usage for CEE on C300


Typical Requirements
The following table identifies typical processing and memory resource requirements for
IOMs, CMs, and SCMs based on Processing Resources per module and Memory
Resource usage. The Processing Resources are computed as "Processing Resource
Consumption (PU/module execution) divided by Execution Period (sec/module
execution)". Refer to the previous C300 processing and memory resource sections for
more information about the terms PU and MU.

C300 CEE Processing and Memory Models


Typical Module Types
(FB Content in Parenthesis)

Typical I/O Module


78

Processing
Resource
1
Consumption
(Per Module)

Memory Resource
Usage

50 ms C300
(PU/Module
Execution)

50 ms C300
(MU/Module)

0.2

0.5

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.6. Memory Usage for CEE on C300

Typical Module Types


(FB Content in Parenthesis)

Processing
Resource
1
Consumption
(Per Module)

Memory Resource
Usage

50 ms C300
(PU/Module
Execution)

50 ms C300
(MU/Module)

Analog Digital Acquisition Module


(10 AI, 10 DataAcq FBs)

4.4

7.2

Small Analog Data Acquisition Module


(1 AI, 1 DataAcq FB)

0.5

1.0

Regulatory Control Module


(1 AI, 1 DataAcq, 1 PID, 1 AO, 6 Logic FBs)

3.1

3.8

Auxiliary Function Module


(10 Aux. FBs, such as AuxCalc, Totalizer)

5.0

6.2

Digital Data Acquisition Module


(10 DI, 10 Flag FBs)

1.2

1.5

Small Digital Data Acquisition Module


(1 DI, 1 Flag FBs)

0.2

0.5

Device Control Module


(2 DI, 2 DO, 1 DevCtl, 5 Logic FBs)

1.3

2.3

Logic Control Module


(20 Logic FBs)

1.3

3.6

Sequence Control Module A


(1 each of Main, Hold, Stop and Abort
Handlers, 10 Steps with 8 Outputs each, 10
Transitions with 5 Conditions each, 10
Recipe items, 5 History items)

6.0

21.0

2.6

18.8

(Average consumption of available IOMs)

SCM has total of 10 Steps and 10


Transitions among the 4 Handlers
Sequence Control Module B
(1 Main Handler, no other Handlers, 20
Steps with 4 Outputs each, 20 Transitions
with 3 Conditions each, 10 Recipe items, 5

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

79

1. Control Builder Components


1.6. Memory Usage for CEE on C300

Typical Module Types


(FB Content in Parenthesis)

Processing
Resource
1
Consumption
(Per Module)

Memory Resource
Usage

50 ms C300
(PU/Module
Execution)

50 ms C300
(MU/Module)

5.0

151.5

5.0

156.3

4.8

30.4

History items)
SCM has total of 20 Steps and 20
Transitions
Sequence Control Module with an alias
table size of 45 rows by 100 columns
(1 each of Main, Hold, Stop and Abort
Handlers, 10 Steps with 8 Outputs each, 10
Transitions with 5 Conditions each
interspersed in all the handlers, 10 Recipe
items, 5 History items)
SCM has total of 10 Steps and 10
Transitions among the 4 Handlers
Sequence Control Module with an alias
table size of 500 rows by 9 columns
(1 each of Main, Hold, Stop and Abort
Handlers, 10 Steps with 8 Outputs each, 10
Transitions with 5 Conditions each
interspersed in all the handlers, 10 Recipe
items, 5 History items)
SCM has total of 10 Steps and 10
Transitions among the 4 Handlers
Recipe Control Module A
(1 each of Main, Hold, Stop and Abort
Handlers; each handler has 1 Invoke
transition with 5 Conditions. Main Handler
contains 1 Step with 8 outputs, 4 Synch
blocks, and 2 Transition blocks with 1
Condition each, and 10 Phase blocks with
25 Formula parameters and 25 Report
parameters each.)
The RCM executes 5 Phases in parallel.

80

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.6. Memory Usage for CEE on C300

Typical Module Types


(FB Content in Parenthesis)

Recipe Control Module B


(1 each of Main, Hold, Stop and Abort
Handlers; each handler has 1 Invoke
transition with 5 Conditions. Main Handler
contains 1 Step with 8 outputs, 4 Synch
blocks, and 2 Transition blocks with 1
Condition each, and 10 Phase blocks with
25 Formula parameters and 50 Report
parameters each.)

Processing
Resource
1
Consumption
(Per Module)

Memory Resource
Usage

50 ms C300
(PU/Module
Execution)

50 ms C300
(MU/Module)

2.8

19.3

1.5 (Note 2)
1.0 (Note 3)

The RCM executes 5 Phases in parallel.


Medium sized CDB Module
(CM with 1 medium sized CDB instance)
(CDB instance has a total of 15 Custom
Data Parameters of which 2 are arrays:
5 32 character STRING;
4 scalar FLOAT64;
4 scalar BOOLEAN;
1 20 element FLOAT64 array;
1 20 element BOOLEAN array.)
NOTES:
Note 1: Total Processing Resources (PU/sec) per module are computed as = Processing
Resource Consumption (PU/module execution) / Execution Period (sec/module
execution).
Note 2: Memory usage for first module instance.
Note 3: Memory usage for every subsequent module instance.
Note 4: PID-PL use 1.4 X the PU values listed here.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

81

1. Control Builder Components


1.7. CEE Standard Control Blocks

1.7

CEE Standard Control Blocks


The following table lists the size of the standard function blocks for the CEE controller
(C300). This size information, along with a count of the number of blocks being used by
a controller, can be found on the CEE detail display for that controller.
Block Name

C300 Size (bytes)

2OO3

64

ABS

48

ADD

108

AICHANNEL

100

AIMODULECLS

552

AINIMODULECLS

684

ALMPANEL

212

ALMWINDOW

128

AND

44

AOCHANNEL

184

AOMODULECLS

588

AONIMODULECLS

668

AUTOMAN

1268

AUXCALC

536

AUXSUMMER

684

CABLOCK

82

CDBLOCK

164

CEEC300FB

30164

CHECKBAD

44

CHECKBOOL

976

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.7. CEE Standard Control Blocks

Block Name

R110
February 2014

C300 Size (bytes)

CHGEXEC

112

CONTACTMON

68

CONTROLMODULE

288

DATAACQ

680

DEADTIME

784

DELAY

48

DEVCTL

1104

DICHANNEL

100

DIGACQ

120

DIMODULECLS

280

DIV

56

DOCHANNEL

132

DOMODULECLS

968

ENHAUXCALC

932

ENHGENLIN

1784

ENHREGCALC

2628

EQ

80

EXECTIMER

120

EXP

48

FANOUT

2700

FIRSTOUT

204

FLAG

52

FLAGARRAY

44

FLOWCOMP

480

FTRIG

36

Experion LX Control Builder Components Theory


Honeywell

83

1. Control Builder Components


1.7. CEE Standard Control Blocks

Block Name

84

C300 Size (bytes)

GE

80

GENLIN

304

GRPCAPRBK

648

GT

80

HANDLER

44

HTMOTOR

1096

LE

80

LEADLAG

240

LEVELCOMP

240

LIMIT

140

LN

48

LOG

48

LT

80

LTMOTOR

992

MAINIBV

268

MAX

108

MAXPULSE

48

MESSAGE

212

MIN

108

MINPULSE

48

MOD

56

MUL

108

MUX

56

MUXREAL

108

MVOTE

68

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.7. CEE Standard Control Blocks

Block Name

R110
February 2014

C300 Size (bytes)

NAND

44

NE

80

NEG

48

NOON

100

NOR

44

NOT

36

NUMERIC

64

NUMERICARRAY

48

OFFDELAY

48

ONDELAY

48

OR

44

OVRDSEL

1864

PCDI_MASTER

25512

PCDI_FLAGARRCH

13512

PCDINUMARCH

9140

PCDINTEXTARRCH

3232

PHASE

420

PID

1892

PIDER

2016

PIDFF

2012

PID-PL

2904

POSPROP

2016

POW

56

PULSE

48

PULSECOUNT

336

Experion LX Control Builder Components Theory


Honeywell

85

1. Control Builder Components


1.7. CEE Standard Control Blocks

Block Name

86

C300 Size (bytes)

PULSELENGTH

316

PUSH

192

QOR

60

RAMPSOAK

1588

RATIOCTL

1768

RCM

3128

REGCALC

1988

REGSUMMER

1492

REMCAS

1492

ROC

156

ROL

40

ROR

40

ROUND

48

RS

36

RTRIG

36

SCM

3128

SEL

40

SELREAL

60

SHL

40

SHR

40

SIGNALSEL

520

SOLENOID

960

SQRT

48

SR

36

STARTSIGNAL

44

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

1. Control Builder Components


1.7. CEE Standard Control Blocks

Block Name

R110
February 2014

C300 Size (bytes)

STEP

200

SUB

56

SWITCH

2544

SYNC

176

TEXTARRAY

48

TIMER

72

TOTALIZER

248

TRANSITION

184

TRIG

36

TRUNC

48

TYPECONVERT

156

UCM

296

VALVEDAMPER

1120

WATCHDOG

48

XOR

44

Experion LX Control Builder Components Theory


Honeywell

87

2. Control Module Independence


2.1

Module Independence for Flexible Modification


The Experion LX system supports both batch and continuous control applications that
vary widely in terms of control duration requirements. Batch applications typically
remain online to provide active control for only a few hours, days, or weeks at most. In
contrast, continuous control applications can remain in active control for years. A
running continuous control strategy is usually only shut down when product goals
change or capital equipment needs to be replaced or repaired. The Experion LX Control
Execution Environment (CEE) provides a hybrid control that incorporates product
capabilities geared towards supporting both batch and continuous control disciplines.
The CEE is a layer of software services that allow Experion LX control applications to
run in multiple hardware platforms. The CEE runs in the Experion LX C300 processconnected controllers.
The CEE allows users to build and modify complete control strategy configurations for
continuous control over periods of months or years. Users can modify existing segments
or add new ones without affecting other segments that remain online. The CEE design
gives users the ability to modify control strategies independently.

2.2

CM Independence and Hypothetical Controller


Comparison
The notion of independence of control strategies within a controller may be new to some
control engineers. Not all controllers have supported this feature in the past, and different
engineers may form conflicting opinions about the feasibility of this idea based on
different mental models of how controllers work internally.

Hypothetical controller structure


For comparison purposes, consider a controller design with a software architecture that is
broadly divided into two layers as illustrated below.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

89

2. Control Module Independence


2.2. CM Independence and Hypothetical Controller Comparison

Infrastructure services
The infrastructure services would consist of a variety of system enablers, two of the most
important are a Real Time Operating System, vendor purchased or custom developed,
and a set of Communication Services. Another important set of infrastructure services
provide a runtime environment and a set of utilities for use by the Application Program.
Application Program
Above these infrastructure services there might be a monolithic Application Program.
The end user develops this program and implements custom control strategies.
Supposing that multiple control strategies are supported within this program, all
applications implemented within it share certain properties since it is a single program.
For example, they are all loaded together and have the same timing properties. Assuming
that the timing properties have the potential to be fast, they are unregulated.

Coupling effects in hypothetical controller


In the hypothetical controller described above, there is significant coupling between the
various control strategies within the controller. The following table summarizes the types
of coupling that exist.
Type of Coupling
Execution Timing

Comparison Consideration
The hypothetical controller does not regulate the execution period of the
application program. This can be an advantage in fast, discrete control
applications. End users deliberately choose to use a small application
program to get the fastest possible response time. However, it can be a
disadvantage in continuous applications where the scaling of time
constants required for time discretization works best under a well
regulated execution period.
In addition, the lack of a regulated execution period introduces a form of
coupling between control strategies. If the user wished to augment or
reduce a particular control strategy it might substantially impact the
execution time of the program as a whole. If this happened, execution
timing for all strategies are affected, not just the one modified.

Load / Unload

In the hypothetical controller design, the application program is


monolithic. Thus, it is not possible to load or unload a particular control
strategy without loading or unloading all others at the same time. To
change an individual control strategy, all control strategies must be shut
down following the required safety procedures and incurring whatever
loss in production results.

Data Reference

This coupling is designed into the application by the end user and is

90

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

2. Control Module Independence


2.3. CEE Architecture

Type of Coupling

Comparison Consideration
consistent with the control mission. Typically, various control applications
within the application program need to share data and this is performed
by holding references to data located within a common pool.
However, depending on the controller design, the impact of this coupling
can be greater or smaller. Let us assume that in the hypothetical
controller, access to data owned by the application program is not
possible unless that data is explicitly declared public within the program.
Under this assumption, custom displays cannot be developed without
potential impact to the application program. If it were necessary to build
a new display or change a display after the controller had been
commissioned, the controller needs to shut down and the application
program reloaded.

Memory Utilization

A form of coupling exists between different control strategies in any case


where there is reliance on a common resource. This is true for memory
utilization.
In the case of the hypothetical controller architecture, all control
strategies within the application program use memory from a common
pool. Once the memory pool is exhausted, the size of the program
cannot be further increased. If the pool has been exhausted and it is
essential to augment a particular control strategy, it may be necessary to
reduce or eliminate another control strategy.

CPU Utilization

Another common resource shared across control strategies is CPU


execution time.
Assuming that control strategies must be executed at a certain rate and
assuming that a certain level of CPU is used for support services, there
will be a finite amount of CPU execution time available for control
strategies. If the CPU resource is at its limit and it becomes necessary to
add a control strategy, it may be necessary to remove another one.

Communication
Bandwidth Utilization

Data transfer between control strategies and IO requires the use of


communication bandwidth. Similarly data transfer between control
strategies and supervisory controllers, peer controllers or HI requires the
use of communication bandwidth.
Communication bandwidth can be an abstract resource to quantify. It
depends on the characteristics of parallel and serial communication
paths and on the characteristics of Asics or CPUs which serve those
paths. But it is an identifiable and finite resource. If the Communication
bandwidth is at its limit and it becomes necessary to add a control
strategy, it may be necessary to remove another one.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

91

2. Control Module Independence


2.3. CEE Architecture

2.3

CEE Architecture
The hypothetical controller described above may or may not resemble controller
products on the market today. But similar controllers have been sold in the past and may
impact the expectations of some control engineers.
The design of CEE and its hosting on the C300 controller is different. These differences
eliminate some of the potential couplings between control strategies and reduce others.
Some forms of coupling, in particular coupling that arises from a finite computing or
communication resource cannot be entirely eliminated in any controller design. But its
impact can be moderated.

CEE controller structure


The following illustration gives a high level view of the software layers in a controller
hosting a CEE.

Infrastructure services
As in the hypothetical controller, a CEE-based controller has a base software layer called
Infrastructure Services. These services are a combination of purchased and customdeveloped software components. They include a Real Time Operating System and
Communication Services. They set up an environment in which the execution and
communication requirements of control strategies can be met.

92

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

2. Control Module Independence


2.3. CEE Architecture

Application programs
The architecture of a CEE-based controller also resembles the hypothetical controller.
That is, it supports application layers which sit above the Infrastructure Services.
However, it differs in that the application layers are constructed with a built-in
partitioning. The controller application is partitioned in the following two different ways.

Partitioning between program and data set.

Partitioning between native programs and custom programs.

Program and Data Partitioning


The Control Modules layer in the illustration above sits above the Application Programs
and provides partitioning between program and data set.
Control Modules or just "Modules" are grouped data sets which contain the data
associated with component blocks and the relationships which connect those blocks.
Several types of modules are supported. Control Modules (CMs) support repetitive,
regulatory control algorithms. Sequence Control Modules (SCMs) and Recipe Control
Modules (RCMs) support batch oriented sequential control algorithms.
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. Loading and
unloading one module does not have an impact on any other module.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

93

2. Control Module Independence


2.3. CEE Architecture

Native program and custom program partitioning


The two types of programs within the application program layer shown in the illustration
above provide partitioning between native programs and custom programs. One type of
program holds the native block types which are built into the controller. The other holds
custom block types created by the end user.
Blocks which instantiate native types are used more widely than blocks which
instantiated custom types. But regardless of whether they instantiate native or custom
types all block instances and their parent modules provide the characteristics of data
independence described in the preceding section.
Custom block types
The following three categories of custom block types are within CEE.

PHASE blocks

Custom Algorithm Blocks (CAB)

Custom Data Blocks (CDB)

The advantage of Custom types is that a single piece of source code (the type) can be
created and used, unmodified, by multiple instances. At the same time, custom types
present an additional form of coupling within the application. Changing a block instance
has no impact upon the type it instantiates. But, when a custom type is changed, that
change must eventually be propagated to every instance of the type.
Coupling between custom types and Control Modules must be managed by the
application engineer. However, custom block types are independent of each other, which
makes the task a little easier. They are loaded independent of each other, with the load
happening implicitly upon load of the first instance. Any coupling between types is
limited to that which the application engineer creates between the instances. There is no
direct coupling between the types themselves.

Regulated Base Cycle


Another CEE design feature, which enhances independence, is its execution scheduling.
In the hypothetical controller described above, the control period could vary depending
on flow through the application program for any particular execution. Different code
paths could get executed under different executions causing the control period to vary.
In the CEE design, all control periods are based on a fundamental base cycle whose start
time is regulated. While execution timing varies within any real-time software design,
the cycle scheme used in CEE controls the amount of variation possible.
94

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

2. Control Module Independence


2.3. CEE Architecture

Coupling effects in CEE-based controller


In the hypothetical controller described above, there is significant coupling between the
various control strategies within the controller. The following table summarizes the
limited types of coupling that can exist between control strategies within a CEE-based
controller.
Type of Coupling

Comparison Consideration

Execution Timing

No coupling

Load / Unload

When a control module containing only native block types is loaded, it


has no impact on any other control module.
When a control module containing instances of one or more custom
block types is loaded, it has no impact on any other control module.
When custom block instances are loaded, they always have a
dependence upon a type. If the needed type, or the needed version of
the type, is not already present within the CEE, it is loaded implicitly
along with the control module. If there are pre-existing instances which
use an older version of the type, they are unaffected and continue to
execute. The old block type is not eliminated as a result of loading the
new type. However, application engineers must take responsibility to see
that, eventually, all previously loaded instances are reloaded, so that
they start to use the new version of the type.
If a custom block type and its instances are being used within an industry
which requires explicit qualification procedures, then modifying the type
may require that ultimately every control module using an instance of
that type must be re-qualified.

Data Reference

Data reference coupling between modules is an expected part of any


control configuration and is consistent with the control mission. The
extent to which there may be no data transfer between modules is
completely controlled by the application engineer.
However, the design of the CEE controller and the Experion LX system
employ a feature which minimizes impact to running modules when they
are referenced by other modules, by supervisory controllers or by human
interface devices. This feature is that all modules and all algorithm
blocks within modules have inherently external parameter linkage.
External parameter linkage means that from the moment when the
module is first loaded, its entire data content, as exposed through named
parameters, can be accessed from outside the controller. When new
displays are created or when existing displays are modified, no modules
or application programs need change in order to publicize newly

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

95

2. Control Module Independence


2.3. CEE Architecture

Type of Coupling

Comparison Consideration
accessed data. Similarly, when supervisory or peer control strategies are
created which access data for the first time, no change or load of the
reference module is required.
Because of inherently external parameter linkage, CEE modules do not
need to be re-qualified if the set of data to be read is changed after the
initial qualification.

Memory Utilization

Modules are coupled in the sense that they all use memory from a
common pool. In general, changes in the memory requirements of one
module do not impact any other module. However, if the controller is very
full then the module which needs to be loaded may not fit into the
remaining memory. This occurs if an application engineer increases the
module's configuration so that it requires more memory. Or if the
application engineers have changed other modules so that on reload of
this module, enough memory is not available..
By design, memory allocations generally do not occur dynamically within
a CEE-based controller. It happens as a direct result of a user-initiated
module load. In all cases, the failure of a module to load is known
immediately by the return of an error message. When this occurs, there
are no adverse consequences other than the fact that the module itself
cannot be loaded. Modules which have already been loaded and which
are resident do not require any kind of re-qualification because a
different module has failed to load.
In general, application engineers should plan the configuration of a CEEbased controller so that there is always some amount of reserve
memory. Parameters TOTALMEM, USEDMEM and FREEMEM of the
CEE block should be checked from time to time to determine how much
memory remains unused.
The one exception to the CEE policy that memory allocations never
change except in connection with module load is the basic block type
PID-PL. Instances of this block can change their memory utilization as a
result of delay tuning. If PID-PL is heavily used it is possible for its
memory utilization to impact other modules the next time they are
loaded. If application engineers want to avoid this possibility, they should
allow plenty of spare memory in the initial configuration of CEE or they
should avoid the use of PID-PL.

CPU Utilization

96

Like memory, the CPU processing time available within a CEE-based


controller can be thought of as a single resource pool from which all
modules draw. Reliance on this common pool introduces a potential
coupling between modules. However, the design of the control
processing scheme within the CEE eliminates this coupling except in the
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

2. Control Module Independence


2.3. CEE Architecture

Type of Coupling

Comparison Consideration
case of overrun.
The processing scheme is based on 40 cycles, each one 0.05 seconds
long. The start of each cycle is time regulated. Modules which run in
each cycle are selected by the application engineer in a balancing
procedure which distributes total load across the set of cycles. In a CEE
configuration which is balanced properly, and which is not overloaded, a
module can be added or removed without impact to any other module,
despite the use of a shared CPU resource.
On the other hand, if the controller as a whole is overloaded, or if one or
more cycles is overloaded, it is possible to incur processing overruns. An
overrun occurs when cycle N does not finish its processing in time for the
start of cycle N+1. If this happens, the start of cycle N+1 is postponed
until the time originally designated for the start of cycle N+2. The net
effect is to pause control processing by one cycle. No module's
processing is skipped. Some timing operations are extended. No timing
operations are shortened.
In general, a configuration which incurs one or a few overruns in the
space of an hour suffers no degradation of control. However, application
engineers should be conscious of the CPU resource when configuring a
controller and should design control configurations that do not incur
overruns. They should insure that the controller as a whole is not
overloaded and that no individual processing cycle is overloaded. This
activity does not require re-validation of individual modules. Instead it is
a standard procedure which should be followed for the controller as a
whole whenever its configuration is changed.
As a general guideline, the total, time-average, free CPU available within
the controller should be kept above 20%. This can be determined from
the value of the device block parameter CPUFREEAVG. The timeaverage CPU utilization of any individual cycle should be loaded in
accordance with the specifications of the C300 controller. Cycle loading
can be determined from the value of the CEE block parameter
CPUCYCLEAVG(I). In addition, during configuration, application
engineers should occasionally check the overrun statistics parameters
CRCYCLEOVRN(I) and LSCYCLEOVRN(I) of the CEE block to see
whether there have been any overruns within the controller or within any
particular cycle of the controller.
If a configuration error is made which causes repetitive overruns that
could degrade control, the host controller reportsan overrun alarm. This
alarm clears once repetitive overruns cease.

Communication
R110
February 2014

Like any controller, the CEE-based controllers use communication


Experion LX Control Builder Components Theory
Honeywell

97

2. Control Module Independence


2.4. Validation of Control Module Independence

Type of Coupling
Bandwidth Utilization

Comparison Consideration
bandwidth for data transfer. Types of data transfer include:
communication with IO devices; communication with peer controllers;
communication with supervisory human interface and control devices;
alarm and event reporting.
Communication bandwidth can be viewed as a common resource shared
by all modules analogous to memory or CPU processing time.
Depending on this common pool introduces a potential coupling between
modules.
Adverse effects from sharing communication bandwidth do not occur, if
the CEE-based controller is configured within its specified operating
limits. Under these conditions, modules can be added and deleted and
all modules operate using their needed communication bandwidth with
no impact to other modules.
To construct CEE configurations which conform to the specified
operating limits, application engineers should refer to the Control
Capacity and Performance section in this document and Experion LX
product specifications for more information.

2.4

Validation of Control Module Independence


Honeywell's TDC2000, which was the original distributed control system (DCS)
introduced circa 1970, employed several of the fundamental principles of control module
independence even though its control objects were not called modules. These principles
were first implemented to meet the rigorous requirements of long-term continuous
control. They have been employed in each of the generations of Honeywell DCS to
follow, most recently in the Experion LX system.
Since the principles of control module independence have become so fundamental, some
of them are not explicitly tested in new generations of DCS. In the case of the Experion
LX system, some of the independence principles have been tested explicitly while others
have been tested implicitly within the hundreds and thousands of test cases that cover the
entire set of functionality contained within the DCS.
The following list indicates the extent to which control module independence has been
tested explicitly or implicitly within the Experion LX system.

Type of Coupling

98

Test Consideration

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

2. Control Module Independence


2.4. Validation of Control Module Independence

Type of Coupling

Test Consideration

Execution Timing

Tested that the execution timing of a particular module is independent of


any other module in the absence of overruns during original
implementation phases by measurements of the time regulation of the
fundamental control cycle.

Load / Unload

The fact that Experion LX CMs and SCMs can be loaded independently
as it continuously gets revalidated with every control configuration that is
created. The other modules that are unaffected is implicitly revalidated
when the control strategies behave as testers expect.
The programs associated with instances of custom block types are
loaded independently is tested extensively with the introduction of the
first Experion LX category of custom types, CAB. It has been retested
with the introduction of the new categories of CDB and PHASE. The
loading of a new version of a custom block type does not impact blocks
already running on a previously loaded version that is, tested with the
initial introduction of custom block types. It gets retested implicitly every
time an instance of a modified type is reloaded when pre-existing
instances are already present in the CEE.

Data Reference

The fact that CEE and Experion LX system support inherently external
parameter linkage gets continuously revalidated every time a tester
makes a custom display. Testers know that they can read any parameter
data supported by a module without having to change the module
configuration or reload the module.
CEE algorithm blocks support a policy of built-in fail-safe handling which
is known by system testers and is covered by numerous tests that they
have designed and run. That fail-safe handling applies to de-activation
which is also known and tested.

Memory Utilization

Explicit testing has been done on the behavior of the controller when
module configuration memory is exhausted. This testing has confirmed
that an explicit error message is returned and that there are no adverse
effects other than rejection of the load.

CPU Utilization

Explicit testing is done on the behavior of control execution in response


to overload and in response to configurations with poor balancing. The
response is controlled overruns. The overruns are counted and when
they occur repetitively an alarm is generated which is l validated.

Communication
Bandwidth Utilization

Explicit testing has been done on the communication load that can be
handled by each of the communication channels used at run time by a
CEE-based controller. The capacities are consistent with published
Experion LX specifications.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

99

2. Control Module Independence


2.5. Resource Coupling Across Different Platforms

2.5

Resource Coupling Across Different Platforms


The various types of "coupling" that can exist among control strategies within a
controller can be divided into the following two broad categories.
Category

Description

Programmatic Coupling

These are dependencies which occur from the fact that


algorithms are implemented in a monolithic program or
which occur from the fact that there are explicit data
dependencies among the algorithms. Load / Unload,
Execution Timing and Data Reference are examples of
Programmatic Coupling.

Resource Coupling

Other dependencies are less direct but can occur 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 are 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. The
hosting controller C300 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.

100

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

3. Relative References
This section describes the relative references, how they are displayed, and what Control
Builder functions support them. Also, mentioned below are some examples of how they
may be used.

3.1

About Relative References


Use a relative reference as a shorthand method for specifying a parameter reference in
the following scenarios, since all relative parameter references are within the scope of a
tagname.

3.2

A parameter reference on any block could refer to another parameter on the same
block.

A parameter reference on a container block could refer to a parameter of a contained


basic block.

A parameter reference on a basic block could refer to a parameter on its container.

A parameter reference on a basic block could refer to a parameter on another basic


block within the same container as the basic block.

Relative References structure rules


The following table lists the syntax for relative references. As noted in the table, a
special character ($) is used when the parameter name desired for the reference resides
on the container block, but the reference owner also defines the same parameter name.
Without special handling, the entry would resolve the reference to cm.myblock.param,
where the user desired a reference to cm.param. In this case, a special character specifies
that the container block is desired for the reference.

Reference Is
Owned By

Basic Block

R110
February 2014

Parameter to be Referenced Is Owned By


Same Block

Tagged
Basic
Block

Container
with same
param name
as a basic
block

Same
Container

Other
basic block
within
container

param

$.tag.param
or
tag.param

$. param

param or
$.param

block.
param or
$.block.para
m

Experion LX Control Builder Components Theory


Honeywell

101

3. Relative References
3.2. Relative References structure rules

Tagged
Basic Block
(Hart enabled
channel
1
blocks)

param

FULLNAME

$.param

Param or
$.param

block.
param or
$.block.para
m

Tagged
Block

param or
$.param

FULLNAME

FULLNAME

FULLNAME

FULLNAME

Container
Block

param or
$.param

$.tag.param
or
tag.param

FULLNAME

param or
$.param

block.
param or
$.block.para
m

Notes
1. Tagged basic blocks are not in the same name space as the container that they reside in, but
short name entry is supported. A relative parameter reference could not be made from a
parameter reference on a tagged block to another tagged block within the same container.

How relative reference matching function works


The following flowchart diagram provides an overview of how the relative reference
matching function searches for a match on the user entry.

102

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

3. Relative References
3.2. Relative References structure rules

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

103

3. Relative References
3.3. Display options for relative references

3.3

Display options for relative references


You can select whether relative references are to be displayed in Full Name or Short
Name format through the Relative Reference Display Option on the General tab of the
System Preferences dialog box in the Control Builder. Refer to the Setting system
preferences in the Control Building Users Guide for more information. This option only
applies to how relative references are displayed and the default is Full Name. Relative
references may be entered in shorthand format, regardless of the option selected.
If you select the Full Name option and enter a reference as block.param, the reference is
displayed as tagname.block.param.
If you select the Short Name option and enter a reference as tagname.block.param that is
within the scope of the tagname, the reference will be displayed in a short name format.
When a basic block references a parameter on its container block, a special character ($)
precedes the parameter name. The following table outlines how references are displayed
when the Short Name option is selected.

Reference Is
Owned By

Parameter to be Referenced Is Owned By


Same
Block

Tagged
Basic
Block

Container
with same
param
name that
a basic
block has

Same
Container

Other
basic
block
within
container

Basic Block

param

FULLNAM
E

$. param

$. param

block.
param

Tagged
Basic Block
(Hart
enabled
channel
blocks)1

param

FULLNAM
E

$. param

$. param

block.
param

Tagged
Block

param

FULLNAM
E

FULLNAM
E

FULLNAM
E

FULLNAM
E

Container
Block

param

FULLNAM
E

FULLNAM
E

param

block.
param

104

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

3. Relative References
3.4. Control Builder functions supporting relative references

Reference Is
Owned By
Notes

Parameter to be Referenced Is Owned By

1. Tagged basic blocks are not in the same name space as the container that they
reside in, so relative references are only displayed in short name format if the reference
is on the same block as the tagged basic block.

How short name display option works


The following flowchart diagram provides an overview of how parameter references are
displayed when you select the Short Name as the Relative Reference Display Option.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

105

3. Relative References
3.4. Control Builder functions supporting relative references

3.4

Control Builder functions supporting relative


references
The following Control Builder functions support the entry of parameters as relative
references.

3.5

Expressions

Parameter Connectors

Parameters of type TC_PARAMID. Examples of these parameters are the history,


trend and group configuration parameters associated with tags and key parameters
used in the SCM/RCM table view.

Control Builder blocks supporting expressions


The following blocks support the use of expressions and the entry of parameters as
relative references.

3.6

AUXCALC

ENHAUXCALC

ENHREGCALC

REGCALC

STEP

TRANSITION

Example of TRANSITION block using relative


references
You can enter an expression using relative references for parameter references within the
scope of the containing Control Module (CM), Sequential Control Module (SCM), or
Recipe Control Module (RCM). The length of the expression will be validated against
the string as it will be displayed based on the Relative Reference Display Option
selection and not the length of the entry.
The following are valid entries for the same equation in a TRANSITION block within
the Example_SCM.

106

example_scm.COMMAND=3
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

3. Relative References
3.6. Example of TRANSITION block using relative references

COMMAND=3

The following example illustrations show how expressions would appear with Short
Name as the selected Relative Reference Display Option.

A container reference from a chart

A reference to a parameter on the same block from a form

A reference to a parameter on a different block in the same CM

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

107

3. Relative References
3.6. Example of TRANSITION block using relative references

Expression display interaction


The format of an expression parameter that is read from Server (Station displays),
displayed in a Control Builder Report, or included in an Import/Export (IXP) file
depends on whether the Relative Reference Display Option selection on the Control
Builder System Preferences dialog is Full Name or Short Name.

108

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

3. Relative References
3.7. Example of parameter connector using relative references

3.7

Example of parameter connector using relative


references
You can enter a parameter connector as a relative reference. The container owns the
parameter connection. The display format for a parameter connector in the Control
Builder chart depends on whether the Relative Reference Display Option selection on the
Control Builder System Preferences dialog is Full Name or Short Name. All cross
references are displayed as full name regardless of the Relative Reference Display Option
selection.
The following example illustration displays how parameter connectors appear with Short
Name as the Relative Reference Display Option selection.

A reference to a parameter on a different block in the same CM

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

109

3. Relative References
3.8. Example of other parameters using relative references

Parameter connector display interaction


The format of a parameter connector displayed in a Control Builder Report or included
in an Import/Export (IXP) file will always be full name.

3.8

Example of other parameters using relative


references
You can enter the following parameters as a relative reference. The display format for a
parameter in the Control Builder chart depends on whether the Relative Reference
Display Option selection on the Control Builder System Preferences dialog is Full
Name or Short Name.

110

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

3. Relative References
3.8. Example of other parameters using relative references

History, trend and group parameters that are defined on TAGGED blocks:

GROUP.PARAM

HIST.GATEPARAM

HIST.PARAM

TREND.PARAM

Parameters on the STEP block related to procedural operations:

CURRVALREF

MONTASKREF

OP[].CURRVALREF

OP[].ENTRYVALREF

OP[].MONTASKREF

OP[].TARGETVALREF'

Parameters on the SCM and RCM associated with the alias table:

ALIASREF

In addition to these parameter references, Control Builder allows the origin parameter of
projected parameters to be entered as a relative reference
The following example illustration displays how other parameters appear if Short Name
is the Relative Reference Display Option selection.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

111

3. Relative References
3.8. Example of other parameters using relative references

A reference to a parameter on a basic block of the CM

Other parameters display interaction


The format of other parameters read from Server (Station displays) is always the full
name.
The format of other parameters displayed in a Control Builder Report, or included in an
Import/Export (IXP) file depends on whether the Relative Reference Display Option
selection on the Control Builder System Preferences dialog is Full Name or Short
Name.

112

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

3. Relative References
3.9. Bulk Builder and Bulk Editor support

3.9

Bulk Builder and Bulk Editor support


The Bulk Builder and Bulk Editor do not support entry or display of shorthand relative
references.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

113

3. Relative References
3.9. Bulk Builder and Bulk Editor support

114

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

4. Peer-to-Peer Functionality
4.1

Basic Peer-to-Peer Design Concepts


About Peer-to-Peer
You can implement peer-to-peer communications among CEEs in multiple C300
Controllers networked to the same Server.
You can visualize the peer-to-peer function as a set of connections between two C300s.
This allows function blocks in different Control Execution Environments (CEEs) to
share data through user configured parameter connections. The Control Data Access
(CDA) services assume the responsibility for maintaining all connections.

Data flow models


The peer-to-peer design uses both Publish/Subscribe and Request/Response data flow
models.
The Publish/Subscribe model establishes a publication contract between two CEEs. The
one CEE (Subscriber) asks the other CEE (Publisher) to periodically publish the data
value. You can configure the Subscriber's subscription rate as 10, 20, 50, 100, 200, 500
or 1000 milliseconds through the associated CEE block configuration form. (Note that
the applicable subscription rates vary for the 50 ms CEE image loaded in the Controller.)
The Publisher periodically publishes data on a report by exception basis. If a Publisher
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 for get/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.

Peer environments and subscription periods


You can identify different peer environments and configure individual subscription
periods and store response time values through the applicable CEE configuration form in
Control Builder. This includes external servers, such as OPC Servers. The configuration
form also specifies default subscription period and store response time values to be used
for all peer environments without individually specified settings.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

115

4. Peer-to-Peer Functionality
4.1. Basic Peer-to-Peer Design Concepts

The peer subscription period parameter defines the update period used for cyclic "get"
requests for peer references. The peer store response time expiration time parameter
defines the expiration time used in waiting for "store" responses. In addition to system
wide default values, the values for specific CEE peers can be adjusted by users with an
Engineer access level or higher in the Monitor mode of Control Builder.

Software Architecture for C300/CEE


The graphic in the following figure gives a high level view of Experion LX
communication architecture. It shows how CDA Publish/Subscribe and
Request/Response data access methods provide network communications to/from blocks
associated with CEEs loaded in C300s.
This graphic is only intended to give you a general idea of how CDA manages the flow
of data values for CEEs, CB Monitoring , and Station displays within the Experion LX
system. The dynamic cache acts like a communications filter to reduce multiple requests
for the same data value down to one, which in turn, results in the sending of only one
publication request for the item.
Note: Peer-to-peer communications are layered upon CDA, which uses connectionoriented communications.

116

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

Client Applications

Client Applications

Client Applications

Read & Write

Read & Write

Read & Write

4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation

Server Data Access

Cache Update

Reads
& Write
Writes
Read &

CDA
Scattered
Pub/Sub List

Request/
Response

Ctrl Function
Ctrl Kernel
CPM
CDA
Mngr I/O Cnet
Mngr Transp

Ctrl Function
Ctrl Kernel
CPM
CDA
Mngr I/O Cnet
Mngr Transp

ICP Driver

ICP Driver

CPM0101
CEE0101

CPM0201
CEE0201

Publish/Subscribe

Cache Update
CDA
Scattered
Pub/Sub List

Publish/Subscribe

CDA
Scattered
Pub/Sub List

Publish/Subscribe

Pub/Sub
Manager

Cache Update

Server Dynamic Cache

One Time
Request/Response
Read/Write Services

Ctrl Function
Ctrl Kernel
CPM
CDA
Mngr I/O Cnet
Mngr Transp

CDA

Response

Subscription List

Cache Manager

Request

ICP Driver

CPM0301
CEE0301

Figure 8 Peer-to-peer is layered upon CDA connection-oriented


communications.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

117

4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation

4.2

Initiator Rate - Calculation


Overview
Initiator Rate is the initiator Parameter count Per Second (pps). The initiator parameter
count on a connection is measured by adding the small and large cyclic parameter
requests on the connection. The guideline is that the sum total of initiator rates on all the
30 connections should not exceed 1000 pps.
The following parameter values are used to calculate the initiator rate.

ICYCSMREQUSEDCONN[0-29] - Number of cyclic small requests per connection


ICYCLGREQUSEDCONN[0-29] - Number of cyclic large requests per connection
NUMCCLRQU parameter - Total number of cyclic parameter requests (initiator
requests) for all connections.
SUBSCPERIOD - Peer update rate for peer-to-peer communications between two or
more CEEs in milliseconds

All the above parameters are present in the CEE block of the C300 controller. The
following procedures describe how to calculate the initiator rate of a controller. This rate
includes Publisher, Subscriber and Dynamic Fetch parameter requests per second by the
Initiator of the node. Two methods are used depending on whether peer connections are
configured using the Peer Environment Table.

Configuration without peer environment table


To calculate the initiator rate, divide the total initiator count by the global peer
subscription period using the formula:
Initiator Rate N =

NUMCCLRQU
SUBSCPERIOD in Seconds (for example, 500ms is 0.5 Sec

NUMCCLRQU parameter is the number of initiator requests from all connections and
gives the total initiator count. The NUMCCLRQU value is shown on the Statistics tab
and the value of SUBSCPERIOD is shown on the Peer Configuration tab of the CEE
configuration page.

Configuration with peer environment table


If the Peer Environment Table is configured to have special subscription periods for
different target nodes, then the initiator count must be calculated separately for each
connection. The initiator rate then can be calculated for each connection. Initiator rate is
calculated by dividing the count by the peer subscription period configured in the Peer
Environment Table. The initiator rate for all the connections is then summed to get the

118

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation

total initiator rate of the node. Perform the steps below to configure the initiator rate of
the node.
Step

Action

For each Target node (Peer Environment Name) configured in the Peer
Environment Table (on the Peer Configuration tab), locate the same Target
Name in the Initiator Connections table (on the Peer Communications tab).

Record the index number for that Target Name.


This number (x1) should be used as an index into the arrayed parameters to
obtain the initiator rate for this connection using the formula below.
Initiator Rate for the connection x1 =
N [x1] =

ICYCSMREQUSEDCONN [x1] + ICYCLGREQUSEDCONN [x1]


SUBSCPERIO D in Seconds

Note: The Peer Subscription Period is used in the Peer Environment table for
SUBSCPERIOD of the target node.
3

Repeat steps 1 and 2 for each node listed in the Peer Environment table to
calculate the individual initiator rate for each of the connections.

For target nodes that do not have an entry in the Peer Environment Table,
locate the connection index (y1) for these target nodes, which is obtained
from the Initiator Connections list on the Peer Communications tab.

Calculate the initiator rate for these target nodes using the formula below.
Initiator Rate for the connection y1 =
N [y1] =

ICYCSMREQUSEDCONN [y1] + ICYCLGREQUSEDCONN [y1]


SUBSCPERIO D in Seconds

Note: The global Subscription Period value is used for SUBSCPERIOD (on
the Peer Configuration tab).
6

Add the initiator rates obtained in the steps above for all the connections to
obtain the total initiator rate.
Total Initiator Rate N = N[x1] + N[x2] + + N[y1] + N[y2] +

Example:
This CEE block shows the Peer Environment Table with one target node configured,
C300_15, with a Peer Subscription Period of 500mS.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

119

4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation

C300_59 is configured to use the Global Subscription Period which is 500sec. (shown
above) and is shown on the Peer Communications tab which lists both initiator
connections.

In Station, the number of initiator requests is listed for each indexed connection.

120

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

4. Peer-to-Peer Functionality
4.2. Initiator Rate - Calculation

To calculate the Initiator rate for C300_15 find its connection index from the Peer
Communications tab which is 2. The Peer Subscription Period configured for this node is
500mS = 0.5 Seconds.
Initiator Rate for the connection to the target C300_15

To calculate the Initiator rate for C300_59, find its connection index from the Peer
Communications tab which is 1. This node uses the global Subscription Period which is
1sec.
Initiator Rate for the connection to the target C300_59 =

Therefore the Total Initiator Rate = N[1] + N[2] or 20 + 1 = 21 pps.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

121

4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration

4.3

Implications for Control Builder Configuration


ATTENTION
Please note that the format used for the C300 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.

CEE execution and subscription rates


The configurable Base Execution Period (BASEPERIOD) defines the macro cycle based
on the 40 phases used for CEE scheduling. See the previous Function Block Execution
Schedules section for more information. The BASEPERIOD is user configurable as
50ms for a C300/CEE.
You can configure default Peer Subscription Period (SUBSCPERIOD) and Peer Store
Response Expiration Time (STRRESP) values to be used for all peer environments
without a specific configured value.
You can configure specific Peer Subscription Period (PEERSUBSCPER[ ]) and Peer
Store Response Expiration Time (PEERSTRRESP[ ]) values for specific environments
(PEERENV[ ]) identified through configuration.

Function block support


The following table lists the Function Block Libraries in Control Builder and identifies
which control environment supports them.
If Function Block Is From This Library
in Control Builder . . .

Then, It Can Be Used With This Control


Environment . . .
C300/CEE
(Restrictions apply - loaded strategies
must contain supported blocks only.)
C300/CEE

C300/CEE

122

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration

If Function Block Is From This Library


in Control Builder . . .

Then, It Can Be Used With This Control


Environment . . .
C300/CEE

C300/CEE

C300/CEE

C300/CEE

C300/CEE

Peer-to-peer connections and DEF and REF blocks


You make peer-to-peer connections by specifying the full tag names for parameters in
parameter connectors, calculation expressions, and input and output condition
expressions for TRANSITIONs and STEPs in SCMs. This identifies the source of the
parameter value from a compatible block parameter in another CM or SCM, which is
assigned to a different CEE.
In peer-to-peer applications, the function block that defines a parameter value that can be
referenced by another function block is referred to as the DEF (definition) block. The
function block that reads a parameter value from a DEF block is referred to as the REF
(reference) block. The DEF versus REF block concept is useful in quickly determining
whether CEEs contain publishers (DEF blocks) or subscribers (REF block) of data.
However, it is possible for a function block to be both a DEF and a REF block. Refer to
the Configuration example section next for details.
Also, the storing of an output from a STEP block in an SCM to another function block is
handled as a one-time request/response operation. The STEP block is the REF block and
the function block receiving the output store is the DEF block. A one-time request is
issued each time the STEP is executed.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

123

4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration

Peer-to-peer configuration example


Views A and B in the following figure and the companion callout description table show
a sample configuration that uses a REMCAS block to form a cascade control loop with
remote and local primary loops.
For this example, assume that this application includes two C300 Process Controllers 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.

View A - Remote Primary Control Loop

124

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration

View B - Local (Backup) Primary Control Loop


Figure 9 Example of DEF and REF block functions in CB configuration
using REMCAS block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

125

4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration

The following table includes descriptions of the callouts in the figure above.
Callout

Description

The PID_PRIMARY block represents the remote primary control loop for a
cascade loop using the REMCAS block. It is contained in a CM named
REMCAS_PRIMARY, which is assigned to CEE0101.

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.

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.

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.

The REMCAS block operates like any cascaded secondary loop except
that it can switch between two different primaries.

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.

126

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration

Callout

Description

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.

Peer-to-peer configuration guidelines


Observe the following guidelines when configuring peer-to-peer functions in CB.

Assign CMs with Series 8 Channels and their associated IOM blocks to the same
CEE.

Assign CM containing ultimate secondary control block and CM containing its


output channel and IOM blocks to the same CEE.

Assign CM containing data acquisition or regulatory control block and CM


containing its input channel and IOM blocks to the same CEE.

Do not assign IOM blocks to multiple CEEs. Use peer-to-peer communications to


share input channel values among CMs in multiple CEEs.

If you delete and unassign a loaded CM containing a DEF block from one CEE and
reassign and load it to another, you must reload all CMs containing REF blocks
with peer-to-peer relationships to the DEF block in the reassigned CM. Otherwise,
the REF blocks continues to receive published failsafe data from the former CEE.
You can use the loaded version of the REF block CM for the reloading operation.

It is recommend that you assign CMs containing DEF and REF blocks to their
respective CEEs before you make the named parameter connections to the REF
blocks.

You must assign CMs with DEF blocks to their CEEs before you load CMs with
REF block relationships. Otherwise, the peer-to-peer connections are invalid.

You can add CMs with REF block relationships to CEEs online at any time.

Control Modules can contain any number of parameter references and also as any
mix of intra-CEE and inter-CEE (peer-to-peer) references.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

127

4. Peer-to-Peer Functionality
4.3. Implications for Control Builder Configuration

128

A function block may have both DEF and REF relationships as shown in the
configuration example in the previous figure. This means a REF block can also be a
DEF block to another DEF block.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

5. Time Support in Experion LX System


Experion LX 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 LX
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

5.1

Local Time = UTC + bias

Date and Time Synchronization


Experion LX Time Source varies depending on Windows Domain. Servers that are part
of Windows Domain use the Primary Domain Controller (PDC) as the time source.
Without Windows Domain, a primary Server is designated as the time source and the
backup/DSA Servers identify the time source machine and are synchronized by the
Windows Time service.
Time source time is set via Windows Date/Time applet and all Windows machines in a
cluster (Servers, Stations) are synchronized via Windows mechanisms.
Every minute, CDA obtains current time from Server and point to point delivers it to
primary Execution Environment (EE) devices on the network (Fault Tolerant Ethernet).
Devices update their system time and use local free-running counters to compute the
current system time between updates.
Time sensed within CAB programs is based on Windows OS synchronization derived
from the same Experion LX Server that supplies time synchronization to CDA.

5.2

C300 Interface Module Time Synchronization


The C300 Controller require high-quality time from a Network Time Protocol (NTP)
Server. The quality of time determines how tightly events from different devices can be
correlated, especially with regard to digital Sequence-of-Events (SOE). You must
specify the address for the NTP source through the System Preference dialog that is
accessible through the Tools menu in Control Builder. The procedure is described in the
Supplementary Installation Tasks Guide section "Setting up time synchronization"
Note that the C300 starts with time sources noted below, but they require an NTP time
source for optimal operation.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

129

5. Time Support in Experion LX System


5.2. C300 Interface Module Time Synchronization

Time Source

Comments

CDA Time

Time is provided by the first Windows Server/Station that


provides a data connection. C300 control resumes as
configured by user for warm or cold initialization, based on
time controller was powered down. A notification and soft
failure indication flags degraded time source.

No time

If C300 control is configured to resume, it will do so with cold


initialization but it will not run until it receives time from the
specified source.

BOOTP Mechanism and Multiple Clusters


The C300 receive their IP Addresses and the IP Addresses of the configured NTP
Servers through the Experion LX R110 BOOTP Service. BOOTP is a broadcast
protocol; all BOOTP servers on a given subnet respond to all requests. In a mixed release
system on one subnet, even when using different FTE Multicast Addresses, only the
newest (R110) BOOTP can provide all of the necessary information for R110.
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.

130

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

5. Time Support in Experion LX System


5.3. Time Configuration Considerations

5.3

Time Configuration Considerations


Experion LX supports three time data types in CEE Blocks which encode values of time:

TIME encodes absolute time

TIMEOFDAY encodes time of day

DELTATIME encodes time differences

Time Data Types in Control Execution Environment (CEE)


Blocks
CURTIME is of type TIME and always shows the current "wall time" for the system
where the platform blocks reside. The CURTIME parameter is defined on C300
platform entity block.
Parameters of time data types most frequently appear in custom block types. The two
categories of custom block types supported in Experion LX are Custom Algorithm
Blocks (CAB) and Custom Data Blocks (CDB).

Time Data Types in User Algorithms and Displays


Time data types are often used in conjunction with some form of user written algorithm.
In the case of the Custom Algorithm Block (CAB), the user defines a block type which
encapsulates both a data definition and an algorithm definition. If the data definition
incorporates a Custom Defined Parameter (CDP) of time data type then the CDP is read
or written by the CAB program as needed.
In the case of a CDB type incorporating time CDPs, the CDB itself never reads or writes
the CDPs since the CDB is a data repository and contains no algorithm. However, a
CDB's time CDP may be read or written by user defined expressions contained in the
algorithm of other blocks. User defined expressions associated with instances of SCM,
AUXCALC, or REGCALC blocks may access time CDPs as appropriate.
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 LX
policy with respect to time zones and daylight savings time. This policy is stated below.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

131

5. Time Support in Experion LX System


5.4. Examples of Time Usage in CAB and SCM

When TIME parameters are transported from an EE to displays they are always
assumed to be in UTC. User algorithms must publish TIME parameters in UTC and
not in local time.

When HMI receives TIME parameters from an EE and displays them, they are
converted from UTC to local time. The conversion takes into account whether
daylight savings time is currently in effect.

When HMI receives user input of TIME parameters it is assumed that they have
been supplied as values consistent with the local time zone and with any seasonal
daylight savings adjustment currently in effect. They are converted to UTC before
transport to any EE or user algorithm.

TIMEOFDAY
As with TIME CDPs, use of TIMEOFDAY CDPs requires attention to issues of time
zone. In particular, users who create algorithms to manipulate CDPs of type
TIMEOFDAY must understand the Experion LX policy with respect to time zones and
daylight savings time. This policy is stated below.

When TIMEOFDAY parameters are transported from an EE to HMI they are always
assumed to be in UTC modulo 24 hours. User algorithms must publish
TIMEOFDAY parameters in UTC modulo 24 hours and not in local time.

When HMI receives TIMEOFDAY parameters from an EE and displays them, they
are converted from UTC modulo 24 hours to local time. The conversion takes into
account whether daylight savings time is currently in effect.

When HMI receives user input of TIMEOFDAY parameters it is assumed that they
have been supplied as values consistent with the local time zone and with any
seasonal daylight savings adjustment currently in effect. They are converted to UTC
modulo 24 hours before transport to any EE or user algorithm.

DELTATIME
Whenever a user algorithm manipulates CDPs of type DELTATIME, the algorithm is
implemented as a CAB program or as an SCM or calculator expression, behavior of the
datum is simple and intuitive with respect to HMI.

132

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".

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

5. Time Support in Experion LX System


5.4. Examples of Time Usage in CAB and SCM

5.4

Examples of Time Usage in CAB and SCM


Example - Custom Algorithm Block (CAB) writes Time CDP
The CAB VB.NET program uses variable Current Time to capture the current time in the
local time zone, uses variable NextCalcHour to hold the next hour when shift
calculations are due, and publishes the last time of calculation in a Custom Defined
Parameter (CDP) called LASTRUNTIME. CurrentTime is used as a local time variable
internally. LASTRUNTIME must be published as UTC.
To create a CAB to do shift calculations at the end of every 8 hour shift:
Step

Action

Create a CDP called LASTRUNTIME.

Code the CAB's VB.NET program as

Dim NextCalcHour As Integer


Dim CurrentTime As DateTime
Dim CurrentHour As Integer
CurrentTime = Now
CurrentHour = CurrentTime.TimeOfDay.Hours
If CurrentHour = NextCalcHour Then
NextCalcHour = (CurrentHour + 8) Mod 24
LASTRUNTIME.Value = CurrentTime.ToUniversalTime
DoShiftCalculations()
End If

Example - Custom Algorithm Block (CAB) reads Time CDP


The CAB VB.NET program uses a Custom Defined Parameter (CDP) called
CAPTURETIME specified by the operator in local time.
To create a CAB to capture data at an operator specified time.
Step
1

Action
Code the CAB's VB.NET program with:

If DateTime.UtcNow = CAPTURETIME.Value
DoCapture();
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

133

5. Time Support in Experion LX System


5.4. Examples of Time Usage in CAB and SCM

Step

Action

End If
(The statement If DateTime.Now = CAPTURETIME.Value does not
work because until the CAB receives the value of CAPTURETIME it is in
UTC, not local time.)

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:
Step

Action

Setup Custom Data Block (CDB) located within a Control Module. Name the
Custom Data Block CDB2.

Locate CDB2 in a control module called CM2. The SCM uses CDB2 within
CM2 as a data repository.

CM2.CDB2 has a parameter called STARTTIME of type TIME. The operator


specifies STARTTIME.

The SCM's transition waits until the specified time before advancing. The
transition condition expression reads: UTCNOW = CM2.CDB2.STARTTIME
UTCNOW is the valid time parameter to use in this instance. UTC (Universal
Coordinated Time) is stored raw time with no time zone and no daylight
savings time adjustments. UTC is converted to local time when shown to the
user and then includes time zone and daylight savings time adjustments.
(The transition condition expression NOW = CM2.CDB2.STARTTIME does
not work even though the operator enters values for STARTTIME according
to the local time zone.)

Example - Sequence Control Module (SCM) records Time of


process command
To record the time at which an important process command is issued:
Step
1

134

Action
Create a Custom Data Block (CDB) called CDB1 in a Control Module called
CM1.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

5. Time Support in Experion LX System


5.4. Examples of Time Usage in CAB and SCM

Step

Action

Create a parameter of type TIME in CM1.CDB1 called CMDISSUETIME.

To capture the time the command was issued and save it in a proper format,
SCM1.STEP1 uses the output expression:
CM1.CDB1.CMDISSUETIME := UTCNOW
UTCNOW is the valid time parameter to use in this instance. UTC (Universal
Coordinated Time) is stored raw time with no time zone and no daylight
savings time adjustments. UTC is converted to local time when shown to the
user and then includes time zone and daylight savings time adjustments.
(The output expression CM1.CDB1.CMDISSUETIME := NOW is incorrect
because the display does not use the value of CMDISSUETIME according to
the local time zone.)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

135

5. Time Support in Experion LX System


5.4. Examples of Time Usage in CAB and SCM

136

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.1

Overview
CEE Initial Startup
The initial startup occurs when a CEE is started by initial load of its parent controller /
device block. In this situation, the CEE starts out empty of algorithm blocks and is
basically inert. Cold and Warm Restart functionality is irrelevant to the start of a CEE
empty of algorithm blocks.

CEE Restarts
The two types of restarts are:

Cold Restart initiated on transition of CEESTATE from idle to run occurs

After the CEEC300 is created and the initial configuration is loaded.

After restore of a checkpoint so that the CEE database is neither null nor newly
loaded from CB. In this case, a careful policy must be followed so that the data
is preserved and reinitialized.

The policy followed by cold restart assumes that much of the state data is stale. Any live
data which can be derived directly from the process is wiped out and much of the
operational data which was captured in the saved checkpoint is reinitialized. All
configuration data is saved across cold restart.
A typical example of operational data which is lost is the mode of a primary RegCtl
block connected to a direct analog output. In cases of CEE-to-CEE regulatory cascades
the mode is shed to manual upon cold restart.

Warm Restart is initiated on transition of CEESTATE from idle to run and its most
important application occurs after restore of a checkpoint. Warm Restart differs
from Cold Restart in the policy it applies in choosing data to preserve and data to
reinitialize. Warm restart preserves all data that cold restart preserves but preserves
additional operational data as well.

A typical example of operational data which is preserved is the mode of a primary


RegCtl block connected to a direct analog output. In cases of CEE-to-CEE regulatory
cascades this mode is retained across warm restart.
CEE can be commanded to go to run from idle through a warm start transition even
when there has been no checkpoint restore. For example, if a user loads an entire CEE
through configuration load he will normally go to run with a cold start command but
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

137

6. Cold and Warm Restart Functionality


6.1. Overview

nothing prevents him from commanding warm start. In regulatory cascades MODE
values loaded as configuration data is retained across warm restart even if the cascade
terminates on a direct analog output.

CEE Restart Behaviors


All CEE blocks perform some kind of initialization in response to a restart condition.
Most blocks do the same kind of initialization regardless of whether the restart is warm
or cold. For blocks that vary behavior based on restart the categories of functionality
involved are:

138

Mode shed of regulatory cascades


Depending on the restart type and on the nature of the cascade configuration,
cascades either shed to manual or hold last mode. The behavior that occurs depends
on whether the type of cascade is CEE-to-Legacy or CEE-to-CEE, upon the type of
block that is in the role of secondary, upon the type of node undergoing restart, and
other factors.

Resumption of sequences
Depending on the particular sequence application it may be appropriate for an SCM
to remain inert awaiting operator command before it resumes execution. On the
other, in some special applications, it may be appropriate that an SCM restart
automatically. SCM supports a range of restart behaviors subject to configuration
options.

Resumption of totalizers
Within CEE totalizers always remain stopped after cold restart but can automatically
resume totalizing after warm restart. The warm restart behavior is configurable and
is coupled with the selection of bad input behavior.

Restart signals
In some cases it may be necessary for an application engineer to cause his control
strategy to go through a special initialization in response to restart. To enable this,
parameters are supported which allow SCM expressions or CM component blocks to
detect that a restart has just occurred and the kind of restart it is.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.2. Planning

6.2

Planning
Invariant or Variant Restart Behaviors
CEE blocks can be broadly divided into two categories with respect to how they behave
on restart.

Blocks which perform the same start up initialization regardless of the type of restart
in progress.

Blocks which perform different start up initializations depending on whether a cold


or warm restart occurs.

The following broad principles generally apply to all blocks regardless of whether they
change behavior in response to cold or warm restart.

PV handling on warm and cold restart


PV handling does not change in response to the selection of warm or cold restart
unless otherwise noted (TOTALIZER is the only exception). Upon restore of a
checkpoint PVs are initialized to their fail safe values (NaN in the case of floating
point PVs). For PV algorithms which involve historical computation state (filters,
delays, and so on) all history is re-initialized.

Alarm handling on warm and cold restart


When a node other than that which issued the alarm is restarted, alarm timestamps
are preserved. However, when a CEE is restarted, any alarms reported by the nodes
themselves acquire the time stamp that goes with the time of restart. The timestamp
of original report is not retained. This applies regardless of whether the restart is
warm or cold.

Blocks with Invariant Restart Behavior


While behavior varies according to block type most CEE blocks execute the same kind
of restart and initialization regardless of whether the start up is warm or cold. These
behaviors conform to a few general principles.

Data storage parameters and data storage blocks: hold on all restarts
There is a category of parameters whose purpose is to serve as data storage. For
these parameters there is no built-in algorithm implemented by the block underneath,
neither t the parameter value is read and processed by the algorithm, nor the value is
written by the algorithm. Instead, the parameter serves to hold data which can be
read or written by applications created by the end user. In some cases, there are
blocks (simple blocks) whose purpose is to establish the above mentioned

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

139

6. Cold and Warm Restart Functionality


6.2. Planning

parameter. In other cases, parameters like this are implemented along with many
others within a block.
Examples of data storage parameters and their blocks are as follows: PV and PVFL
parameters on FLAG block; PV parameter on NUMERICARRAY block;
RECTARGET[ ] parameter on the SCM module; all parameters of Custom Data
Block (CDB) types created by end users.
For data of this kind the restart behavior is simply that the value is held. That is, if
the value was restored by checkpoint restore then it is held across restart.

Logic gates: hold on all restarts


Logic gate inputs and outputs are held for any type of CEE restart. This is consistent
with the Inactivation and Activation behavior of an individual Control Module. The
inputs and outputs are held to allow certain configuration changes without affecting
other strategies that may reference gate outputs. Note that this implies a logic gate
contained in a Control Module that is not executing has its output held at the value
calculated at the last time it did execute, or at an initialized value after load. Careful
consideration is 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 are 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 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

140

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.2. Planning

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 is restored as TRUE. If connected to an RTRIG's IN, the RTRIG
generates 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.
Special Case Blocks with Invariant Restarts
#

Library

Block Type

Summary Description

DEVCTL

DEVCTL

Initialization behavior is the same regardless of


restart type.
Supports different initialization behaviors based on
input mapping, output mapping and other
configuration.

REGCTL

RAMPSOAK

Different from other RegCtl blocks in that behavior is


the same for all restarts.
Behavior is: set MODE to manual; set CV to NaN;
reset internal timers; set current profile identifier to
first; set current segment identifier to first; set
RESETTIMER to On; apply STARTOP[ ] value at
next Man to Auto transition.
Behavior is always safe because it forces the

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

141

6. Cold and Warm Restart Functionality


6.2. Planning

Library

Block Type

Summary Description
ramping action to stop and await intervention by the
operator.

UTILITY

TIMER

Continues timing in response to any restart. Output


parameters which indicate state are held.
The PV parameter, which gives time accumulated
since start, continues to increment from its
previously retained value.

<Custom
Libraries
Created By
End Users>

Custom
Algorithm Block
Types (CAB
Types)

CEE and CAB infrastructure leave values of all


custom parameters unchanged across all restarts.
User-implemented CAB algorithms may detect
restarts and either modify or leave unchanged the
values of custom parameters.

Blocks with Variant Restart Behavior


Within CEE there are several block types whose behavior is impacted by restart
handling. The following is a list of these block types with a summary description of their
behavior, categorized by Control Builder library.
#

Library

Block Type

Summary Description

SYSTEM

CEEC300

Reports notifications which record fact of


warm or cold restart in event journal when
idle to run transition occurs.

SYSTEM

CONTROLMODULE

Forwards selected restart commands (warm


restart or cold restart) to component basic
blocks.
Supports option parameter which allows
selection of whether the
CONTROLMODULE should follow CEE,
always restart cold or always restart warm
upon idle to run transition.

SYSTEM

SCM

Supports option parameter which allows


selection of whether the SCM should follow
CEE, always restart cold or always restart
warm upon idle to run transition.
Supports a set of additional parameters
which allow application engineers to control
how an SCM resumes execution upon
restart.
Supports signal parameter which tells type of

142

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.2. Planning

Library

Block Type

Summary Description
restart executed.

SCM

STEP

Holds instruction state information which is


held or reset based on selection of cold or
warm restart and on SCM configuration.

AUXILIARY

TOTALIZER

Same as above.

AUXILIARY

SIGNALSEL

On a Warm restart, Cold restart or when this


FB is inactivated the following parameters
are initialized
P(1) through P(6) values are set to NaN.
PSTS(1) through PSTS(6) are set to
BadValSts.

REGCTL

AUTOMAN

Either holds last mode or sheds to manual


based upon whether warm or cold restart is
selected and upon the nature of the cascade
relationship.

REGCTL

ENHREGCALC

Same as above.

REGCTL

FANOUT

Same as above.

REGCTL

OVRDSEL

Same as above.

REGCTL

PID

Same as above.

REGCTL

PIDEXTRFB

Same as above.

REGCTL

PIDFF

Same as above.

REGCTL

PID-PL

Either holds last mode or sheds to manual


based upon whether warm or cold restart is
selected and upon the nature of the cascade
relationship.

REGCTL

POSPROP

Either holds last mode or sheds to manual


based upon whether warm or cold restart is
selected and upon the nature of the cascade
relationship.

REGCTL

PULSECOUNT

Same as above.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

143

6. Cold and Warm Restart Functionality


6.2. Planning

Library

Block Type

Summary Description

REGCTL

PULSELENGTH

Same as above.

REGCTL

RATIOBIAS

Either holds last mode or sheds to manual


based upon whether warm or cold restart is
selected and upon the nature of the cascade
relationship.

REGCTL

RATIOCTL

Same as above.

REGCTL

REMCAS

Same as above.

REGCTL

REGCALC

Same as above.

REGCTL

REGSUMMER

Same as above

REGCTL

SWITCH

Same as above.

LOGIC

STARTSIGNAL

Provides parameters which can optionally be


used within CONTROLMODULE
configurations to trigger initializations in
response to restart events.

144

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

6.3

Configuration of Restart Behaviors


Restart behaviors vary depending on the type of block and the cascade control design.
To view the specific configurations relating to restart behavior,
Topic

For more information

CEE Block

Click here

Control Module (CM)

Click here

Control Module Function Blocks

Click here

Sequential Control Module (SCM)

Click here

Regulatory Cascades

Click here

Regulatory Control Blocks

Click here

Logic Block

Click here

CEE Block
The CEE function block does nothing that distinguishes warm restart from cold restart
except for notification reporting. Its behavior with respect to notification reporting is as
follows.

On Warm restart, the CEEC300 reports idle to run state change event occurred with
a warm restart.

On Cold restart, the CEEC300 reports idle to run state change event occurred with a
cold restart.

Control Module (CM)


Control modules do not have functionality modified by selection of warm or cold restart
but the behavior of blocks contained within the control module can be impacted. Control
Modules therefore have a configuration parameter CEESTARTOPT which optionally
allows the application designer to override the warm or cold selection made by an
operator at runtime.
CM Parameter
CEESTARTOPT

Configuration Options
ALWAYSCOLD (default)

For this configuration parent control modules instruct their


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

145

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

CM Parameter
(Access Lock =
ENGR)

Configuration Options
component blocks to do a cold restart regardless of which
restart option has been selected for the CEE as a whole.
ALWAYSWARM

For this configuration parent control modules instruct their


component blocks to do a warm restart regardless of which
restart option has been selected for the CEE as a whole.
FOLLOWCEE

For this configuration parent control modules instruct their


component blocks to initialize according to whichever type of
restart the operator has selected for the CEE as a whole:
cold or warm.

Control Module Function Blocks


Block
StartSignal

For more information


Click here

Logic Blocks
Startsignal
STARTSIGNAL is a Logic function block supported to aid in the handling of restarts
within Control Modules. It may be optionally used within any Control Module to give
the designer better control over how the module initializes in response to events such as
cold or warm restart. STARTSIGNAL is useful in logic gate configurations which hold
state.
Block STARTSIGNAL supports read-only parameters which may be accessed to drive
initialization actions. Each parameter has "pulse" semantics which means that each
parameter normally holds a value which indicates that no initialization is required. When
a transition occurs appropriate parameters acquire an informative value. This value lasts
until the end of the first block execution which follows the transition. After first
execution the parameter is reset to a value which indicates that no restart has occurred
since the last execution. A STARTSIGNAL instance must always be configured so that
its ORDERINCM parameter places its execution after that of any blocks which read its
parameters.
Parameter

146

Description

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

Parameter
RESTART

Description
An enumeration valued summary parameter. Following a
transition, it shows a value different from NONE until the end of
first block execution. For each of the values of RESTART, a
corresponding flag is set. The flag holds true until the restart
state changes. The possible values for RESTART and the
corresponding flags are:
NONE - normally shown.
CMLOAD - Holds CMLOADFL true for the first execution

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.


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 is 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 is True. Parameters
CEECOLDFL and CEESWITCHFL is False. Parameter
RESTART has the value CMLOAD.

Parameter RESTART may be displayed on the symbol faceplate of block RESTART for
monitoring purposes but it nly shows a value other than NONE until first execution.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

147

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

Parameter RESTART may be used to drive initializations within the control module but
in many cases it is more convenient to use one of the associated Boolean-valued flag
parameters.

Sequential Control Module (SCM)


The SCM behavior upon CEE restart can vary according to several types of user
selections. The main user options are as follows:.

Configuration-time selection to either start at top or use a retained location indicator


when CEE restarts.

Run-time selection of warm or cold restart and resultant impact on SCM MODE

SCM supports parameters which allow the engineer to encode a variety of


behaviors with respect to the SCMs internal location counter. The SCM can be
set up to always restart within the Main handler with location counter set to top.
It can be set up to resume execution from the last step or transition within the
Main handler. It can be set up to explicitly assign a restart location somewhere
within the Main handler.

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

CEESTARTOPT for SCM


The SCM supports a CEESTARTOPT parameter which is fully analogous to that of CM
as described in the following table.
SCM Parameter
CEESTARTOPT
(Access Lock =
ENGR)

Configuration Options
ALWAYSCOLD

For this configuration, SCMs execute cold start behavior


regardless of the restart commanded for CEE as a whole.
This means that MODE is changed to Manual. Other
parameters such as MODEATTR and STATE are left
unchanged.
ALWAYSWARM

For this configuration, SCMs execute warm start behavior


148

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

SCM Parameter

Configuration Options
regardless of the restart commanded for CEE as a whole.
This means that the previous MODE is retained. Other
parameters such as MODEATTR and STATE are also left
unchanged.
FOLLOWCEE

For this configuration, SCMs follow the restart commanded


for CEE as a whole.

CEETOPSTART for SCM


The parameters CEETOPSTART, CEERESADDR[ ] and UPDCEERESROPT determine
the location at which an SCM begins execution following a CEE restart. The first two are
SCM parameters while the last is a parameter supported by each SCM STEP.
The CEETOPSTART is a Boolean parameter with an access lock of Engineer and the
values as noted in the following table.
SCM Parameter
CEETOPTSTART
(Access Lock =
ENGR)

Configuration Options
ON

When CEE restarts, the SCM starts executing at the top of


the Check handler unless the operator commands execution
to start at a different handler. The values of CEERESADDR[
] and the various SET.UPDCEERESOPT parameters have
no impact on where the SCM resumes execution. This is the
default value.
OFF

When CEE restarts, the SCM starts executing a the step


within the Main handler that is indicated by the value of
CEERESADDR[ ].

CEERESADDR[ ] for SCM


The CEERESADDR[ ] parameter is an array of BlockIds with an access lock of
Engineer. It acts as a location indicator so that, if CEETOPSTART is OFF, the value it
has at the time of the restart determines where the Main handler of the SCM start s
executing. Each element of the array corresponds to one of the ten possible SCM threads.
Elements of CEERESADDR[ ] start out with the value Null. In some configurations, this
value never changes. If an SCM restarts with CEERESADDR[ ] = Null, then it restarts at

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

149

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

the top of the Check handler unless the operator commands execution to start at a
different handler. This is true even if CEETOPSTART = OFF.
The value of CEERESADDR[ ] can change as the SCM executes. It can either change
automatically, under the action of the STEP.UPDCEERESOPT parameters, or it can
change as a result of explicit store commands issued by SCM expressions. Whatever the
value of CEERESADDR[ ] is at restart, the SCM resumes execution at that step within
the Main handler unless the operator commands execution to start at a different handler.
STEP.UPDCEERESOPT for SCM
The STEP.UPDCEERESOPT is a Boolean parameter with an access lock of Engineer.
The functionality of STEP.UPDCEERESOPT approximately parallels that of
STEP.UPDRESOPT, which is used in connection with Exception handlers. The values
of STEP.UPDCEERESOPT have the following meanings.
Step Parameter
STEP.UPDCEERESOPT
(Access Lock = ENGR)

Configuration Options
ON

If the step is within the Main handler, then on


execution the step it assigns its own name to that
element of CEERESADDR[ ] which corresponds to its
thread of execution. This causes the SCM to restart
at this step should the CEE cease to execute before
the step has completed and if CEETOPSTART is
OFF. If the step is within a handler other than the
Main handler, then UPDCEERESOPT has no impact.
This is the default value.
Note that unlike STEP.UPDRESOPT, there is no
requirement that STEP.UPDCEERESOPT be ON for
the first step of the Main handler. If a CEE restart
occurs with CEETOPSTART OFF and CEERESADD[
] = Null, then execution resumes at the top of the
Check handler.
OFF

The value of CEERESADDR[ ] is not automatically


changed by the SCM. It holds at previous value
unless it is explicitly changed by an SCM expression.

CEERESADDRN[ ]
The CEERESADDR[ ] parameter may be explicitly changed by SCM expressions, but
not through direct assignment to parameter CEERESADDR[ ]. This is because
150

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

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 is as shown in the following example.

SCM1.CEERESADDRN[1] := SCM1.Step2.NUM

Summary Of SCM Restart Behavior


The table below summarizes SCM restart behavior for different cases of
CEETOPSTART configuration and run-time selection of restart type. The table assumes
that CEESTARTOPT = FOLLOWCEE.
If SCM CEETOPSTART
Is . . .

And, CEE Restart Type Is . . .


Cold

Warm

Then, Conditions after restart are as follows:


ON

MODE is set to Manual.

MODE is at previous value.

SCM location counter is set

SCM location counter is set

to top of Check handler.

to top of Check handler.

SCM resumes execution after


the following actions:

SCM resumes execution after


the following actions:

Operator sets MODE to

If last MODE was Auto SCM

Auto.
Operator sets SCM

COMMAND to Reset in
order to start Check handler

resumes without MODE


change.
Operator sets SCM

COMMAND to Reset in
order to start Check handler

or
or
the Check handler starts
automatically if it has been
configured with a non-null
invoke transition.
OFF
R110
February 2014

MODE is set Manual.

the Check handler starts


automatically if it has been
configured with a non-null
invoke transition.
MODE is left at previous

Experion LX Control Builder Components Theory


Honeywell

151

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

If SCM CEETOPSTART
Is . . .

And, CEE Restart Type Is . . .


Cold

Warm

Then, Conditions after restart are as follows:


SCM location counter is set

to the step in Main handler


indicated by
CEERESADDR[].
SCM resumes execution after
the following actions:
Operator sets MODE to

Auto. SCM then continues


execution, re-sending all
outputs of the active step
or

value.
SCM location counter is set

to the step in Main handler


indicated by
CEERESADDR[].
SCM resumes execution after
the following actions:
If last MODE was Auto,

SCM continues execution


automatically, re-sending all
outputs of the active step.

operator sets COMMAND to


a different handler. If
EXCMODEOPT is Auto this
forces MODE to Auto and
starts execution of the SCM.

Supporting SCM Functionalities


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.
If EXCMODEOPT
Value Is . . .

152

Then, Corresponding Cold Restart Behavior Is . . .

None

When the SCM is in Manual MODE, invoke Transitions for


higher priority exception handlers are not evaluated. MODE
does not automatically change to Auto when the SCM is
commanded to execute another handler.

Auto

When the SCM is in Manual MODE, invoke Transitions for


higher priority Exception handlers are evaluated. MODE does
not automatically changed to Auto when the SCM is
commanded to execute another handler or when an invoke
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

If EXCMODEOPT
Value Is . . .

Then, Corresponding Cold Restart Behavior Is . . .


Transition causes execution of another handler. For SCMs with
EXCMODEOPT of Auto, SCMs that are cold started and set to
Manual MODE can subsequently be caused to execute without
explicitly changing MODE to Auto.

Restart And Level 1 Devices


The configuration chosen for parameters CEESTARTOPT and CEETOPSTART,
together with the selection made for cold or warm restart at run time, can have an impact
on any level 1 devices under control of the SCM. Depending upon the abnormal state
options and upon parameter MODETRACK, level 1 devices may change outputs or
MODEATTR in response to SCM STATE or MODE changes.
Restart Signal Parameter
SCM supports a parameter named RESTART, which is directly analogous to the
RESTART parameter supported on the previously described Logic block
STARTSIGNAL. While "CM.STARTSIGNAL.RESTART" allows CM configurations
to be customized so that they respond to start-up transitions in different ways,
"SCM.RESTART" allows SCM expressions to be written so that they can handle start-up
transitions in different ways.
The SCM RESTART has pulse semantics. The manner in which RESTART is reset to
NONE after initial execution is as follows.

If a Check handler is the first handler executed after SCM restart, then parameter
RESTART is set to NONE after the Check handler finishes. Under this scenario, the
value of parameter RESTART is read within the Check handler.

If a handler other than the Check handler is the first to execute after SCM restart,
then parameter RESTART is set to NONE after the first execution cycle of the
SCM. Under this scenario, the value of parameter RESTART is read in Interrupt,
Hold, Stop or Abort handlers as appropriate to the planned configuration and usage.

The following table lists the possible values of the parameter RESTART.
If RESTART Value
Is . . .
NONE

R110
February 2014

Then, . . .
There has been no restart transition since the last execution of
the SCM/RCM.

Experion LX Control Builder Components Theory


Honeywell

153

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

If RESTART Value
Is . . .

Then, . . .

CMLOAD

The SCM/RCM has been loaded since its last execution. This
value also applies the very first time an SCM/RCM is executed.

CMACTIVE

The SCM/RCM has been stopped and reset since its last
execution.

CEECOLD

The CEE containing the SCM/RCM has moved through a cold


restart since the last execution of the SCM/RCM.

CEEWARM

The CEE containing the SCM/RCM has moved through a


warm restart since the last execution of the SCM/RCM.

CEESWITCH

The controller hosting the CEE which contains the SCM/RCM


has moved through a redundancy switchover since the last
execution of the SCM/RCM.

There is an implicit priority to the values of RESTART, which insure that the condition
requiring the strongest initialization can always be seen. This allows SCM expressions to
be written so that they may always do the strongest initialization necessary. The priority
is as follows:

CMLOAD > CMACTIVE > CEECOLD > CEEWARM > CEESWITCH > NONE

SCM Blocks
SCM:STEP
SCM functions as an integrated whole with all component objects (handlers, transitions
and steps) behaving in consistent fashion. Of the various SCM components, only the
STEP has state which must be handled differently depending on whether the restart is
warm or cold. All STEP data is initialized appropriately based on the restart transition
and configuration options of the parent SCM. Specific functionalities of STEP are
described in the preceding Sequential Control Module (SCM) section.

Warm and Cold Restart Behaviors of Cascades


Definitions:
Restart Behaviors of
Regulatory Cascades
154

For more information


Click here

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

Restart Behaviors of

For more information

CEE to CEE Cascades

Click here

CEE to Legacy Cascade


when Node hosting Primary
is restarted

Click here

CEE to Legacy Cascade


when Node hosting
Secondary is restarted

Click here

RegCtl Cascades when


Node hosting the Primary is
restarted

Click here

Regulatory Cascades
CEE regulatory control (RegCtl) blocks can be organized in cascade relationships with
other RegCtl blocks and with non-RegCtl blocks. The cascades can be confined to a
single Execution Environment (EE) or they can extend beyond a single EE. In the
context of restart, cascade behavior generally falls into two broad categories.
a)

Resume automatic control without human intervention if automatic control was operative
before shut down.
b)

Do not resume automatic control until there has been some form of
acknowledgement from a human operator.

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

In all cases for all restart types and all topologies, CEE restarts eventually result in full
initialization of internal dynamics of RegCtl blocks. The general behavior is that the
output (OP) is initialized to match the downstream output value and the internal states of
difference equations are set to zero. Set Point (SP) is either initialized to track PV or is
held unchanged. Whether SP tracks PV or is preserved depends upon the setting of
parameters PVTRAKOPT and PVTRAKOPTAI.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

155

6. Cold and Warm Restart Functionality


6.3. Configuration of Restart Behaviors

CEE to CEE Cascades


When the node hosting the primary goes through a restart, the behaviors are the same
regardless of whether primary and secondary are in the same node or in peer nodes. In
the following two behaviors, assume that the database at the primary is reloaded through
checkpoint restore and that the mode of the primary RegCtl is restored along with
checkpoint.

When configured with Recall Primary Mode


The primary mode is retained across restart transition and the primary RegCtl goes
through complete initialization and resumes control as consistent with its mode.

When configured with Shed Primary Mode


The primary mode is overwritten to manual upon restart transition and the primary
RegCtl awaits mode change from operator before initializing and resuming
automatic control.

When the node presenting the secondary rather than the node hosting the primary goes
through a restart and the primary and secondary are in separate nodes, the CEE-to-CEE
cascades have two additional behaviors. These behaviors are the same regardless of
whether the fault detected at the primary results from shutdown of the node hosting the
secondary or from interruption of communication. When a CEE Controller is
SHUTDOWN, Control Data Access (CDA) communication is lost between nodes or
peers. Putting a CEE Controller in IDLE, does not cause communication loss. If primary
CEE is IDLE, you can initiate a ColdStart without SHUTDOWN.

When configured with Hold Primary Mode across Secondary Fault


The mode of the secondary RegCtl block is either recalled or shed to manual based
on the type of start up and on role of the secondary as primary to a subsequent
secondary. The primary RegCtl block holds its mode across fault and recovery of
secondary. The primary initializes and resumes control action as appropriate to
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:

156

When the secondary is in Manual or Auto mode, at the conclusion of primary


recovery, the primary is 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 is shed to Manual.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.4. Operations

When the primary recovers and the communication is not restored to


downstream secondary, eventually the primary detects communication failure
and sheds 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.

CEE to Legacy Cascade when Node hosting Primary is restarted


The database at primary is reloaded through checkpoint restore and the Mode of the
primary RegCtl block is restored along with checkpoint. CEE-to-Legacy cascades have
2 behaviors when the node hosting the primary goes through a restart.

When configured for Honor Secondary Cascade Request


The primary mode is retained across restart transition. At start of execution the
primary RegCtl honors any outstanding cascade requests at downstream secondaries.
The primary RegCtl block moves through complete initialization and resumes
control as consistent with its mode.

When configured for Clear Secondary Cascade Request


At start of execution the primary RegCtl turns off any outstanding cascade requests
at downstream secondaries and leaves the primary Mode unchanged. The primary
RegCtl awaits command from operator before initializing and resuming automatic
control.

RegCtl Cascades when Node hosting the Primary is restarted


Regulatory Control blocks AUTOMAN, FANOUT, OVRDSEL, PID, PIDEXTRFB,
PIDFF, PID-PL, POSPROP, PULSECOUNT, PULSELENGTH, RATIOCTL,
REGCALC, REGSUMMER, REMCAS, SUMMER, and SWITCH behave as follows:
Type of Cascade

Type of Restart

CEE to CEE

Cold

When the secondary is a regulatory control block, mode


is preserved. When the secondary is a direct analog
output, mode is overwritten to manual.

Warm

Mode is preserved regardless of the type of downstream


secondary.

Cold

Mode is preserved for all cascades. Outstanding


cascade requests at downstream secondaries are reset.

CEE-to-Legacy

R110
February 2014

Behavior

Experion LX Control Builder Components Theory


Honeywell

157

6. Cold and Warm Restart Functionality


6.4. Operations

Type of Cascade

Type of Restart
Warm

6.4

Behavior
Mode is preserved for all cascades. Outstanding
cascade requests at downstream secondaries are
honored.

Operations
Across Experion LX there are several different kinds of subsystems which respond to
"activation" or "start up" commands. Though similar, the manner in which these
subsystems respond is not equivalent in all cases. The table below illustrates the
differences.

Subsystem

Supports
Activation

Supports Warm
Start Idle to Run
Transition

Supports Cold
Start Idle to Run
Transition

Supports Generic
Idle to Run
Transition

CM

Yes

No

No

No

IOM

Yes

No

No

No

CEE

No

Yes

Yes

No

Because of the different types of startup transitions supported across different Experion
LX subsystems, the HMI which issues startup commands includes Restart functionality.
The following principles apply:

"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

CEE Function Block


CEE Function Block represents an Execution Environment (EE). To change the
CEECOMMAND:

158

Step

Action

Open the CEE function block form either directly from Control Builder project
or monitor.

Choose the command from the CEE Command drop down menu. Drop down
menu choices are: None, Idle, WarmStart, and ColdStart.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

6. Cold and Warm Restart Functionality


6.4. Operations

Step
3

R110
February 2014

Action
To accomplish an Idle to Run transition, choose WarmStart or ColdStart.
Commanding None has no effect.

Experion LX Control Builder Components Theory


Honeywell

159

6. Cold and Warm Restart Functionality


6.4. Operations

160

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

7. External OPC Server Support


7.1

OPC Data Access


OPC Server function block
The Control Builder application includes a function block that represents an external
OPC server.
Users specify the communications path to the OPC server through the blocks
configuration form. This data is stored in the System Repository when the block is
loaded.

7.2

OPC Data References


OPC Data Name Syntax
Use the following naming syntax to identify the data of interest in the OPC server.
<OPC server function block name>.<OPC server data specific name>
For example, you configure an OPC server block in Control Builder with the name
OPC1 and you want to access data named InterlockA.Active in the configured OPC
server. The correct reference to this data is formatted as follows:
OPC1.InterlockA.Active

Parameter connectors only


Since an OPC server block cannot be contained in a Control Module (CM), you must use
parameter connectors to route OPC server data elements to applicable block connections
in the control strategy.

OPC references in expressions


You configure OPC data references in SCM Step Output, SCM Transition, AUXCALC
block, or REGCALC block the same as other system parameters using the valid naming
syntax for the OPC data elements. The following figure displays a SCM Step Output
expression used to read the "Count.PV" data from an OPC server named OPC2, add 1.0
to the read value, and store the new value to the Count.PV data in OPC2.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

161

7. External OPC Server Support


7.2. OPC Data References

OPC references in SCM Alias table


Use the following guidelines to configure OPC data references in the Aliases table for a
SCM block.

Choose the OPC server block as the Model Block for the given Alias.

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 EXTREF parameter, the instance references can be
references to either OPC server data or FLOAT64 type system Server data.

For an Alias with the EXTRETSTRUCT parameter, the instance references can
be references to either the OPC server data or EXTREF_STRUCT type system
Server data.

The following figure shows a sample reference to OPC server data in a SCM Aliases
table. The first alias is for an OPC server block with an EXTREF parameter for an
Instance 1 data reference from an OPC server named OPC46. The second alias is for a
Numeric block with a PV parameter for an Instance 1 data reference from a Numeric
block named n1 in a Control Module named cm42.

162

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

7. External OPC Server Support


7.2. OPC Data References

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

163

8. Control Mode Shed on Loss of I/O Functionality


8.1

Basic Control Mode Shed Design Concepts


About Control Mode shed on loss of I/O
If your control strategy includes cascaded loops, the ultimate secondary Regulatory
Control type blocks sheds their Control Mode to Manual (MAN) on the loss of I/O
communications. This is in addition to going into initialization. The ultimate secondary
block must be connected directly to an Analog Output Channel or a Pulse Width
Modulator Channel block, so it can detect when communications fail with the Analog
Output Module or Digital Output Module with a PWM Channel block.
This functionality applies to the family of Experion LX system I/O modules.

How it works
Any condition that breaks the communication path between the physical I/O module and
the I/O function block initiates a control mode shed. The most common causes of loss
communications are as follows:

Loss of communication on the I/O link.

Failure of the I/O processor.

The diagnostic failure of an individual slot. Only applicable for slot status conditions
that truly indicate a broken output path. For example, a "Communication error"
indicating a failure in communication to the IOM or an individual hardware failure
on a slot. This means that a "Bad calibration" error does not initiate a shed (or back
initialization for that matter), since it does break the output path.
ATTENTION
These common actions do not break the communications path or initiate a
control mode shed:

R110
February 2014

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.

Experion LX Control Builder Components Theory


Honeywell

165

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

8.2

Option to specify a time delay for the REGCTL blocks


to shed the mode
You can specify a time delay for the regulatory control blocks to shed the control mode
in the event of an IO communication loss. 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.
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.

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:

166

Enable When this parameter is enabled, you can specify the time delay for the
regulatory control blocks to shed their mode.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the 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).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

167

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

Description of values for Bad Output Connection Option


The available values for BADOCOPT are NaN, 0, and 1 to 60 seconds.
Value
Nan

What happens when an IO


communication loss occurs?
No mode shed happens.
Only the initialization request for the
block is set and the upstream blocks
are initialized.

168

Mode sheds to MANual immediately.


The mode attribute changes to
Operator and an initialization request
is set. When an initialization request

Restore Conditions
After the IO communication is restored, the
initialization request is reset.

After the IO communication is restored, the


initialization request is reset. You must revert
the mode setting manually.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

Value

What happens when an IO


communication loss occurs?

Restore Conditions

is set, the upstream blocks are


initialized and the control freezes.
1 - 60

Mode sheds to MANual and the mode


attribute changes to Operator based
on the following conditions:
When the BADOCOPT value is less
than its associated Control Modules
execution period, the mode shedding
occurs after a time delay of one CM
Period. For example, if the Control
Modules execution period is 5 secs
and the BADOCOPT value is 1 sec
then the mode shed to MANual
happens after 5 seconds. (1 block
execution cycle)

After the IO communication is restored, the


initialization request is reset and you must
revert the mode setting manually. However, if
the IO communication is restored within the
specified time delay, there is no need to revert
the mode setting.

When the BADOCOPT value is


greater than its associated Control
Modules execution period, the mode
shedding occurs as follows:

R110
February 2014

If the BADOCOPT value is


directly divisible by the CM
Period, the mode shedding
occurs after a time delay of
(BADCOPT/ Control Module
Execution Period) seconds.
For example, if the
BADOCOPT value is 10 secs
and if its associated Control
Modules period is 1 sec then
the mode shed to MANual
happens after 10 seconds.
(10/1=10 block execution
cycles)

If the BADOCOPT value is


not exactly divisible by the
CM Period, the mode
shedding occurs after a time
delay of a rounded-off value
available by dividing
BADOCOPT by the CM
Experion LX Control Builder Components Theory
Honeywell

169

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

Value

What happens when an IO


communication loss occurs?

Restore Conditions

Period. For example, if the


BADOCOPT value is 15 secs
and the Control Modules
period is 10 secs then the
mode shed happens after 20
seconds. (15/10= 1.5
rounded off to 2 block
execution cycle, that is, 20
seconds)
After an initialization request is set, the
upstream blocks are initialized and the
control freezes.

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.

Considerations for setting the BADOCOPT value


Before changing the value of BADOCOPT to a value in the range of 0 to 60 secs, you
can set proper alarm attributes in the UNCMDCHGALM parameter, if required. When
this parameter is enabled, it notifies an alarm in the alarm summary, whenever a mode
shed happens in the event of an IO communication loss. This alarm returns to normal,
after you revert to the mode setting manually.
Also, before changing the value of BADOCOPT to NaN, you must set proper alarms and
messages to indicate that the block has transitioned into initialization state without
changing its mode to MANual after an IO communication loss.

Applicability of BADOCOPT parameter for FANOUT blocks


The BADOCOPT parameter is applicable to the FANOUT block under the following
circumstances.
170

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

All the outputs connected to the block have lost communications with the IO.
However, if even one of the outputs resumes communication with the IO, the
initialization of the block happens.

All the outputs are connected to an AO and all the secondaries connected to the
block have lost communications with IO. However, if one of the outputs resumes
communication with IO, re-initialization of the block is requested.

For a Fanout block with mixed OP connections to the AO and the regulatory blocks,
the BADOCOPT parameter is applicable when the following conditions exists.

All the outputs connected to the block are not communicating with their
secondaries.

All the secondaries are requesting the block to initialize.

However, if the last output connected to an AO channel loses communication with the
IO, the block sheds mode based on the option configured in the BADOCOPT.

Simulation support for the BADOCOPT parameter


The BADOCOPT parameter is supported in the simulation version of the SIM-C300
controllers. In a simulation controller, the IO communication loss is simulated in the
following scenarios.

The output channel is in a Control Module different than the primary regulatory
block.

The Control Module containing the output channel is deleted.

Note that inactivation or deletion of the associated IO module does not cause a mode
shed but sets the INITMAN of the primary to ON.
For more information on the scenarios that result in IO communication loss, refer to the
Basic Control Mode Shed Design Concepts section.

Impact of BADOCOPT parameter on regulatory control


functionalities
The regulatory control functionalities such as Windup processing, Alarming, Override
initialization, Override Control, and Timeout processing are not impacted by this
parameter. It is connected and the CM containing the AO channel is inactivated and
deleted. The ModeShed behavior in this scenarios, is based on the BADOCOPT value
chosen.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

171

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

Effects of BADOCOPT value on delay timer in various


scenarios
BADOCOPT
Value
Between 0
60 secs

Scenario

Result

You change the BADOCOPT


value to a value between 0 60
while the delay timer is running.

Change comes into effect only when


the timer is terminated after the period
is over or the communication is
restored.

NaN

You change the BADOCOPT


value to NaN while the delay timer
is running.

Change comes into effect immediately.


Mode does not shed to MANual. Timer
is reset.

Between 1
60 secs

You change the mode to a nonMANual mode after the block has
shed to MANual after the specified
time delay or

Mode sheds to MANual, even if the


specified time delay is not expired.
However, if the communication error is
restored and restarted, the mode
sheds to MANual after the specified
time delay is expired.

You set the mode to MANual


before the delay time expires and
then change the mode to a nonMANual mode.
Between 1
60 secs

You set the CEE to Idle or make


the Control Module containing the
regulatory block inactive.

Timer value is reset. The timer is


restarted after the CEE is started,
Control Module is active and the IO
communication loss continues to exist.

Between 1
60 secs

You perform a Checkpoint Save


operation.

Checkpoint Save does not store the


active delay timer value. When the
checkpoint data is restored, the
BADOCOPT parameter option is
restored but the delay timer value is
not restored but reset. If the IO
communication is not restored at this
point, this is considered a new
instance and the delay timer is
restarted.

Between 1
60 secs

You perform a RAM Retention


Restart.

RAM Retention Restart does not


restore the active timer value but it is
reset.

172

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

Auxiliary memory usage for the parameters


The parameters BADOCOPT, UNCMDCHGLM.OPT, UNCMDCHGLM.PR,
UNCMDCHGLM.SV, and UNCMDCHGLM.FL are placed in the auxiliary memory.
Auxiliary memory for these parameters is allocated only when the BADOCOPTENB
parameter is enabled.

Detail Displays
The Bad Output Connection Option (BADOCOPT) and UnCommanded Mode Change
(UNCMDCHGALM) parameters appear in the Station detail displays only if the
BADOCOPTENB parameter is enabled in the Main configuration form of the regulatory
control blocks.
The BADOCOPT and the UNCMDCHGALM parameters appear in the following details
displays of the regulatory control blocks.

SysDtlRegctla.htm

sysdtlpida.htm

sysdtlpide.htm

sysdtlpidpla.htm

sysdtlpidplf.htm

sysdtlpidplaltf.htm

sysdtlpidplalta.htm

sysdtlrampa.htm

sysdtlrampd.htm

The following figure displays the detail display of the Main tab of a regulatory control
block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

173

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

The following figure displays the detail display of the Alarms tab of a regulatory control
block.

174

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

8. Control Mode Shed on Loss of I/O Functionality


8.2. Option to specify a time delay for the REGCTL blocks to shed the mode

For more information on the detail displays, refer to the following:

HMIWeb Display Building Guide

Operators Guide

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

175

8. Control Mode Shed on Loss of I/O Functionality


8.3. Implications for Operation

8.3

Implications for Operation


Resetting mode after I/O communications are restored.
When I/O communications are restored, the operator must manually reset the secondary
regulatory block's control mode back to AUTO (Automatic) or CAS (Cascade) from
MAN.

Allowing Redundancy synchronization with lost I/O


communications
The Control Mode shed on loss of I/O function allows redundant Controllers to
synchronize in the presence of lost I/O communications.
The Secondary controller is allowed to synchronize with good I/O communications and
an automatic switchover occurs making the Secondary the Primary again. The PID
blocks in this Primary Controller's matching Control Strategy will now be in MANual
mode. Hence, an operator would have to manually reset any secondary regulatory blocks
that have shed to MAN mode back to AUTO or CAS mode.

8.4

Remote Cascade function between Controllers


The REMCAS (Remote Cascade) block provides automatic switching between a remote
and backup cascade. This block is typically used with a PID block that normally gets its
set point from a remote source, but sheds to a local source if there is a communications
failure.
Note that when using a cascade control strategy between two controllers, you do not
need to use the REMCAS block but switching to a backup primary is not supported. The
Regulatory Control (REGCTL) blocks in Experion LX do not contain the remote cascade
function so the REMCAS block must be included in the control strategy to provide the
function.
See the following links for more detailed information about the REMCAS block and its
usage.

176

REMCAS Block

Peer-to-peer configuration example

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

9. Control Builder Export and Import Functionality


9.1

Basic Export/Import Design Concepts


About Control Builder Export and Import functions
Control Builder includes Export and Import functions that are accessible through its File
drop-down menu. These functions provide a dynamic copy and paste type functionality
for the Engineering Repository Database (ERDB), which contains the control strategy
that was configured through Control Builder.

Export functionality
It may help to think of the Export function as a dynamic copy operation for the ERDB
being accessed through Control Builder. This function lets you export a portion of the
ERDB or the whole ERDB as viewed through the Project Tree in Control Builder. The
exported or copied portion of the ERDB is automatically stored in the C:\Program
Files\Honeywell\Experion\Engineering Tools\Ixport directory location by default. The
following figure shows how an exported ERDB viewed in the Project Tree appears in the
Ixport file folder for example purposes only.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

177

9. Control Builder Export and Import Functionality


9.1. Basic Export/Import Design Concepts

The export function lets you export


all or a portion of the ERDB viewed
in the Project Tree to the Ixport
folder or a user-defined location.

The exported portions or all of the ERDB are stored in


the Ixport folder at directory location c:\Program
Files\honeywell\Experion\Engineering Tools\ by
default.

By default, the ERDB used by Control Builder is stored in SQL Server under the
filename ps_erdb (default name). This is the ERDB that is being viewed in the Project
Tree.

178

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

9. Control Builder Export and Import Functionality


9.1. Basic Export/Import Design Concepts

Import functionality
It may help to think of the Import function as a dynamic paste operation for the ERDB
being accessed through Control Builder. This function lets you import a portion of an
exported ERDB or the whole exported ERDB as viewed through the Import dialog box.
The imported or pasted portion of the exported ERDB is automatically written to the
Project Tree, which is associated with the ps_erdb file in the SQL Server. If an imported
block has the same name as one already in the Project Tree, the configuration data for the
same named block in the Project Tree is overwritten by configuration data for the
imported block. The following figure shows the informational type messages generated
for the Import of an exported block named AIM_Backup into the Project Tree for
example purposes only.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

179

9. Control Builder Export and Import Functionality


9.1. Basic Export/Import Design Concepts

Export/Import functional overview


The Control Builder Export and Import functions work together to copy/export
configuration data from one ERDB and paste/import the exported data to another
compatible ERDB in Control Builder. This scenario involves storing the exported data in
a designated file location on the hard drive, associating the Control Builder with another
ps_erdb file, and importing desired exported configuration data to a new ERDB file
through the Import dialog box.

Control Builder

Control Builder

(Control Session 1)

(Control Session 2)

Control Strategy
Configuration

Control Strategy
Configuration

Project Tree

Project Tree

Database
ps_erdb
(paste)

Database
ps_erdb
(copy)

Export
Data

Engineering
Repository

Import
Data

Ixport
File

180

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

9. Control Builder Export and Import Functionality


9.2. Some Operation Considerations

9.2

Some Operation Considerations


Export/Import usage notes
The following notes outline some general considerations associated with using the
Export or Import function.

It is always a good idea to make a backup copy of your primary ERDB in the Er
folder. The default backup filename is ps_erdb.bak.

Always use the primary ERDB for export or import functions, when using
Redundant Servers.

Can not initiate an export or import function while Engineering Repository (ER)
synchronization is in progress for Redundant Servers.

Cannot run an export and import function at the same time.

Cannot run more than one import function at a time.

Cannot run more than one export function at a time.

Do not change a Control Session while an import or export function is running.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

181

9. Control Builder Export and Import Functionality


9.2. Some Operation Considerations

182

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

10. SCM and CM Chart Visualization Functionality


10.1 Basic Chart Visualization Design Concepts
About Chart Visualization
A SCM chart configured and loaded to the Controller through Control Builder is now
viewable through the corresponding SCM Detail display in Station. You can also view a
CM chart configured and loaded to the Controller through Control Builder in its
corresponding CM Detail display in Station.
This chart visualization function uses ActiveX technology to embed an active
document in the SCM or CM Detail display. This means an operator can actively monitor
an active SCM or CM chart through the corresponding Detail display in Station.
You must have both Engineering Tools and Server/Client software components installed
on the computer for the chart visualization function to work.

How SCM chart visualization works


The ActiveX Controls needed to support the display and interaction of a Control Builder
SCM or CM chart in the associated Detail Display in Station are loaded as part of the
software. The software also includes updated SCM and CM Detail displays. The SCM
display includes a Tab labeled "Chart". The redesigned CM display includes a Tab
labeled "Control Module"
Since the SCM and CM Detail displays mirror the SCM and CM chart configurations in
Control Builder, you must first configure the SCM and CM charts in Control Builder as
usual. Once the SCM and CM charts are configured and loaded to a Controller, you can
view them in the Monitoring Tab of Control Builder or in the associated Detail display in
Station.
You can click the hyperlinks of the parameters and view the CM and SCM parameter
information. In the SCM chart, expressions appear with a background color. When you
move the mouse pointer on a parameter, the hyperlink is visible and you can click it to
navigate to the corresponding chart.
ATTENTION
The hyperlinks appear with the normal text color and the hyperlink text color is
not used in the SCM chart of Monitoring mode.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

183

10. SCM and CM Chart Visualization Functionality


10.1. Basic Chart Visualization Design Concepts

The following figures show how a configured SCM chart named example_scm appears
in the Monitoring Tab of Control Builder and in the Chart Tab of the example_scm
Detail display in Station for example purposes only.
For more information on colors and their meanings, see Operator's Guide.

<TF><F608
15></TF>

View of example_scm chart in Control Builder Monitoring Tab.


For example: The example_pid.pida.SP is indicated as a hyperlink since the mouse
pointer is moved on the parameter.

184

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

10. SCM and CM Chart Visualization Functionality


10.1. Basic Chart Visualization Design Concepts

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

185

10. SCM and CM Chart Visualization Functionality


10.1. Basic Chart Visualization Design Concepts

View of CM102 chart in Control Builder Monitoring Tab.

186

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

10. SCM and CM Chart Visualization Functionality


10.1. Basic Chart Visualization Design Concepts

View of CM102 chart in CM Detail display in Station.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

187

10. SCM and CM Chart Visualization Functionality


10.2. Some SCM and CM Chart Operation Considerations

10.2 Some SCM and CM Chart Operation Considerations


Detail display interaction notes
ATTENTION
You can only monitor parameters shown on SCM and CM charts in Detail
Displays. You must access charts through the Monitoring mode in Control
Builder to initiate allowable parameter changes.

188

A tool button
on the chart Detail display lets you change the scale factor of the
chart for viewing as well as cancel or resume the Chart Automatic Tracking feature
for an SCM chart display.

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 is different than the security level for Control Builder.

A communications failure results in question marks (?) being shown in place of live
values until the fault is cleared.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

11. I/O Link Interface


11.1 I/O Link Interface
Seamless integration
The I/O Link supports both the:
C300 controller: where the IOLINK contains a function that enables programming and
reprogramming the executable image (rather than substitution of a removable hardware
component).
Series 8 I/O cannot exist on the same link.

I/O Functions
Series 8 I/O: in conjunction with Input/Output Termination Assemblies (IOTSs), the
IOMs perform input and output scanning and processing for field I/O.
A redundant I/O Link is standard for added security.

About Point form


A configurable parameter called Point Form (PNTFORM) let users decide whether an
IOP point was to be a Full or Component type point in a Process Manager environment.
A Full point form meant that the point has alarm-related parameters. A Component
point meant that the point should be used as an input to the Full point, and also for those
points that handle the outputs from the Full points. While the PNTFORM parameter
does appear on the IOP configuration forms in Control Builder, the default selection for
most IOPs is Component and it is not user configurable.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

189

11. I/O Link Interface


11.2. I/O Link Cable Status and Statistics

11.2 I/O Link Cable Status and Statistics


Periodic swap functionality
When the periodic channel swap function is enabled, it swaps the active receive channel
at one minute intervals to monitor its health and update its status as follows.
If Status
is . . .

Then, Cable is . . .

Ok

Good. No errors detected during last pass of periodic channel swap.

Warning

Questionable. Some cable errors detected during last pass of periodic


channel swap. The errors detected did not exceed the periodic swap
threshold setting. The default setting for the PERSWAPTHRES
parameter is 10 errors per minute.

Error

Bad. Either the cable errors detected during the last pass of periodic
channel swap or the sum of errors detected for the last 10 passes of
periodic channel swap on this cable exceeds the periodic swap
threshold setting of 10 errors per minute.

When the status of a cable transitions to the error state, a cable error alarm is generated
and the periodic channel swap function is automatically disabled. The status of the other
cable changes to unknown, since cable statuses cannot be validated until the periodic
channel swap function is re-enabled.
Once the cable fault is corrected, the periodic channel swap is enabled, and the cable
status returns to Ok, the cable status alarm returns to normal.

Periodic swap transition diagram


The following diagram illustrates the states and conditions associated with the periodic
swap behavior and its associated I/O Link Interface Module annunciations.

190

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

11. I/O Link Interface


11.2. I/O Link Cable Status and Statistics

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

191

11. I/O Link Interface


11.2. I/O Link Cable Status and Statistics

192

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

12. Component Categories and Types


12.1 Overview
About categories
For data organizational purposes, we divide the Control Builder components into these
two major categories:

Hardware Relation Category

Functional Relation Category

These categories are explained in the Experion LX Control Builder Components


Reference in Hardware Relation Category and Functional Relation Category. In brief,
the Hardware Category consists of self-standing type blocks and the Functional Category
consists of container and component type blocks. Please note that self-standing type
blocks are referred to as physical equipment type blocks, and container and component
type blocks are referred to as functional type blocks.

Function block types and Data Organization


The remainder of this document is organized according to the following grouping of
function block types.

Regulatory Control

Auxiliary Functions

Data Acquisition Functions

Device Control

Logic Functions

Math Functions

Power Generation Functions

Utility Functions

Sequential Control

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

193

12. Component Categories and Types


12.1. Overview

To minimize repetition of data, this document does not include topics specific to the
physical equipment type blocks (self-standing FBs) and the Control Module FB, and it
does not list all the parameters associated with a given FB. This information can be
found in the Experion LX Control Builder Components Reference.

194

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1 Regulatory Control Blocks
Functional overview
Experion LX Regulatory Control blocks offer a veritable "toolkit" of process control
functions. Each block is configured to perform a single control function, and multiple
blocks may be connected to form complex control strategies.
The following table presents the various functions that can be performed through the
configuration of the associated Regulatory Control block.
Function

Block

Description

Auto Manual

AUTOMAN (Auto
Manual) Block

Provides a "bumpless" output following


initialization or mode changes; typically
used in a cascade where one of the
upstream blocks may not accept an
initialization request.

Enhanced
Regulatory Control
Calculator

ENHREGCALC
(Enhanced
Regulatory Control
Calculator) Block

Provides enhancements over the


REGCALC block. The enhancements
include:
Expands existing arrayed input

parameters XSTS and X from six to


ten.
These arrayed parameters are added

to correspond to each of the ten


inputs.

Input Description

Enable/Disable Switch

XSUB Substitute Parameter

See the block section for other


enhancements.
Fanout

FANOUT Block

Sends one input to many outputs,


whereby a different gain and bias may be
assigned to each output.

Override Selector

OVRDSEL
(Override Selector)

Selects one input from many based on


the highest or lowest input value; the

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

195

13. Regulatory Control


13.1. Regulatory Control Blocks

Block

OVRDSEL block always forces the


unselected inputs to track the selected
inputs, but provides two methods for
doing the following:
Propagate override feedback data to

the unselected inputs.


Continually initialize the unselected

inputs.
Proportional, Integral PID Block
& Derivative

Provides an implementation of the PID


algorithm, using the Ideal form, whereas
the following combinations of control
terms may be configured:
Proportional-only (acts on the error PV

-SP).
Integral-only (acts on the error PV -

SP).
Proportional & integral (act on error PV

- SP), & derivative (acts on changes in


PV).
Proportional & derivative (act on

changes in PV), & integral (acts on the


error PV - SP).
Proportional, integral & derivative (acts

on the error PV - SP).


Proportional, Integral PID-PL (Profit Loop Provides PID control using a model
& Derivative with
PKS) Block
predictive control package called Profit
Profit Loop PKS
Loop PKS that incorporates robust
control techniques to enhance control
performance despite process model
uncertainty and measurement error.
Proportional, Integral PIDER (PID with
& Derivative with
External Reset
External Reset
Feedback) Block
Feedback

196

Operates as a proportional-integralderivative (PID) controller that accepts a


reset feedback signal, a tracking value,
and a tracking control switch. It supports
the same Ideal form of calculating the
PID terms as the PID block. It also
prevents windup when the secondary
does not propagate windup status or
control initialization data back to the
primary of a remote (foreign) controller

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

Proportional, Integral PIDFF (PID with


Provides the same classic PID function
& Derivative with
Feedforward) Block as outlined above with the ability to
Feedforward
accept a "feedforward" signal. You can
configure the feedforward signal to be
added to or multiplied by the PID's
incremental output to meet varying
control requirements.
Position Proportional POSPROP
Control
(Position
Proportional) Block

Provides two digital outputs for pulse


control of a final control element. It
accepts Process Variable (PV) and Set
Point (SP) inputs.

Pulse Count

PULSECOUNT
Block

Provides pulse waveform generation on


its four main outputs using a pulse control
algorithm that relates the waveform to the
configurable period and requested pulse
time parameters. Typically, used in
conjunction with a POSPROP block.

Pulse Length

PULSELENGTH
Block

Provides pulse waveform generation on


its four main outputs using a pulse control
algorithm that relates the waveform to the
requested pulse time parameter.
Typically, used in conjunction with a
POSPROP block.

Ramp Soak

RAMPSOAK Block

Provides an output that follows the user


configured sequence of ramp/soak pairs.
Each ramp/soak pair consists of a
configurable soak value or ramp target
value, a soak time and a ramp rate.
Typically, used in conjunction with a PID
block.

Ratio and Bias

RATIOBIAS Block

Provides a calculated output based on


the ratio of the input variables and a fixed
and/or a floating bias. Typically, used
between two PID blocks to implement a
form of ratio control.

Ratio Control

RATIOCTL (Ratio
Control) Block

Accepts the actual value of the controlled


flow (X1), the actual value of the
uncontrolled flow (X2) and the target ratio
between the flows (SP), and calculates
the target value of the controlled flow
(OP) and the actual ratio between the

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

197

13. Regulatory Control


13.1. Regulatory Control Blocks

flows (PV) as outputs.


Regulatory Control
Calculator

REGCALC
Lets you write up to eight expressions for
(Regulatory Control creating custom algorithms for Calculated
Calculator) Block
Variable (CV) calculations. Provides an
interface to windup, initialization and
override feedback processing, so you can
add user-defined control blocks to your
control strategies.

Regulatory Summer

REGSUMMER

Calculates an output value which is the


sum of up to four inputs. Each of the
inputs may be individually scaled. The
output may be scaled by an overall gain,
and an overall bias may be added to the
result.

Remote Cascade

REMCAS (Remote
Cascade) Block

Provides automatic switching between a


primary (remote) and backup (local)
cascade; typically used with a PID that
normally gets its set point from a remote
source, but sheds to a local source when
the remote cascade is broken.

Switch

SWITCH Block

Operates as a single-pole, 8-position


rotary switch that may be positioned by
the operator, user program or another
block. Typically used to assign different
primary to a secondary; allows user to
select one from as many as 8 inputs and
outputs the selected value.

CAB insertion configuration considerations for regulatory


control blocks

198

You cannot use CAB insertion programs with the following Regulatory Control
blocks.

POSPROP

PULSECOUNT

PULSELENGTH

REGCALC

You can insert up to 10 CAB programs in a regulatory control block.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

You can use CAB instances for standalone operation or as programs whose
execution is inserted into the flow of other compatible blocks. For standalone
operation, you must configure the CAB for an Access Level of PROGRAM. For
insertion program operation, you must configure the CAB for an Access Level of
CONTCONTROL.

You must insert CAB instances in the same Control Module that contains the
regulatory control block.

If you insert multiple CAB programs at the same point, the order in which the
insertions are configured determines their execution order. During configuration, the
ORDERINCM parameter of the inserted CAB instance changes automatically to
match the calling regulatory control block and the INSERTION parameter of the
inserted CAB instances is set to TRUE.

CAB instances configured for insertion execute only when they are called during the
regulatory control block execution and are not executed as part of the normal
Control Module execution.

CAB instances configured for insertion should normally have no outside pin
connections configured. If you need to share CAB instance data with blocks other
than the one with inserted CAB programs, you can use parameter connectors or
direct wire connections to configured pin connections for custom data parameters on
the CAB instance. See the Pin connections to inserted CAB instances section for
more information.

The Control Builder application does not allow you to configure the same CAB
instance as an insertion by more than one Regulatory Control block.

Insertion type functional characteristics for regulatory control


blocks
The following table summarizes the functional characteristics for a given insertion type.
Insertion Type
Post Input (Post_Input)

Function
Provides the capability of performing custom
functions such as:
Custom calculations on inputs,
Custom timeout processing function, and
Enable/disable external mode switching

based on input values.


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

199

13. Regulatory Control


13.1. Regulatory Control Blocks

Insertion Type

Function
It is normally used to perform calculations on
the fetched input data. This means that Post
Input insertion programs must check if the
fetched input data is valid before using the data
in calculations. The fetched data is valid only if
the associated input status is Normal. For
example, before performing calculations using
X1, the parameter X1STS should be checked
for Normal status. If the status is not normal,
the fetched X1 value is not valid.

Pre Algorithm (Pre_Alg)

Provides the capability of implementing custom


initialization strategies.

Control Algorithm (Ctl_Alg)

Provides the capability of replacing the


standard regulatory control block algorithm with
user custom one written in a CAB program.
If you use a CAB program as the algorithm, the
program must calculate and store the
Regulatory Control point output value CV. You
must use parameter references in the CAB
instance to acquire inputs for the CAB
program. You should include the following
items in the algorithm program:
Bad input handling (CV gets set to bad

when input is bad).


CV calculation for the various control states

(FORWARD, MAN and INIT).


INITVAL calculation.
Override feedback handling, if the block is

part of an override strategy.


Input timeout processing, if required.
Floating bias implementation, if output

transfers are to be bumpless.


See the following paragraph Functional
requirements for custom CAB algorithm for
regulatory control block for more information.
Post Algorithm (Post_Alg)
200

Provides the capability of implementing custom

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

Insertion Type

Function
calculation for output values.

Post Control Output (Post_Ctlout)

Provides the capability of implementing custom


windup calculations. You can use parameters
ARWNETIN and ARWOPIN to modify windup
states.

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
Error Handling

Requirement
The CAB program must not abort when the regulatory control
block goes into a bad control state. The output value CV must be
set to NaN, when the value of the required input is bad. This
causes the regulatory control block to go into a bad control state.
The regulatory control block algorithm generates a BADCTL
alarm during control output processing when CV is NaN.

Initialization

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

201

13. Regulatory Control


13.1. Regulatory Control Blocks

Function
Override Feedback

Requirement
If the regulatory control block is part of an override strategy, the
CAB program must set the appropriate override status and
calculate the override value to be propagated to its primary. The
override status to be propagated is written to the parameter
PRIMDATA.ORFBSTS and the override feedback value is stored
in the PRIMDATA.ORFBVAL parameter. The following is a high
level implementation detail for the override propagation.
BEGIN
IF PRIM.INITIALIZABLE { if primary is initializable}
PRIMDATA.OROFFSET = SECDATAIN.OROFFSET
PRIMDATA.HISELECT = SECDATAIN.HISELECT
PRIMDATA.PROPOVRD = TRUE
IF ORFBSTS = NOTSELECTED {If the override status is
not selected }
PRIMDATA.ORFBVAL = SECDATAIN.ORFBVAL
Calculate ORFBVAL for primary and store the value in
PRIMDATA.ORFBVAL
ELSE {if the status is selected }
PRIMDATA.ORFBVAL = NaN
IF CV = Nan {if the CV value is bad, propagate Notconnected
status and a feedback value of NaN }
PRIMDATA.ORFBSTS = NOTCONNECTED
PRIMDATA.ORFBVAL = NaN
ELSE { If CV is good, propagate the status received from
secondary }
PRIMDATA.ORFBSTS = SECDATAIN.ORFBSTS
END

202

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

Function
Floating Bias

Requirement
The standard Regctl algorithms include a floating bias function so
that output is bumpless during mode changes. If this function is
required, the floating bias functionality has to be implemented in
the CAB program.
The standard regulatory control block algorithms store the
calculated floating bias value in the parameter OPBIAS.FLOAT.
This parameter allows CAB write access, so it is available for use
in CAB programs.

Timeout

If the input timeout function is needed, the CAB program must


implement the timeout processing as part of the program.

CAB insertions for Regulatory Control block parameters


The access level/lock for the following regulatory control block parameters is
Continuous Control (CONTCONTROL). This provides write access for CAB programs
to these parameters. That is, you can modify and/or enhance other built-in regulatory
control block features by inserting user written CAB programs for one or more of these
parameters. The CAB programs must be configured for an access level of Continuous
Control (CONTCONTROL).
Parameter

Description

Associated Block

INITREQ[1..8]

Initialization Request Flags. There is one flag


for each primary.

All Regulatory
Control blocks that
support insertion
points.

INITVAL[1..8]

Initialization Value. There is one value for


each primary.

All Regulatory
Control blocks that
support insertion
points.

OPBIAS.FLOAT

Floating Output Bias in Engineering Units

ENHREGCALC,
PIDER,
RATIOCTL,
REGSUMMER

OPBIAS[1..8].FLOAT

Total Output Bias for function blocks with


Multiple Outputs

FANOUT

PV

Process Variable

PID,
PIDFF,

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

203

13. Regulatory Control


13.1. Regulatory Control Blocks

Parameter

Description

Associated Block

PVSTS

Status of Process Variable.

PID,
PIDFF,
RAMPSOAK,
RATIOCTL

TMOUTFL

Timeout Flag. Indicates if an initializable input


has timed-out.

All Regulatory
Control blocks that
support insertion
points

X [..]

Input Value for blocks with multiple inputs

OVRDSEL,
REGSUMMER,
SWITCH

XKB[..]

X-Input Gain (K) and Bias (B)

ENHREGCALC

X1

Input Value

AUTOMAN,
FANOUT,
RATIOBIAS
RATIOCTL,
REMCAS

X2

Input Value

RATIOCTL,
REMCAS

X1STS

Status of Input Value

AUTOMAN,
FANOUT
RATIOCTL

X2STS

Status of Input Value for blocks with multiple


inputs

RATIOCTL

Pin connections to inserted CAB instances


Normally, inserted CAB instances do not have outside pin connections to their Custom
Data Parameters (CDPs). Inserted CAB instances usually share data only with their
calling block, which is the block that is using the CAB as an insertion program. In this
case, block connections are created between the calling block and the 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
204

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

CAB instance. If pin connections are configured, then the data transfer operates as
follows:

Pin connections always transfer data into a CAB insertion program just before
execution of the calling block.

Pin connections always transfer data out of a CAB insertion program just before
execution of the block that is pulling the CAB Custom Data Parameter (CDP).

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.
Failure Type

Considerations

Program Termination

CAB programs in general must not be repetitious. If repetitive


calculations must be used, be sure you carefully design and
thoroughly test them to be sure that excessive execution time is not
required. CAB programs can also terminate, if the CAB program
consumes excessive memory during runtime.
When a program terminates, the CAB instance issues a terminated
status to the calling master. You must correct the program defect
and reload the CAB instance before reactivating the control strategy.
The CAB remains in the terminated condition until it is restarted by
an operator.

Exception Failures

If the inserted CAB program encounters an exception failure


condition, the program is terminated in the current cycle but
executes in the next cycle. The insertion fail flag (INSFAILFL) is set
to TRUE. The flag resets to FALSE, when the program runs till
completion and returns a normal status.
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.

Handling of insertion failure on regulatory control block


If the CAB program inserted on a regulatory block fails (returns a non-normal status), the
block sets its control initialization condition (INITMAN) to True and skips all the
remaining processing of the block.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

205

13. Regulatory Control


13.1. Regulatory Control Blocks

For example, if a Ctl_Alg insertion program fails, control output processing, windup
processing, and so on is not performed. The parameter INITMAN is set to TRUE, which
causes the regulatory control block to go to INIT state.

CAB insertion on regulatory control block configuration


examples
Single CAB insertion
The following figure and its companion callout description table show a sample
configuration that uses a PID block with an insertion type from a single CAB instance.

Figure 10 Configuration example using single CAB insertion for regulatory


control block

206

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

Callout

Description

The Control Module contains a PID block named pida.

The pida block is configured to include an insertion type Ctl_Alg from


a CAB instance named CAB_1A.

The CAB instance named CAB_1A is added to the Control Module


containing the pida block.

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.

Once the Control Module and its components is loaded to an C300


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


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

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

207

13. Regulatory Control


13.1. Regulatory Control Blocks

Callout

Description

If the CAB program encounters a termination failure (example execution time is too
long), CAB_1A returns a termination status to the calling master pida. In this case,
pida sets INITMAN to true and skips the rest of its processing. On the next execution
cycle, pida remains in INIT unless the problem has been corrected and the program
returns a NORMAL status.
With a termination failure, the CAB instance does not execute again unless manually
restarted. You should correct the defect in the program before reactivating the control
strategy. If you just try restarting a terminated CAB program, it will most likely
terminate again.

Multiple CAB insertions


The following figure and its companion callout description table show a sample
configuration that uses a AUTOMAN block with insertion types from four CAB
instances.

208

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

Figure 11 Configuration example using multiple CAB insertions for


regulatory control block
Callout

Description

The Control Module contains a AUTOMAN block named


AUTOMANA.

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

The CAB instances named CAB_1A, CAB_2A, CAB_3A, and CAB

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

209

13. Regulatory Control


13.1. Regulatory Control Blocks

Callout

Description
4A are added to the Control Module containing the AUTOMANA
block.

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.

Once the Control Module and its components is loaded to aC300


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. That is, the output values (CV and OP) remains 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 remains 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.
210

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

Callout

Description

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..

Two CAB insertions of same type


The following figure and its companion callout description table show a sample
configuration that uses a DATAACQ block with the same insertion type from two CAB
instances.

Figure 12 Configuration example using two CAB insertions of the same


type for regulatory control block
Callout
R110
February 2014

Description
Experion LX Control Builder Components Theory
Honeywell

211

13. Regulatory Control


13.1. Regulatory Control Blocks

Callout

Description

The Control Module contains a PID block named pida.

The pida block is configured to include insertion type Post_Alg from


CAB instances named CAB_1A and CAB_2A

The CAB instances named CAB_1A and CAB_2A are added to the
Control Module containing the pida block.

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.

Once the Control Module and its components is loaded to an C300


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_1A execution 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.

Tuning Conversions from Interactive to Non-Interactive PID


Use the following information to convert InteractivePID to Non-Interactive PID which
are used in Experion LX TDC system.

212

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.1. Regulatory Control Blocks

Equation
Reference
Number

PID Type

Equation

PID algorithms are implemented from the following transfer functions:


1

Interactive

CV( s )
e( s )

Non-Interactive

CV( s )
e( s )

=K

(T1 s + 1)(T2 s + 1)
T1 s (T2 s + 1)

= K ni (1 +

1
s
)
+ TD
(Tdf s + 1)
TI s

If the rate limiters are ignored, the transfer functions take on the following forms:
3

Interactive

CV( s )
e( s )

Non-Interactive

CV( s )
e( s )

=K

(T1 s + 1)(T2 s + 1)
T1 s

= K ni (1 +

1
+ TD s )
TI s

Equation 3 can be arithmetically manipulated to obtain the form of equation 4 as follows:


5

CV( s )
e( s )

=K

(T1 + T2 )
T1T2
1
(1 +
s)
+
T1
(T1 + T2 ) s (T1 + T2 )

Comparing the respective coefficients of equations 4 and 5, gives the Non-Interactive PID
tuning coefficients in terms of the Interactive PID tuning parameters as follows:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

213

13. Regulatory Control


13.1. Regulatory Control Blocks

Equation
Reference
Number

K ni = K

PID Type

(T1 + T2 )
;
T1

TI = T1 + T2 ;

Equation

TD =

T1T2
(T1 + T2 )

where,
Kni non-interactive gain (CEE)
TI non-interactive integral time constant (CEE)
TD non-interactive derivative time constant (CEE)
K interactive gain
T1 interactive integral time constant
T2 interactive derivative time constant

214

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.2. About Safety Interlock Function

13.2 About Safety Interlock Function


The Safety Interlock flag (SIFL) is an optional input to every regulatory control block. It
lets you create safety interlocks for one or more control strategies. For example, you may
create a Logic block which sets a Boolean based on some safety conditions, and the
strategies may be configured to go off control when the Boolean is true.

Safety Interlock processing


If a SIFL connection exists, the regulatory control fetches the flag and checks for a
change of state. When SIFL is ON, the regulatory control block does the following:

Checks if a Safety Interlock alarm should be issued.

Sets MODE and OP according to the user-specified Safety Interlock Option


(SIOPT). The SIOPT indicates what to do if SIFL is ON. The choices are as listed in
the following table.
If SIOPT Is. . .

Then, Action Is . . .

NoShed

Do nothing: Keep MODE and OP at their current value.


This means that the Operator can change the MODE,
MODEATTR and OP.

ShedHold

Set MODE to Manual and MODEATTR to Operator,


disable External Mode Switching, and hold OP at the
last good value.
This is the default setting.

ShedLow

Set MODE to Manual and MODEATTR to Operator,


disable External Mode Switching, and set OP to its
extended low limit (OPEXLOLM).

ShedHigh

Set MODE to Manual and MODEATTR to Operator,


disable External Mode Switching, and set OP to its
extended high limit (OPEXHILM).

ShedSafe

Set MODE to Manual and MODEATTR to Operator,


disable External Mode Switching, and set OP to the
configured safe value (SAFEOP).
If SAFEOP is NaN, OP is held at the last good value.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

215

13. Regulatory Control


13.2. About Safety Interlock Function

Safety Interlock processing considerations


The following table summarizes some things to consider for a given SIFL condition.
If Condition Is . . .

Then, Consider This . . .


MODE, MODEATTR, ESWENB and OP cannot be directly

While SIFL is ON,

changed by the user.


If mode was shed, the user is prevented from changing it

until SIFL goes OFF. However, the following should be


noted:

While SIFL is On and the block


has Shed once,

If the Reg Control block cannot successfully fetch


SIFL, it turns SIFL OFF. (Possible reasons for not
being able to fetch SIFL include; communication
error, the regulatory control block is disconnected
from the SI source, or the SI source block is deleted.)

If the user sets the regulatory control block inactive,


SIFL will be turned OFF.

A change in SAFEOP/OPEXHILM/OPEXLOLM dynamically


updates the OP (based on the SIOPT) only in the following
cases:
After each execution, when there is a wired connection to

SIFL and the flag is ON.


After each store, when there is a program store to SIFL

pulsed to set it ON.


If the block is in initialization in
the previous scenarios,

The OP value will not be impacted by any change other than


the INITVAL from the secondary. The OP is dynamically
updated based on the SIOPT, only after the block comes out
of initialization.

When there is a Program store


configured to set the SIFL to ON,
and when the block has Shed
once,

A change in SAFEOP/OPEXHILM/OPEXLOLM thereafter

When there is a Program store


configured to set the SIFL to ON
once and if the block is in
initialization,

The Mode will be shed but the OP will not be set based on

will not dynamically update the OP.


The user has to execute the program to pulse the SIFL to

ON again, for the OP to be updated.


the Shed option.
The OP will be equal to the INITVAL from the secondary in

this case.
The user has to execute the program to pulse the SIFL to

216

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.3. About Red Tagging

ON, after the block comes out of initialization to update the


OP based on the Shed Option.
When SIFL changes from ON to
OFF,

The function block clears the Safety Interlock alarm (if one

was issued).
If mode was shed and the mode remains in Manual mode,

the function block issues an initialization request to its


primary. The user must return the block to its normal mode.
If mode was not shed, the function block clears its windup

condition .

Safety Interlock Alarming


The Safety Interlock Alarm Option (SIALM.OPT) indicates if SI alarming is enabled or
not as follows:

If SI alarming is enabled, and SIFL is ON, an alarm indicator appears next to SIFL
on the function block detail display. In addition, the regulatory control block issues
an alarm when SIFL goes ON, and clears the alarm when it goes OFF. (If the user
sets the alarm priority (SIALM.PR) to "NoAction", no alarm is issued. However, an
alarm indicator still appears next to SIFL on the detail display.)

If SI alarming is disabled, an alarm indicator does not appear on the detail display
and an alarm will not be issued.

13.3 About Red Tagging


Purpose of Red Tagging
A point can be "red tagged" to indicate that it requires maintenance. This is accomplished
by setting the REDTAG parameter On. Typically, the operator sets the output of the
point to a desired safe value before turning on the red tag. Once red tagged, the mode,
mode attribute, external mode switching state, and output cannot be changed.
The REDTAG parameter is specific to the following blocks.

Regulatory Control blocks AutoMan, Fanout, OvrdSel, PID, PIDFF, PosProp,


PulseCount, PulseLength, RampSoak, RemCas, RatioBias, RegCalc, RegSummer,
and Switch.

Device Control block

Drive Control Blocks HT Motor, LT Motor, Solenoid Valve, Valve/Damper

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

217

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Series 8 I/O AOCHANNEL, DOCHANNEL

Function of Red Tagging


The Red Tag function prevents changes to the output on a point that has the REDTAG
parameter set to ON, but it may still be possible to change the output connected to the
field. For example, even if a Digital Composite point has REDTAG set to ON, a
program/Logic Block can still change the state of the Digital Output.

Before red tagging a point


The mode and the mode attribute of the point must be changed to Man and Oper
respectively. To red tag a digital composite point, the output of the point must not be
configured for the momentary state.
A block with external mode switching (ESWENB) enabled cannot be RedTagged.
External Mode Switching must be disabled, prior to setting REDTAG to ON.

13.4 AUTOMAN (Auto Manual) Block


Description
The AUTOMAN (Auto Manual) 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. It
looks like this graphically:

218

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Each AUTOMAN block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
High Limit (XEUHI) - Lets you specify the high input

range limit that represents 100% full-scale input for the


block. The default value is 100.
Low Limit (XEULO) - Lets you specify the low input

range limit that represents the 0 full-scale input for the


block. The default value is 0 (zero).
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

219

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab

Description
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
220

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab

Description
selection is Enabled (checked, do not ignore).
Timeout Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME and the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms and 5s or 5.4 seconds.
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block to assume a safety interlock alarm.


The selections are NO_SHED, SHEDHOLD,
SHEDLOW, SHEDHIGH, and SHEDSAFE. The default
selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

221

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab

Description
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
222

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab

Description
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value.
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. 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.
Gain (K) - Lets you specify a gain (K) value to be

factored into the equation for calculating the CV output


value. See the equation following this table for details.
The default value is 1.
Gain High Limit (GAINHILM) - Lets you specify gain high

limit value. Gain (K) is clamped to this value, if the


specified gain exceeds it. The default value is 240.
Gain Low Limit (GAINLOLM) - Lets you specify gain low

limit value. Gain (K) is clamped to this value, if the


specified gain is less than it is. The default value is 0.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

223

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab
Alarms

Description
Type - Identifies the types of alarm this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is a checked
box or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, and OPLOALM.PR).
The default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, and OPLOALM.SV) as a number
between 0 to 15, with 15 being the most severe. This
determines the alarm processing order relative to other
alarms. The default value is 0.
Deadband Value (ALMDB) - Lets you specify a

224

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab

Description
deadband value that applies to all analog alarms to
prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set to true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

R110
February 2014

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Experion LX Control Builder Components Theory


Honeywell

225

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab

Description
Note: This parameter is available for configuration only if
the Enable Bad Output Connection Option is enabled.

SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block takes when the SCM goes into an abnormal state.


The Starting State Option (STARTOPT) applies when
the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

226

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC (not


applicable to this block).

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Configuration Tab

Description

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN.

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate.

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon the Option Type selected, it lets you specify an


output or set point value within the respective range. For
output, within OPLOLM to OPHILM and within SPLOLM
to SPHILM, for set point. The default value is NaN (Not a
Number).
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

The block calculates the output value (CV) using the following equation:
CV = K X1 + OPBIAS.FIX + OPBIAS.FLOAT
Where:

K
X1
OPBIAS.FIX

R110
February 2014

= gain for CV (user specified)


= input value
= fixed output bias (user specified)

Experion LX Control Builder Components Theory


Honeywell

227

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

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

Function
The AUTOMAN block is typically used:

in a cascade control strategy where one of the upstream blocks may not accept an
initialization request from its secondary.

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.

Configuration example
The following figure and its companion callout description table show a sample
configuration that uses an AUTOMAN block between a FANOUT block and a
downstream PID block for quick reference.

228

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Figure 13 Example of CB configuration using AUTOMAN block.


The following table includes descriptions of the callouts in the figure above.
Callout

R110
February 2014

Description

Experion LX Control Builder Components Theory


Honeywell

229

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Callout
1

Description
You can use the FANOUT block to distribute a single primary output to
multiple secondaries. (Note that the individual
BACKCALCIN/BACKCALCOUT connections for each FANOUT output
used are automatically built by Control Builder as implicit/hidden
connections.)
Since the FANOUT block only initializes when all of its secondaries request
it, insert an AUTOMAN block for individual downstream blocks (like PIDB in
this example) to ensure bumpless transfer during mode changes.

You can specify a gain and bias for each of the FANOUT block outputs.

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 userspecified 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)

Inputs
The AUTOMAN block requires one input - X1:

230

X1 = initializable input which, if used, must be pulled from another block (it cannot
be stored).
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

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.

(Note that this block applies no range checks and assumes that X1 is within the XEUHI
and XEULO range.)

Output
The AUTOMAN block has the following initializable outputs:

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.

Initializable inputs and outputs


"Initializable input" and "initializable output" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter. When a connection between an initializable input and
initializable output is created, you can also create a BACKCALC connection between
them. Control Builder automatically builds the required BACKCALC connections, so
you do not have to create them manually. These "implicit" build connections are
"hidden" from view and the related parameter pins are not exposed on the control chart.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

231

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

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.
ATTENTION
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).

Output ranges
CVEUHI and CVEULO define the full range of CV in engineering units.
If the AUTOMAN block has a secondary, it brings the secondary's input range through
BACKCALC and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).

OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range. These are user-specified values.
OP is clamped to these limits if the algorithm's calculated result (CV) exceeds them
or another block or user program attempts to store an OP value that exceeds them.
However, the operator may store an OP value that is outside these limits.

OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range. These are user-specified values. The operator is prevented
from storing an OP that exceeds these limits.

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the function block only applies OPBIAS.FLOAT to the output for
the latter two conditions, when it is the first initializable block.)

232

When the function block starts up (that is, goes Active).


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

When the function block initializes (for example, the secondary requests
initialization).

When the mode changes to 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). That is, the total bias eventually equals the
OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down OPBIAS.FLOAT.

You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:

The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.

The floating bias (OPBIAS.FLOAT) is set to zero.

The OPBIAS.FLOAT is calculated as follows.


OPBIAS.FLOAT

= CVINIT - (CVUNBIASED + OPBIAS.FIX)

Where:
CVINIT
CVUNBIASED
OPBIAS.FIX
R110
February 2014

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)
= fixed bias (user-specified)

Experion LX Control Builder Components Theory


Honeywell

233

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

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.
OPBIAS.FLOAT

= OPBIAS.FLOAT - (OPBIAS.RATE / cycles_per_Min)

Where:
cycles_per_min

234

= 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 occurs, if the primary does not
accept this block's initialization value.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

235

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter will then view OPHILM = 100 - 20.
236

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

237

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Mode Handling
The AUTOMAN block supports both the Cascade and Manual modes:

If Mode is CAScade: X1 must come from another block.

If Mode is MANual: an operator or a user program (X1 is ignored) may store OP.

Timeout Monitoring
If mode is CAScade, the AUTOMAN block performs timeout monitoring on X1. If the
X1 value is not updated within a predefined time (TMOUTTIME), the AUTOMAN
block invokes timeout processing as follows:

Sets the "input timeout" flag (TMOUTFL).

Sets the input value to Bad (NaN - Not a Number).

Requests the X1 primary to initialize.

Note that the AUTOMAN block does not support mode shedding on timeout.
The maximum time between updates is specified by TMOUTTIME (in seconds).

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME and
the CDA timeout time. The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE subscription rate is 100
milliseconds and the TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.

Control Initialization
The AUTOMAN block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to the block.
If the secondary is requesting initialization, the AUTOMAN block

238

Initializes its output toCV = initialization value from the secondary


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Builds an initialization request for the X1 primary as follows:


INITREQ(X1)

= On

INITVAL(X1) =

CV - OPBIAS.FIX
K

Where:
INITREQ(X1)

= initialization request flag for the X1 primary

INITVAL(X1)

= initialization value for the X1 primary

CV
K
OPBIAS.FIX

= calculated value
= Output gain
= user specified fixed bias

ATTENTION
Following a return to cascade, each secondary provides an initialization
request to its primary and in most cases the primary adjusts its output
accordingly. However, if the primary is a FANOUT block, it may ignore the
initialization request. The AUTOMAN block compensates for this by applying
a floating bias to the output.

Secondary initialization option


If a BACKCALC connection is made, the primary always brings initialization data over
this connection. However, you can configure the block to ignore this data by not
selecting the Enable Secondary Initialization Option on the block's parameter
configuration form. This is the same as selecting disable as the setting for the
SECINITOPT parameter. The results of the SECINITOPT settings are as follows.

If SECINITOPT equals Enable, it means the function block should accept


initialization and override requests from the secondary.

If SECINITOPT equals Disable, it means the function block should ignore


initialization and override requests from the secondary.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

239

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Override feedback processing


If the AUTOMAN block is in a Cascade strategy with a downstream OVRDSEL
(Override Selector) block, it receives override feedback data. This data consists of an
override status, override feedback value and an 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

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. That is, every block upstream in a cascade
strategy sets its windup status (ARWNET and ARWOP) to 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
240

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
R110
February 2014

Then, ARWNET Equals . . .

Experion LX Control Builder Components Theory


Honeywell

241

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

If Any of the Following are True . . .


This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

242

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.4. AUTOMAN (Auto Manual) Block

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and Custom Algorithm Block (CAB) programs.
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 . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

R110
February 2014

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

243

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

AUTOMAN parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the AUTOMAN block.

13.5 ENHREGCALC (Enhanced Regulatory Control


Calculator) Block
Description
The ENHREGCALC block provides the following enhancements over the REGCALC
block.

Expands existing arrayed input parameters XSTS and X from six to ten.

These arrayed parameters are added to correspond to each of the ten inputs.

Input Description

Enable/Disable Switch

XSUB Substitute Parameter

An initializable Set Point (SP) input parameter with limit checking and SP ramping
is added. Also, the X[1] input is converted to a general purpose input.

Mode can be placed in Automatic so operator or program can supply SP.

Both the ENHREGCALC and REGCALC blocks are optimized so that expressions
use memory based on the number of expressions configured, pcode size of each
expression and the number of references in the expression.

It looks like this graphically.

244

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Each ENHREGCALC block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block to assume upon a safety interlock


alarm. The selections are NO_SHED, SHEDHOLD,
SHEDLOW, SHEDHIGH, and SHEDSAFE. The default
selection is SHEDHOLD.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

245

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR, and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


246

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Setpoint

SP (SP) - Lets you specify an initial set point value. The

default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value

for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

247

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value

for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Setpoint Engineering Units High Range (SPEUHI) - Lets

you specify the high SP input range value in Engineering


Units that represents 100% full scale input. The default
value is 100.
Setpoint Engineering Units Low Limit (SPEULO) - Lets

you specify the low SP input range value in Engineering


Units that represents the 0 full scale input. The default
value is 0 (zero).
Mode (TMOUTMODE) - Lets you select the desired

MODE the block assumes, if an initializable input times


out, which means the input has not been updated within
a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Enable SP Ramping (SPTVOPT) - Lets you specify if an

operator can initiate a set point ramp action or not. It


provides a smooth transition from the current set point
value to a new one. The default selection is box
unchecked (disabled). See the Set point ramping section
for this block for more details.
Normal Ramp Rate (SPTVNORMRATE) - Lets you

specify a ramp rate in engineering units per minute for


248

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
the SP ramping function, when it is enabled. This lets an
operator start the SP ramping function without specifying
a ramp time. The default selection is Not a Number
(NaN). See the Set point ramping section for this block
for more details.

Input

X Descripiton (XDESC[1..10]) - Lets you enter a

description for a given X input. The default value is null


or blank.
X Enable (XENABLE[1..10]) - Lets you select whether a

given X input is enabled or disabled. The default value is


selected when enabled.
X Substitute (XSUB[1..10]) - Lets you specify a

substitute value to be used for the given X input. The


default setting is NaN.
XK (XK[1..10]) - Lets you specify an individual gain value

for each of the ten X inputs. The default value is 1.


XB (XB[1..10]) - Lets you specify an individual bias value

for each of the ten X inputs. The default value is 0.00,


which means no bias is added.
XKB (XKB[1..10] - Lets you view the individual input

values after individual biases and gains have been


applied to X[1] through X[10].
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

249

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
the output extended high limit as a percent of the
Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
250

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Gain (K) - Lets you specify a gain (K) value to be

factored into the equation for calculating the CV output


value. This value helps guarantee that the output is
"bumpless" following initialization or mode changes. The
default value is 1.
Gain High Limit (GAINHILM) - Lets you specify gain high

limit value. Gain (K) is clamped to this value, if the


specified gain exceeds it. The default value is 240.
Gain Low Limit (GAINLOLM) - Lets you specify gain low

limit value. Gain (K) is clamped to this value, if the


specified gain is less than it. The default value is 0.
CV (CVSRC) - Lets you assign an input or expression

result as the source for the CV. The default selection is


NONE.
CV Initialization (CVINITSRC) - Lets you assign an input

or expression result as the source of the CV initialization.


The default selection is NONE.
CV Override (CVORFBSRC) - Lets you assign an input

or expression result as the source of the CV during


override. The default selection is NONE.
Initialization Request (INITREQSRC) - Lets you assign

an input or expression result as the source of the


initialization request flag for the primary. If desired, you
can leave this parameter unassigned. The default
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

251

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
selection is NONE. The ENHREGCALC block uses
different values for this parameter depending upon
whether or not a source is assigned and a secondary
exists as follows.

If a source is assigned, this block uses the


assigned source value even if a secondary does
exist.

If no source is assigned and a secondary does


exist, this block uses the corresponding value from
the secondary.

If no source is assigned and there is no secondary,


this block uses default values (NaN for values, OFF
for flags).

Initialization Value (INITVALSRC) - Lets you assign an

input or expression result as the source of the


initialization value for the primary. If desired, you can
leave this parameter unassigned. The default selection is
NONE. The ENHREGCALC block uses different values
for this parameter depending upon whether or not a
source is assigned and a secondary exists as follows.

If a source is assigned, this block uses the


assigned source value even if a secondary does
exist.

If no source is assigned and a secondary does


exist, this block uses the corresponding value from
the secondary.

If no source is assigned and there is no secondary,


this block uses default values (NaN for values, OFF
for flags).

Override Feedback Status (ORFBSTSSRC) - Lets you

assign an input or expression result as the source of the


override feedback status for the primary. If desired, you
can leave this parameter unassigned. The default
selection is NONE. The ENHREGCALC block uses
different values for this parameter depending upon
whether or not a source is assigned and a secondary
exists as follows.

252

If a source is assigned, this block uses the


assigned source value even if a secondary does

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
exist.

If no source is assigned and a secondary does


exist, this block uses the corresponding value from
the secondary.

If no source is assigned and there is no secondary,


this block uses default values (NaN for values, OFF
for flags).

Override Feedback Value (ORFBVALSRC) - Lets you

assign an input or expression result as the source of the


override feedback value for the primary. If desired, you
can leave this parameter unassigned. The default
selection is NONE. The ENHREGCALC block uses
different values for this parameter depending upon
whether or not a source is assigned and a secondary
exists as follows.

Alarms

If a source is assigned, this block uses the


assigned source value even if a secondary exists.

If no source is assigned and a secondary exists,


this block uses the corresponding value from the
secondary.

If no source is assigned and there is no secondary,


this block uses default values (NaN for values, OFF
for flags).

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is a checked
box or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

253

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, OPLOALM.SV) as a number between 0
to 15, with 15 being the most severe. This determines
the alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set to true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
254

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALM.DBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based
upon the MODE of the SCM. See the SCM Interface and
CM Interaction section in this document for selection
details. The default selection is ONESHOT. The
selections are:

R110
February 2014

None

ONESHOT

SEMICONT

CONTRTN

Experion LX Control Builder Components Theory


Honeywell

255

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description

CONT

Option Type - Lets you specify the action the function

block when the SCM goes into an abnormal state. The


Starting State Option (STARTOPT) applies when the
SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (not applicable to this


block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (not applicable to this block).

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured.

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPEXLOLM to OPEXHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Rate (STARTRATE, STOPRATE, HOLDRATE) - When

the RAMPEDSP option is selected, lets you specify a


rate value (STARTRATE, STOPRATE, HOLDRATE) for
setting the SPRATEREQ for an SP ramping function.
Expr# 1 to Expr# 8

Expression (C[1..8]) - Lets you write up to eight desired

expressions for custom calculations. You can also write


256

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Configuration Tab

Description
a short descriptive text for each expression.
See the Guidelines for writing expressions section for

this block for more details.


Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that can appear


on the face of the function block in the Monitoring tab in
Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information.

Function

Each expression can contain any valid combination of inputs, operators and
functions; and may perform arithmetic or logic operations.

You can write expressions for calculating CV under normal, initialization and
override feedback conditions. Or, you can write expressions which produce
initialization and override feedback values for this block and its primaries.

You can assign the result of an expression or an input to any assignable output,
which produces the same outputs as every other regulatory control block. You can
assign the same input to multiple outputs.

Configuration example
The following figure shows a sample configuration using an ENHREGCALC block in a
ratio control loop.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

257

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Figure 14 Example of CB configuration using ENHREGCALC block.

Operating modes and mode handling


The ENHREGCALC block supports the Manual, Automatic, and Cascade modes of
operation.
If Mode is . . .

258

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

If Mode is . . .
Cascade (CAS)

Then,
the SP input comes from another function block.

The initialization request occurs when the MODE changes from CAScade to MANual,
but not from MANual to CAScade. When the block is put in MANual mode, it initializes
itself and requests its primary to initialize.

Inputs
The ENHREGCALC block has the following inputs.

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.

Initializable input
Since SP is an initializable input, the block can have one primary. There is one primary
for each initializable input. The ENHREGCALC block performs the following
processing functions.

SP limit checking

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

259

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

SP Target Value Processing

This function provides a smooth transition (ramp) from the current SP to a target SP. It is
invoked through the configuration option, SPTVOPT.

SP limit checking
SP Limit Processing makes sure the SP value does not exceed configured limits. These
limits are configured with the following parameters:

SPHILM

SP high limit

SPLOLM

SP low limit

If the input SP value is outside the range specified by SPHILM and SPLOLM, the
function block clamps SP to the appropriate limit and sets the appropriate limit exceeded
flag (SPHIFL or SPLOFL).
SPHILM and SPLOLM are configured in the same engineering units, as SP. Crossover
of set point limits is not allowed. SPHILM and SPLOLM can be changed even when the
Control Execution Environment (CEE) is in RUN and the Control Module (CM) is
Active.
When the SP limits are violated or the SP returns to normal, the network Anti-Reset
Windup status (ARWNET) is recomputed and the primary's windup status is set.

SP target value processing


The SP target value processing provides a smooth transition from the current set point
value to a new value. It ramps the SP from the existing value to a desired value over a
period of time. It is similar to that of the PID block except that the ENHREGCALC
block does not have Max. Ramp Deviation due to absence of PV parameter.
The SP target value processing uses the following parameters:

260

SPTVOPT

SP Target Value Option (indicates if SP target value


processing is requested)

SPTV

target SP value (user-specified)

SPTVNORMRATE

normal ramp rate (user-specified)

SPTVRATE

calculated ramp rate

SPTVTIME

ramp time in minutes (calculated or user-specified)

SPTVSTATE

current target value processing state (possible states are Off,


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Preset, Run)

SP target value processing works as follows:

At configuration time, you should:

Enable SP target value processing by setting SPTVOPT to Enable. If


SPTVOPT setting is in Disable state, you cannot store any other SPTV
parameter.

Specify a normal SP ramp rate (SPTVNORMRATE). This parameter lets you


start SP ramping without having to specify a ramp time. The
SPTVNORMRATE may be NaN or greater than zero. The NaN means step
change or ramp time equals 0).

To invoke SP ramping, you must do the following:

Store a target SP value (SPTV). To store to SPTV, target value processing must
be enabled but not running, so SPTVOPT equals Enable, and SPTVSTATE
equals Off or Preset. When SPTV is stored, and the function block is active, the
following occurs:
The system calculates a ramp time (SPTVTIME), based on the normal ramp
rate
SPTVSTATE goes to Preset.

Set SPTVSTATE equals Run. To store to SPTVSTATE, the function block


must be active and to start ramping, MODE must be Auto. When SPTVSTATE
goes to Run, SP begins to ramp toward SPTV, and SPTVTIME decreases over
time. When SPTVTIME reaches zero, SP equals SPTV, and SPTVSTATE goes
to Off. You may set the ramp time by storing to SPTVNORMRATE or
SPTVTIME. The ramp rate is derived from these two parameters and cannot be
changed by the user.

You may start ramping without specifying a ramp time. If you do this, the function
block calculates a ramp time and rate (SPTVTIME and SPTVRATE) as follows:
If SPTVNORMRATE is not NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

261

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Otherwise,
SPTVRATE = NaN
SPTVTIME = 0, or do a step change

If you specify a ramp time (SPTVTIME), the function block calculates a ramp rate
(SPTVRATE) as follows:
If SPTVTIME is non-zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise,
SPTVRATE = NaN

If the user changes the normal ramp rate (SPTVNORMRATE), the function block
recalculates the ramp time and rate (SPTVTIME and SPTVRATE) as follows:
If SPTVTIME is non-zero:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,
SPTVRATE = NaN
SPTVTIME = 0 or do a step change

Notes on SP target value processing

262

To start ramping to set SPTVSTATE equals Run:

MODE must be AUTO

SPTVSTATE must be Preset

SPTVSTATE automatically goes to Preset when:

SPTV or SPTVTIME are stored

MODE changes to Manual while SPTVSTATE is in Run


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

The function block is initialized (INITMAN = ON) while SPTVSTATE is in


Run

Control Module goes to Inactive


TIP
A one-shot initialization does not cause a change in SPTVSTATE.

SPTVSTATE automatically goes to Off when:

SP is stored by the operator, a user program or another function block

MODE changes to Cascade or Backup Cascade

SPTV and SPTVTIME can only be stored if:

SPTVSTATE is Off or Preset, and

MODE is Auto or Manual

The SP limits (SPHILM and SPLOLM) cannot be changed unless SPTVSTATE is


Off. This is because SPTV is limit-checked (against the SP limits), and changing the
limits could affect SP ramping.

If the anti-reset windup status (ARWNET) indicates that SP is wound up (Hi, Lo or


HiLo), then SP ramping stops. When ARWNET indicates that SP has returned to
normal, SP ramping continues from where it stopped.
TIP
When SP is ramping, ARWNET is not shown on the Group or Detail displays.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you do not have to
create them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

263

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

For example, if you connect OP from a ENHREGCALC block to SP on a PID block,


Control Builder automatically creates the BACKCALCOUT to BACKCALCIN
connection.

The ENHREGCALC 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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.
For example, if you connect the output from a ENHREGCALC block
(ENHREGCALC.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to ENHREGCALC.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single
ENHREGCALC output.

Output ranges and limits


CVEUHI and CVEULO define the full range of CV in engineering units.
If this block has a secondary, it gets the secondary's input range through BACKCALC
and sets its CV range to that. If it has no secondary, you must specify the values for
CVEUHI and CVEULO.
ATTENTION
This block gets the secondary's input range regardless of SECINITOPT.
This means regardless of whether the secondary's initialization and
override data is 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.
264

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

OP is clamped to these limits if the algorithm's calculated result (CV) exceeds them, or
another function block or user program attempts to store an OP value that exceeds them.
However, the operator may store an OP value that is outside these limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. You must specify these values.
The operator is prevented from storing an OP value that exceeds these limits.

Assignable outputs
You can assign expression results and/or inputs to the following parameters.

CVSRC - CV output source selector.

CVINITSRC - CVINIT source selector.

CVORFBSRC - CVORFB source selector.

INITREQSRC - INITREQ (initialization request flag) source selector.

INITVALSRC - INITVAL (initialization value) source selector.

ORFBVALSRC - ORFBVAL (override feedback value) source selector.

ORFBSTSSRC - ORFBSTS (override feedback status) source selector.

For example, you can assign the result of the second expression to CVSRC and the result
of the fourth expression to CVINITSRC and CVORFBSRC. You may assign the same
input to multiple outputs. You may also assign inputs directly to outputs, such as
assigning X[1] and X[2] to INITVALSRC and INITREQSRC, respectively.
The assignable expression and input parameters are as follows:
C[1..8] - Expressions
CSTS[1..8] - Expression Status
X[1..10] - Inputs
XSTS[1..10] - Input Status

Output assignment rules

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

265

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

ATTENTION
The ENHREGCALC block does perform data conversions, if the source and
target parameters are of different types. For example, if you assign the
INITREQSRC to X[2], the block converts the real type data from X[2] into
Boolean type data for INITREQ[1] that it sends to its primary. You must be
careful when making assignments that the resulting data conversions do not
make sense. For example, if you assign XSTS[1] to ORFBSTSSRC, the two
statuses are entirely different and they cause the block to produce
unexpected results.

266

The following parameters should be assigned to an input or an expression result

CVSRC - Since this parameter controls CV under normal conditions, when the
block is not initializing and its mode is CAScade, always assign this parameter.
If this parameter is left blank or unassigned, the Control Module containing the
block is allowed to go Active, but CV is NaN and OP has a value of zero.

CVINITSRC - Since this parameter controls CV when the block is in its


initialization state, CV gets initialized with the initialization value from the
secondary, like the other regulatory control blocks, if this parameter is not
assigned. You should only need to assign CVINITSRC when CV needs to be
initialized with a customized value.
If the CV value based on CVINITSRC assignment computes to NaN, it is
replaced by the INITVAL received from the secondary.
If the CV value based on CVINITSRC assignment is used as the INITVAL for
the primary and you have assigned INITVALSRC to compute a customized
INITVAL, the INITVAL for the primary is based on INITVALSRC.

CVORFBSRC - Since this parameter controls CV when the block's override


status is "unselected", you should only need to assign CVORFBSRC when CV
needs to be set based on the block's override status. The PID block is the only
one that sets its CV to override the feedback value received from its secondary
when the block's override status is "unselected". For other regulatory control
blocks, CV is not affected by the block's override status.

The following parameters are provided to the primary through this block's
BACKCALC data.

INITREQSRC

INITVALSRC

ORFBVALSRC
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

ORFBSTSSRC

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.

If a Parameter is . . .

And, a Secondary. . .

Then, This Block. . .

assigned

does or does not exist

uses the assigned value.

unassigned

exists

uses the corresponding


value from the secondary.

unassigned

does not exist

uses default values, such


as NaN for values and Off
for flags.

Control initialization
The ENHREGCALC block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the ENHREGCALC block:

initializes its output:


CV =CVINIT (an assignable output)

builds an initialization request for the designated primaries using the assignable
output parameters INITREQSRC and INITVALSRC. If you configure no
assignments for these parameters, the block behaves like other regulatory control
blocks, using the corresponding values brought from its secondary.

Be careful when making INITREQSRC and INITVALSRC assignments to avoid


producing the wrong results. For example, you assign the INITREQSRC parameter to
C[2], which produces a result of TRUE, and the ENHREGCALC block's mode is
CAScade and its INITMAN parameter is OFF. Also, you have assigned CVSRC to C[1],
which is configured as "X[1] +10.0", and INITVALSRC to C[3], which is configured as
this block's CV. Assume at some moment that X[1] is 15.0 and it produces a C[1] of
25.0, resulting in CV = INITVAL[1] = 25.0. The primary initializes itself with the value
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

267

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

25.0. This means that the next time the ENHREGCALC block runs it receives an X[1]
value of 25.0 from the primary, resulting in C[1] = CV = 35.0. Thus, each cycle that
ENHREGCALC runs, its CV increments by 10.0, producing seemingly wrong results.

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the ENHREGCALC 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.

268

There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.

You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). That is, the total bias eventually equals the
OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down OPBIAS.FLOAT.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

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
CVUNBIASED
OPBIAS.FIX

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)
= 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 is zero. In most cases,
OPBIAS.FLOAT is 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 never ramps
down.

Non-zero:
If OPBIAS.RATE is not zero, an OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. If the OPBIAS.FLOAT is not zero, it is ramped to zero at
the rate you configured for the OPBIAS.RATE parameter.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

269

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

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 occurs, if the primary does not
accept this block's initialization value.

After initialization, the ENHREGCALC block calculates the floating bias using the
following equation.
OPBIAS.FLOAT

= CVINIT - (Cvunbiased + OPBIAS.FIX)

Where:
CVunbiased
OPBIAS.FIX

= unbiased CV (It equals K X[1], if X[1] is assigned to


CV.)
= fixed output bias (user specified)

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.

270

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

271

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

A Get of This Parameter . . .

Equals This . . .

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain

272

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.

Timeout monitoring
If mode is CAScade, the ENHREGCALC block performs timeout monitoring of the
initializable input, SP If the SP value is not updated within a predefined time
(TMOUTTIME), the block invokes timeout processing as noted in the following section.
The maximum time between updates is specified by TMOUTTIME (in seconds)

R110
February 2014

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Experion LX Control Builder Components Theory


Honeywell

273

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Timeout processing
If SP times out, the ENHREGCALC block does the following:

Sets the input timeout flag (TMOUTFL)

Holds SP at its last good value.

Sheds to a user-specified timeout mode (MODE = TMOUTMODE).

Requests the SP primary to initialize (via BACKCALCOUT)


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.

Mode shedding on timeout

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.

If you want to disable the automatic return to CAScade, you may do one of the
following:

274

The ENHREGCALC block sets its cascade request flag (CASREQFL), if SP times
out and sheds to AUTOmatic mode. This indicates that the block is waiting to return
to the CAScade mode, and it will as soon as it fetches a good SP value. When it
receives a good SP value, the block does the following:

Store to MODE, which causes the CASREQFL to be cleared.

Store to CASREQFL.

If a block sheds to MANual mode, it will not set CASREQFL. Consequently, it will
not return to CAScade when it fetches a good value from the primary.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Override feedback processing


If the ENHREGCALC block is in a cascade strategy with a downstream OVRDSEL
(Override Selector) block, it receives override feedback data. The data consists of an
override status, override feedback value and an override offset flag. The status indicates
if this block is in the selected or unselected strategy (as determined by the OVRDSEL
block). The offset flag only applies to PID-type blocks.
When the override status changes from selected to unselected, the ENHREGCALC block
does the following:

initializes its output:


CV

= CVORFB (an assignable output)

Computes a feedback value for its primary:


feedback value for primary = ORFBVAL (an assignable output)
feedback status for primary = ORFBSTS (an assignable output)

If the ORFBVAL and ORFBSTS are not assigned and this block has a secondary, the
ORFBVAL and ORFBSTS received from the secondary are used to compute ORFBVAL
for the primary. When the override status from the secondary changes from selected to
unselected, this block does the following:
feedback value for primary = feedback value received from secondary.

ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.

You can customize the override feedback computation and propagation using the
following block parameters.
ORFBSTSSRC - If you make an ORFBSTSSRC parameter assignment, the
ENHREGCALC block computes the override feedback status from the assignment and
uses it for override processing and propagation to the primary. If you do not make an
assignment, the ENHREGCALC block uses the override status received from the
secondary for override processing, just like other regulatory control blocks do.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

275

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

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.

Windup handling
The ENHREGCALC block derives the ARWOP from a combination of the following
parameters and the secondary's windup status.

CV

XWHIFL

XWLOFL

The following table summarizes how the block derives ARWOP for some given
conditions.
If XWLOFL and/or XWHIFL
are. . .

276

And a Secondary. . .

Then, the Block Derives


ARWOP from . . .

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

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.
ATTENTION
The ARWNET[1] computation is independent of whether gain (K) is positive
or negative.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to HiLo.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

277

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
278

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

279

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

This block's output has reached its


negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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.

280

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. Table 1 lists the expression operators
and functions supported by this block for reference as well as some case sensitive strings
that can be used for special value constants in expressions.
ATTENTION
Do not use equality operands = and <> to compare FLOAT64 and FLOAT32
floating point values in expressions. Use inequality operands Less Than (<),
Less Than or Equal To (<=), Greater Than (>), or Greater Than or Equal To
(>=) instead.

Table 1 Expression operators, functions, and strings reference


Operators

Description

Unary

+-

Binary Arithmetic

+ -

Logical

AND OR NOT

Relational

= <> <= >= < >

Conditional

? : (For example, X ?Y : Z; similar to IF, THEN, ELSE)

Parenthesis

()

Array Syntax

[]

/ MOD (x MOD y) ^ (x^y)

Unary Functions
ABS

R110
February 2014

absolute value

LOG

Base 10 logarithm of a number

Experion LX Control Builder Components Theory


Honeywell

281

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Operators
ATN
1

COS

Description

arc tangent

RND

round value

cosine

SGN

sign of value (returns -1,0 or +1)

EXP

e to the power of x

SIN

sine

INT

convert to integer

SQR

square of a number

ISFIN

is finite

SQRT

square root

ISNAN

is Not a Number

TAN1

tangent

LN

Natural logarithm of a
number (log to the base of
e)
Multiple Argument Functions

MIN

minimum of n arguments
(ignore bad values)

MID

medium value of n arguments


(average of middle values for
even n)

MAX

maximum of n arguments
(ignore bad values)

MUL

product of n arguments

AVG

average of n arguments

SUM

sum of n arguments

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 position and an
integer length. The
function returns the
specified portion of the
original string.

STRNUM

Takes the string input


parameter and converts it to a
Float64

Time Support Functions

282

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Operators

Description

ABSTOD Takes an absolute time


DTIMNUM
data type and strips off the
year and date and returns
a 64-bit float representing
the time of day in
milliseconds.

Takes a delta TIME data type


and returns a 64-bit float
representing the number of
milliseconds.

NOW

Returns the current local


date and time as an
absolute time data type

NUMDTIM

Takes a 64-bit float


representing some number of
milliseconds and converts it to
a delta TIME data type.

NUMTIM

Takes a 64-bit float


representing the number
of milliseconds since Jan
1, 1972 and converts it to
absolute TIME data type.

STRTIM

Takes a string input parameter


and converts it to an Absolute
time. The string must be in the
same format as an Absolute
time constant.

TOD

Returns the current local


TIMNUM
time of day as Time of Day
data type

UTCTOD Returns the current UTC


UTCNOW
time of day as Time of Day
data type

Takes an Absolute TIME data


type and returns a 64-bit float
representing the total number
of milliseconds since Jan 1,
1972.
Returns the current UTC date
and time of day as an absolute
time data type

Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and
not degrees.
Case Sensitive Strings for Special Value Constants
NAN

IEEE NaN value

+INF

IEEE + Infinity value

-INF

IEEE - Infinity value

PI

PI (3.14159. . .)

e (2.718. . .)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

283

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Parameters in Expressions
You must specify a parameter by its full tag name (for example,
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression.
Hard limit of six parameter references in an expression is not documented. In fact,
Knowledge Builder states, "In effect, tag names allow expressions to have an unlimited
number of inputs, and work with any data type." Customer is concerned that the KB
statement is extremely misleading. This issue applies to AUXCALC, ENHAUXCALC,
REGCALC, and ENHREGCALC; and releases R210 and R300.
Expression descriptor parameters (EXPRDESC[1..8]) are used with the expression
constant parameters (CONST[1..8]) for providing a short description for the expressions.
The EXPRDESC[1..8] parameter can be modified only during the strategy configuration,
and is available even if CONSTENABLE is set to FALSE.
The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:

TagName.'text'

TagName is the name of the external reference component (i.e. an OPC Server). Text can
contain any characters, space, and special characters except for the delimiter character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
responsibility to ensure that the text is something that the external reference component
will understand. If this text is incorrect, runtime errors will occur.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.

Guidelines for Writing Expressions

284

Must include full tag.parameter name for X inputs in the expression and enclose
identification number in brackets instead of parentheses. For example,
CM151.REGCALC_1.X[1] CM151.REGCALC_2.X[2] is valid.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

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
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]).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

285

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

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.

Enable/Disable switch example expression


The Enable/Disable switch is used as a flag in the following user expressions.
Example 1
MIN((CM.ENHREGCALCA.XENABLE[10] = 1) ? CM.ENHREGCALCA.X [10]: userentered default , value2, value3).
Example 2
CM.ENHREGCALCA.X[1] CM.ENHREGCALCA.X[2] and say X[1] is disabled then
the CEE will evaluate the expression as
CM.ENHREGCALCA.XSUB[1] CM.ENHREGCALCA.X[2].
In this case, if an input is disabled, the corresponding substitute value is used in the
expressions.

String data support in expressions


The following operators can have string constants and/or string references as operands.
Operator
:=

Description
Assignment - used only in the SCM Step Output blocks to assign the
results of an expression to a reference.
Example:
CM.block.mystringparam := "This is a string constant"

286

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Operator

Description
CM.block.mystringparam := CM.desc

Concatenation
Example:
CM.block.mystringparam + CM.desc

Equal to
Example:
CM.block.mystringparam = CM.desc

<>

Not equal to
Example:
CM.block.mystringparam <> "This is a string"

Time support in expressions


Time data types
The following time data types are supported in expressions.

Absolute Time - Is stored as a 64-bit integer representing the number of tenths of


milliseconds since 1/1/1972.

Delta Time - Is also stored as a 64-bit integer and it represents an Absolute time
difference in tenths of milliseconds.

Time of Day - is an unsigned 32 -bit integer that represents a time of day in tenths of
milliseconds.

Time constants
You can use the following valid time constants in expressions.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

287

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Time related operators


The following operators can have time constants and/or time references as operands:
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.


1

HOURS

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

The DAY, HOURS, MINS, SECS Operators are not case specific.

Adding time data types


The following table shows results of adding the various time data types
Operand 2 Data Type

Operand 1 Data Type


Absolute Time

288

Delta Time

Experion LX Control Builder Components Theory


Honeywell

Time of Day

R110
February 2014

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

Operand 2 Data Type

Operand 1 Data Type

Absolute Time

Absolute Time

Absolute Time

Absolute Time

Delta Time

Absolute Time

Delta Time

Delta Time

Time of Day

Absolute Time

Delta Time

Time of Day

Subtracting time data types


The following table shows results of subtracting the various time data types
Subtrahend Data
Type

Minuend 1 Data Type


Absolute Time

Delta Time

Time of Day

Absolute Time

Delta Time

N/A

N/A

Delta Time

Absolute Time

Delta Time

N/A

Time of Day

Absolute Time

Delta Time

Time of Day

Time expression examples


The following are examples of some valid time expressions.

MYCM.block.elapsedtime > 5 MINS

CEE01.CURRTIME + 2 DAYS

CEE01.CURRTIME > 10/30/2002

CEE01.CURRTIME + CM.TIMER.SP SECS

(CEE01.CURRTIME - 1/01/2002 10:15:01)

STRTIM("12/01/2002") > CEE01.CURRTIME

TIMNUM(CEE01.CURRTIME)

NUMTIM(1000.0)=NOW

NOW - MyCM.myblock.todparam

ABSTOD(CEE01.CURRTIME)

2.

The following are examples of invalid expressions.


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

289

13. Regulatory Control


13.5. ENHREGCALC (Enhanced Regulatory Control Calculator) Block

CEE01.CURRTIME + 2
CEE01.CURRTIME > 5.0

REFERENCE - INTERNAL
Refer to Time Support in Experion LX System for more information about time
support in the system

Restart or Point Activation


On a warm restart or when an ENHREGCALC block is activated or inactivated,
initialization takes place.

ENHREGCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the ENHREGCALC block.

290

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

13.6 FANOUT Block


Description
The FANOUT block has one input and up to eight initializable outputs. It may also have
up to eight secondaries, since there is one secondary per initializable output. You may
specify a separate gain, bias, and rate for each output. Each specified value can be fixed
or external. A fixed value is stored manually or by a program, and an external value
comes from another function block. This block calculates a separate floating bias for
each output following an initialization or mode change. This provides a "bumpless"
transition for each output. It looks like this graphically:

Each FANOUT block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

291

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab

Description
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information. This is the block's
parameter.
High Limit (XEUHI) - Lets you specify the high input

range limit that represents 100% full-scale input for the


block. The default value is 100.
Low Limit (XEULO) - Lets you specify the low input

range limit that represents the 0 full-scale input for the


block. The default value is 0 (zero).
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
292

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab

Description
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

293

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab

Description
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Timeout Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Common Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
294

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab

Description
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

295

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab

Description
means the OP is held at its last good value.
Gain High Limit (GAINHILM) - Lets you specify gain

high limit value. Gain (K) is clamped to this value, if the


specified gain exceeds it. The default value is 240.
Gain Low Limit (GAINLOLM) - Lets you specify gain low

limit value. Gain (K) is clamped to this value, if the


specified gain is less than it. The default value is 0.
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).

296

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab
Alarms

Description
Type - Identifies the types of alarms this block supports.

These alarms also interact with other block configuration


options such as the Safety Interlock Option (SIOPT) and
Bad Control Option (BADCTLOPT). The types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is a checked
box or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR). The default value is LOW. The levels
are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV) as a


number between 0 to 15, with 15 being the most severe.
This determines the alarm processing order relative to
other alarms. The default value is 0.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

R110
February 2014

Experion LX Control
Builder Components
297
Disable
An alarm is Theory
not notified whenever a mode
Honeywell
shed happens in the event of an IO communication
loss.
Note: This parameter is available for configuration only if
the Enable Bad Output Connection Option is enabled.

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab
SCM

Description
SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
on the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the


function block takes when the SCM goes into an
abnormal state. The Starting State Option
(STARTOPT) applies when the SCM state is
Checking, Idle, or Complete. The Stop/Abort State
Option (STOPOPT) applies when the SCM state is
Stopping or Stopped, Aborting or Aborted. The
Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State
Option (RESTARTOPT) applies when the SCM
state is Resume or Run. The NONE and
LASTREQ are the only selections for the Restart
State Option. You can select from one of these
types for the other options as applicable for the
given regulatory control function block:

298

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC (Not


applicable for this block).

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (Not applicable for

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Configuration Tab

Description
this block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (Not applicable for this block).

RAMPEDSP - Set SPREQ = Configured Value


and SPRATEREQ = Configured Rate (Not
applicable for this block).

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

on Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

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
K(n)
(n)
OPBIAS(n).FIX
OPBIAS(n).FLOAT

R110
February 2014

= input value
= gain for output CV(n) (user-specified)
= output channel (number1 to 8)
= fixed bias for output CV(n) (user-specified)
= floating bias for output CV(n) (calculated)

Experion LX Control Builder Components Theory


Honeywell

299

13. Regulatory Control


13.6. FANOUT Block

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:
(n)
CVINIT(n)

= output channel (number 1 to 8)


= CV(n) during initialization

ATTENTION
The FANOUT block is the only Regulatory Control Block that can have
multiple secondaries.

Function
The FANOUT block provides a "bumpless" output for each of up to eight outputs
following initialization or mode changes.

Configuration example
See the previous Example of CB configuration using AUTOMAN block. figure for an
example of a FANOUT block being used to provide multiple outputs from a single PID
block.
300

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Inputs
The FANOUT block requires one input - X1:

X1 = initializable input which must come from another block (it cannot be set by an
operator or a program).

You must specify an engineering unit range (XEUHI and XEULO) for X1. The
block applies no range check. It assumes that X1 is within the specified range.

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
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.

Outputs
The FANOUT block may have up to 8 initializable outputs as follows:

OP[1..8] - calculated output, in percent.

OPEU[1..8] - calculated output, in engineering units.

Initializable inputs and outputs


"Initializable input" and "initializable output" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter and, when a connection between an initializable input and
initializable output is created, you can also create a BACKCALC connection between
them. Control Builder automatically builds the required BACKCALC connections, so
you do not have to create them manually. These "implicit" build connections are
"hidden" from view and the related parameter pins are not exposed on the control chart.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

301

13. Regulatory Control


13.6. FANOUT Block

For example, if you connect OP from a FANOUT block to an AUTOMAN block or an


AOCHANNEL block, Control Builder automatically creates the BACKCALCOUT to
BACKCALCIN connection.

For a given secondary, a connection to OP or OPEU may be created, but not to both.
(The default OP connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter (OPX/OPEUX) when
it is required.)

A separate gain and bias may be specified for each output.

The FANOUT block applies a separate floating bias to each output.

Gain limits may be configured with negative values, thereby making it possible to
reverse outputs by using negative gains.

The FANOUT block provides the X1 input range (XEUHI/XEULO) to the primary
through BACKCALC. The primary uses this for its output range
(CVEUHI/CVEULO).

Output ranges

302

CVEUHI[1..8] and CVEULO[1..8] define the full range of CV in engineering units


for each given output.

The FANOUT block does separate ranging for each output by maintaining a
separate CV range for each output which tracks the input range of the
corresponding secondary.

The CV range for each output must be the same as the input range of each
secondary. The FANOUT block brings the input range from each secondary
(through BACKCALC) and stores it as the corresponding CV range. As a
result, each output may have a different CV range. For example, a FANOUT
block has its outputs OP[1] and OP[2] connected to blocks PID1 and PID2,
respectively. It brings the input ranges of PID1 and PID2 and sets its CV ranges
of OPX[1] and OPX[2] to these input ranges, respectively.

The FANOUT block brings the secondary's input range regardless of


SECINITOPT (that is, regardless of whether the secondary's initialization and
override data will be used).

OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range. These are user-specified values. The same limits apply to all
outputs.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

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.

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output. Since the FANOUT block can have up to eight
outputs, a separate output bias is determined for each output. This means that the
parameters referenced in this discussion are actually indexed to the given output. For
example, OPBIAS[1] and CV[1] are indexed to OP[1], and so on for the other seven
outputs numbered 2 to 8.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the
FANOUT block is the first initializable block.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the function block only applies OPBIAS.FLOAT to the output for
the later two conditions, when it is the first initializable block.)

When the function block starts up (that is, it is Active).

When the function block initializes (for example, the secondary requests
initialization).

When the mode changes to Cascade (as applicable for the given block).

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

303

13. Regulatory Control


13.6. FANOUT Block

ATTENTION
When the function block goes Active or the Mode changes to Cascade (as
applicable for the given block), OPBIAS and OPBIAS.FLOAT are
recomputed.

There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.

You configure the value for the fixed bias (OPBIAS.FIX) and it is never overwritten
by the floating bias (OPBIAS.FLOAT). This means the total bias will eventually
equal the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.

You may store it to OPBIAS.FIX only if the function block is inactive or the MODE
is Manual; or if it is a PID or PIDFF function block with the CTLEQN is set to E.
When you store to OPBIAS.FIX, the following occurs:

The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.

The floating bias (OPBIAS.FLOAT) is set to zero.

The OPBIAS.FLOAT is calculated as follows.


OPBIAS.FLOAT

CVINIT - (CVUNBIASED + OPBIAS.FIX)

CVINIT

initialization value received from the secondary

CVUNBIASED

unbiased calculated value (based on input from the


primary)

OPBIAS.FIX

fixed bias (user-specified)

Where:

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.

304

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

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.
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.

Mode handling
The FANOUT block supports both the Cascade and Manual modes:

If mode is CAScade, then: X1 must be pulled from another block.

If mode is MANual, then: OP may be stored by the operator or a user-program


(X1 is ignored).

Timeout monitoring
If mode is CAScade, the FANOUT block performs timeout monitoring on X1. If the X1
value is not updated within a predefined time (TMOUTTIME), the FANOUT block
invokes timeout processing as follows:

Sets the "input timeout" flag (TMOUTFL).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

305

13. Regulatory Control


13.6. FANOUT Block

Sets the input value to Bad (NaN - Not a Number).

Requests the X1 primary to initialize (through X1BACKCALCOUT).

The FANOUT block does not support mode shedding on timeout.


The maximum time between updates is specified by TMOUTTIME (in seconds).

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME and
the CDA timeout time. The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE subscription rate is 100
milliseconds and the TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.

Control initialization
The FANOUT block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to the FANOUT block.
If all secondaries are requesting initialization and the SECINITOPT for corresponding
outputs is enabled, the FANOUT block

Initializes its output so CV[1..8] = INITVAL[1..8] from corresponding


secondary

Builds an initialization request for the primary as follows:


INITREQ(X1)

= On

INITVAL(X1) =

306

CV - OPBIAS(last).FIX
K(last)

Where:

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

(last)

CV
OPBIAS(last).FIX
K(last)

= last or most recent secondary to request initialization.


When more than one secondary requests initialization
simultaneously and the FANOUT initializes, "last" will be
the secondary with the lowest index number from the
secondaries that requested initialization.
calculated value
= fixed output bias for the last secondary
= gain for the last secondary

INITREQ(X1)

= initialization request flag for the X1 primary

INITVAL(X1)

= initialization value for the X1 primary

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 only performs initialization if all of the secondaries


are requesting it. As long as one secondary is not requesting
initialization, the FANOUT block ignores all requests. For this reason, we
recommend that you 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 AUTOMAN block 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.

When FANOUT block comes out of initialization, it calculates INITVAL(X1) as


follows:

INTVAL (X1) = CV - OPBIAS (index).FIX


K (index)

R110
February 2014

Where:

Experion LX Control Builder Components Theory


Honeywell

307

13. Regulatory Control


13.6. FANOUT Block

(Index)

= output channel number (1 to 8) corresponding to the


secondary which is not requesting initialization. If more
than one secondary stops requesting initialization
simultaneously, "Index" represents the secondary
corresponding to the lowest numbered output that
stopped requesting initialization.

Secondary initialization option


If a BACKCALC connection is made, the primary always brings initialization data over
this connection. However, you can configure the block to ignore this data by not
selecting the Enable Secondary Initialization Option on the block's parameter
configuration form. This is the same as selecting disable as the setting for the
SECINITOPT parameter. The results of the SECINITOPT settings are as follows.

If SECINITOPT equals Enable, it means the function block should accept


initialization and override requests from the secondary.

If SECINITOP equals Disable, it means the function block should ignore


initialization and override requests from the secondary.

Since the FANOUT block can have up to eight secondaries, you can selectively
enable/disable the SECINITOPT for each output.

Override feedback processing


The FANOUT block does not propagate override data to its primaries.

BACKCALC processing
BACKCALC contains initialization, windup, and range data from each secondary. The
FANOUT block always uses the secondary's windup status and range data, and you may
specify whether to ignore initialization through the SECINITOPT parameter. There is 1
SECINITOPT per secondary.
Since initialization and windup data may be received from multiple secondaries, the
FANOUT block applies the following rules to decide what it should propagate from its
secondaries:

308

c)

Initialization is propagated only if all secondaries are requesting it. The FANOUT
block uses the initialization value from the last secondary to request it.
SECINITOPT may be used to ignore initialization requests from selected
secondaries.

d)

Refer to Windup Processing below.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
ATTENTION
While the Fanout block contains multiple outputs, it has only one main output,
so only one OUTIND parameter will be supported on the block.

You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab supports the output direction of the
block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

309

13. Regulatory Control


13.6. FANOUT Block

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.

310

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.

Windup processing in FANOUT block


Windup is propagated only if all secondaries agree. The FANOUT block uses the
windup status from all secondaries regardless of SECINITOPT. The FANOUT block
only propagates a high or low windup status to its primary under the following
conditions:

If all secondaries are in high windup, the FANOUT block propagates a high windup
status to its primary (ARWNET = Hi).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

311

13. Regulatory Control


13.6. FANOUT Block

If all secondaries are in low windup, the FANOUT block propagates a low windup
status to its primary (ARWAY = Lo).

Note that if the gain is reversed for one of the outputs, then high windup on that output is
the same as low windup on the others.
The FANOUT block propagates a normal windup status to its primary under the
following conditions:

If at least one secondary has a normal windup status.

If at least one secondary is in Hi windup and another is in Lo.

Note that the FANOUT block checks the windup status from all secondaries, regardless
of SECINITOPT selection.

Windup processing in Regulatory blocks


Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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 the proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
312

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status does is to stop integral action in
one or both directions on PID blocks. For any other regulatory control type block,
ARWNET is not used for any kind of limiting. The ARWNET is computed as follows,
assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

R110
February 2014

Then, ARWNET Equals . . .


HiLo

Experion LX Control Builder Components Theory


Honeywell

313

13. Regulatory Control


13.6. FANOUT Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On).
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

314

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.6. FANOUT Block

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and Control Algorithm Block (CAB) programs.
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 . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

R110
February 2014

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

315

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

FANOUT parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the FANOUT block.

13.7 OVRDSEL (Override Selector) Block


Description
The OVRDSEL block accepts up to four inputs (primaries) and selects the one with the
highest or lowest value. It looks like this graphically:

Each OVRDSEL block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.

316

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Control Equation (CTLEQN) - Lets you select Equation A

or B to define if the block is to select the highest or the


lowest non-bypassed inputs. The default selection is
EQA, which means the block selects the highest nonbypassed inputs.
Enable Override Option (OROPT) - Lets you specify if

the override option is to be enabled or not. This


determines if the block propagates override feedback
data to the non-selected inputs or not. The default
selection is disabled (unchecked or OFF), that is, the
feedback data is not propagated.
Enable Override Offset (OROFFSET) - Lets you specify

if an upstream PID block should apply a calculated offset


to the propagated feedback value or not. This only
applies when the OROPT is enabled (checked or ON).
The default selection is disabled (unchecked or OFF),
which means the PID block does not apply an offset to
the feedback value.
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is enabled (checked, do not ignore).
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

317

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


318

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Input

High Limit (XEUHI) - Lets you specify the high input

range limit that represents 100% full scale input for all
the block inputs (X[1..4]). The default value is 100.
Low Limit (XEULO) - Lets you specify the low input

range limit that represents the 0 full scale input for all the
block inputs (X[1..4]). The default value is 0 (zero).
Enable Input Bypassing (ORBYPPERM) - Lets you

specify whether or not an operator can explicitly bypass


(ignore) any input to the block. The default selection is
disabled (unchecked or OFF), which means an operator
cannot bypass any input.
Timeout Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

319

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME and the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Description - Lets you enter up to a 15-character

description for each input (X[1..4]). The description is


stored in the XDESC[1..4] parameter and is copied to the
SELXDESC parameter when the corresponding input is
selected. This means SELXDESC is automatically
updated whenever SELXINP is updated.
Bad Input Option (BADINPTOPT[1..4]) - Lets you specify

whether the block is to include or ignore an input with


bad values in its selection process. The default selection
is INCLUDEBAD, which means the block's CV value is
set to NaN (Not a Number).
Bypass (ORBYPASSFL[1..4]) - Lets you specify whether

a given input is to be bypassed or not. If a given input


flag is ON (checked), this input is not used in the block's
selection process. The default selection is OFF
(unchecked), which means the input is not bypassed.
If all inputs are bypassed, the block holds its CV at its
last value.
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
320

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. The default value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. The default value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

321

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value.
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Alarms

Type - Identifies the types of alarms this block supports.

These alarms also interact with other block configuration


options such as the Safety Interlock Option (SIOPT) and
Bad Control Option (BADCTLOPT). The types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is a checked
box or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


322

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, OPLOALM.SV) as a number between 0
to 15, with 15 being the most severe. This determines
the alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

323

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
324

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab

Description
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC (Not


applicable for this block).

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (Not applicable for


this block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (Not applicable for this block).

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate (Not
applicable for this block).

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

325

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration Tab
Insertion Type

Description
Lets you include an insertion type from a CAB instances in
the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
This block always forces the unselected inputs to track the selected input by enabling the
override feedback option. You select the override option by setting the parameter
OROPT to ON or by selecting the Enable Override Option check box on the block's
parameter configuration form.
If OROPT is . . .

Then, . . .

ON

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.

The windup propagation is done whether OROPT is ON or OFF.


The override feedback method of tracking is different from tracking by initialization in
the following way:

With initialization, the upstream blocks set their output based solely on the
initialization value from their secondary. They do not fetch inputs or perform their
normal algorithm calculations.

Override feedback is a two-step process.


Step

326

Action

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Step

Action

The override feedback data is propagated to all of the blocks in an upstream


cascade and they set their outputs accordingly. The data consists of an
override status (FBORSTS, which indicates if the primary is selected or not),
an override feedback value (internal, which is calculated to prevent "wind-up"
in unselected primaries), and an override offset flag (internal), which indicates
how the feedback value should be calculated.

The cascade executes as normal, where each block fetches its input and
performs its normal algorithm calculation.

As previously stated, this block "provides" override feedback data to every block in an
upstream cascade. It doesn't matter how many blocks are upstream, or whether they are
on-node or off. However, the keyword here is "provides" because it may take several
execution cycles for the data to reach the furthest block. The OVRDSEL block will
propagate the data to a limited number of on-node blocks. (See limitations below.)
When it reaches that limit, it will interrupt the propagation and pass the data to the next
upstream block through BACKCALC. When the upstream block fetches BACKCALC,
it detects that override propagation was interrupted, and resumes propagating (subject to
the same limitations).
Limitations:

For a given input path, propagation stops at a block that is inactive.

For a given path, propagation is interrupted at a block with an off-node primary. The
primary resumes propagation on its next execution cycle.

For a given path, propagation is interrupted after five upstream blocks. The sixth
block resumes propagation on its next execution cycle.

Example: Assume an OVRDSEL block has four inputs, where one input is a cascade of
nine upstream blocks, and each of the others is a cascade of four upstream blocks. Also,
assume that all of the blocks are on-node. Then, the OVRDSEL block will propagate to
the first five blocks in the first cascade, and to every block in the other cascades. The
next time the sixth block runs, it will bring BACKCALC from the fifth, determine that
propagation was interrupted, and resume propagation to the remaining blocks in that
cascade.
ATTENTION
The system's ability to interrupt and resume override propagation has
advantages and disadvantages.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

327

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

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.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether OROPT is On or Off.

Configuration example
The following figure and its companion callout description table show a sample
configuration that uses an OVRDSEL block to provide override feedback data to
upstream PID blocks for quick reference.

328

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Figure 15 Example of CB configuration using OVRDSEL block.


The following table includes descriptions of the callouts in figure above.
Callout

Description

Use the PV parameter connection to carry data from the analog input to the
PID block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

329

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Callout

Description

The Enable Override Option (OROPT) is selected for the OVRDSEL block.
This means that the Not Selected primary PID's output is initialized to the
same value as the Selected PID's output. You must configure the OP
parameter to appear on the faceplate of the block through the Monitoring
Parameters tab in the block configuration form.

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

330

You can configure the OVRDSEL block to select the lower of the two
primary inputs by selecting Equation B or the higher of two inputs by
selecting Equation A.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Configuration considerations
Keep the following considerations in mind when configuring control strategies using
OVRDSEL blocks.

When possible, load control strategies using OVRDSEL blocks in the same CEE.
Only the most downstream OVRDSEL block in the cascade propagates the override
feedback value to its primaries. When this strategy is in the same CEE, the
propagation of override feedback value to the unselected primaries of an OVRDSEL
block takes place in one execution cycle of the block. The means the override
feedback value and other feedback data are the most recent values.

In any control strategy that includes OVRDSEL blocks, the sequence of execution
of all blocks is very important. All the primaries should run before the OVRDSEL
block that propagates the feedback gets a chance to execute. This another reason for
loading control strategies that include OVRDSEL blocks in the same CEE. The
following configuration scenarios outline some typical execution settings for
reference.

If all the blocks are contained in the same Control Module, all the primaries
should execute before the OVRDSEL block does. This means the
ORDERINCM parameter of the OVRDSEL block must be larger than the
corresponding number for all its primaries. For example, if Control Module
CM01 has blocks PID01, PID02, PID03, PID04, and OVRDSEL05, the
suggested settings for the ORDERINCM parameter are PID01.ORDERINCM <
PID02.ORDERINCM < PID03.ORDERINCM < PID04.ORDERINCM <
OVRDSEL05.ORDERINCM.

If primaries are residing in different Control Modules within the same CEE, the
previous scenario still applies for the Control Module containing the OVRDSEL
block. Plus, the ORDERINCEE parameter setting for the Control Modules that
contain other primaries should be smaller than the ORDERINCEE parameter
for the Control Module that contains the OVRDSEL block. For example, if
Control Module CM01 contains a PID cascade loop with an OVRDSEL block
and Control Modules CM02 and CM03 contain other primaries of the
OVRDSEL block, the suggested settings for the ORDERINCEE parameter are
CM01.ORDERINCEE > CM02.ORDERINCEE > CM03.ORDERINCEE.

The strategy includes a cascade loop with an OVRDSEL block that propagates
only 5 on-node regulatory control blocks in its one execution cycle. The
propagation then continues through the BACKCALC connection , when the
primary runs the next time. The override feedback value could be old for any
primaries that are off-node or beyond the limit of 5.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

331

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Inputs
The OVRDSEL block accepts one to four inputs - X[1] through X[4]. It requires at least
two inputs, but they can be any of the four.

X[1] through X[4] are initializable inputs.

The inputs must be pulled from other function blocks; you cannot store to them.

This block may have two to four primaries, depending on the number of inputs that
are configured. (There is one primary per initializable input.)

Input ranges
XEUHI and XEULO define the full range of inputs.

XEUHI represents the 100% of full scale value.

XEULO represents the 0% of full scale value.

This block assumes that all X-inputs are within XEUHI and XEULO. It applies no range
checks.

Input descriptors
You can define descriptor (name) of up to 15-characters for each input. The descriptors
reside in the XDESC parameter, and when an input is selected, the corresponding
descriptor is copied to SELXDESC.
When SELXINP is updated, then SELXDESC is automatically updated.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter, and when you create a connection between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a PID block to an OVRDSEL block or an
AOCHANNEL block, Control Builder automatically creates the BACKCALCOUT to
BACKCALCIN connection.
The OVRDSEL block has the following initializable outputs:
332

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

OP = Calculated output, in percent.

OPEU = Calculated output, in engineering units.

You may create a connection to OP or OPEU but not to both. Therefore, this block may
have only one secondary. If you do not create a connection to OP or OPEU, then the
block does not have a secondary. Alternately, if you connect OP or OPEU to a noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter connection when required.
For example, if you connect the output from a PID block (PIDA.OP) to the input of an
OVRDSEL block (OVRDSEL1.X1), the implicit/hidden connection is made to
PIDA.OPX to provide value/status data.)

Output ranges and limits

CVEUHI and CVEULO define the full range of CV in engineering units.

This block doesn't have CVEUHI and CVEULO as configurable parameters for the
reasons given below:

If this block has a secondary, it brings the secondary's input range through
BACKCALCIN and sets its CV range to that.
ATTENTION
This block fetches the secondary's input range regardless of SECINITOPT
(i.e., regardless of whether the secondary's initialization and override data will
be used).

OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.

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.

R110
February 2014

The operator is prevented from storing an OP value that exceeds these limits.

Experion LX Control Builder Components Theory


Honeywell

333

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

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.

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.

334

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

335

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.
336

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Mode handling
This function block supports the Cascade and Manual modes.
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.

Timeout monitoring
If MODE is CAScade, this block performs timeout monitoring on all inputs (X[1..4])
that are not bypassed. (See Bypass Processing paragraph below.) If an input value is not
updated within a predefined time (TMOUTTIME), the block invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
This function block only performs timeout monitoring on inputs that are not bypassed.
(See Bypass Processing paragraph below.)
If MODE is CAScade and an input times out, this block does the following :

Sets the "input timeout" flag (TMOUTFL)

Sets the input value to Bad (NaN).

Requests the input's primary to initialize

This block does not support mode shedding on timeout.


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
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

337

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

CEE subscription rate. For example, if the CEE subscription rate is 100
milliseconds and the TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.

Bypass processing
You may explicitly bypass (ignore) any input. The primary will initialize if it is
bypassed. The following parameters support this:

ORBYPASSFL[1..4] - Override Bypass Flags. A flag for each input; used to specify
which inputs should be bypassed. If a flag is set, the corresponding input is not used
in the selection process. If all bypass flags are set, this block holds CV at its last
value. This block uses the bypass flags regardless of whether OROPT is ON or OFF.

ORBYPPERM- Override Bypass Enable. Indicates if the operator is allowed to


bypass inputs.

Bad input option


The block can include or ignore inputs with bad values (NaN) per input, by setting the
parameter BADINPTOPT[1..4].

BADINPTOPT- Bad Input Option enable. Indicates if the function block should
include bad inputs (NaN) in the selection process.

BADINPTOPT has the following options:

IgnoreBad (Ignore bad inputs)

IncludeBad (Include bad inputs)

When an input goes bad and its BADINPTOPT(i) is set to IncludeBad, then the
OVRDSEL's CV is set to NaN.
When an input goes bad and its BADINPTOPT(i) is set to IgnoreBad, then the
OVRDSEL ignores that input in its processing and will select one of the other inputs
based on its configured equation (High or Low selector).

Equations
The OVRDSEL block selects one of the inputs according to the following user-selected
equations:

Equation A - select the highest of the non-bypassed inputs:


CV = the highest input + OPBIAS.FIX + OPBIAS.FLOAT

338

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Equation B - select the lowest of the non-bypassed inputs:


CV = the lowest input + OPBIAS.FIX + OPBIAS.FLOAT

This block stores the number of the selected input in parameter SELXINP, and sets or
resets the input selection flags SELXFL(1..4). There is one selection flag per input; ON
means the input was selected, and Off means it was not.
This block compares the currently selected input against the other inputs. In the case of
equal values, the current input remains the selected input. For example, assume that
X[2] and X[3] have the same value and X[3] is the selected input. If that value is
selected, the selected input remains X[3].

Input switching
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether OROPT is On or Off.

Output bias

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.

Bad CV processing
If the selected input is bad and MODE is Cascade, this block does the following:

sets CV to Bad (NaN)

sets the Bad Control flag (BADCTLFL)

When the selected input returns to normal, this block does the following:
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

339

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

resets the Bad Control flag (BADCTLFL)

requests the bypassed primaries to initialize (i.e., sets INTREQ(n) to On when


ORBYPASSFL(n) is On)

Control initialization
This block brings initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one-shot initialization requests to this block.
You can use SECINITOPT to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:

initializes its output:


CV = initialization value from the secondary

sets SELXINP = None

builds initialization requests for the primaries:

If this block is in the Manual mode, it requests all primaries to initialize. Otherwise, it
only requests the bypassed primaries to initialize. It builds initialization requests as
follows:

INITREQ(n) = On

INITVAL(n) = CV

where:
(n)

identifies the primary to be initialized

INITREQ

initialization request flag for primary

INITVAL

initialization value for primary

Restart or function block activation


When this function block is activated, or on a warm restart, it does the following:

340

Sets CV = initialization value from the secondary, and

Requests all primaries to initialize (That is set all INTREQ flags On, and set
INITVAL = CV).
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Override feedback propagation


This block propagates override feedback data to the upstream blocks if it is,

in the Cascade mode,

not initializing, and

OROPT is ON.

If these conditions are true, this block provides the following data to every upstream
block:

Override status - This status indicates if the upstream block is on the selected input
path or not. Possible values are:
Value

SEL (Selected)

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.

Sent to

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,

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

341

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

Gain (PVP - SPP) < 0.0 and the downstream OVRDSEL block is a Low
selector.

Recommendations on configuring override strategies

While PIDs in an override strategy can be configured with proportional and


derivative action, use of these actions should be carefully considered because
undesired results may occur, such as momentary oscillations caused by "kicks" in
the error.

We do not recommend using a PID with External Reset Feedback in an override


strategy.

If override propagation is interrupted, the blocks above the interrupt point are using
override data that is older than the blocks below it. Override data above this point
typically lags by one or two function block cycles.
If you have an override strategy where all blocks must have their override data in
sync, then that strategy must be on the same node, and have no more than seven
blocks in each input cascade.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to HiLo.

342

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

343

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.

344

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

This block's output has reached its


negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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 . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

R110
February 2014

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

345

13. Regulatory Control


13.7. OVRDSEL (Override Selector) Block

346

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

OVRDSEL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the OVRDSEL block.

13.8 PID Block


Description
The PID block is a regulatory control block that operates as a proportional-integralderivative (PID) controller. It supports the Ideal form of calculating the PID terms. The
Ideal form is often called the digital-computer version of the PID controller. The PID
block looks like this graphically:

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

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

347

13. Regulatory Control


13.8. PID Block

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.

Fuel Flow
Controller
OP

PV
SP

Temperature
Controller
OP

PV
SP

Figure 16 Simple cascade control loop example.


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
348

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
PVEU Range High (PVEUHI) - Lets you specify the high

input range value in engineering units that represents


100% full scale PV input for the block. The default value
is 100.
PVEU Range Low (PVEULO) - Lets you specify the low

input range value in engineering units that represents the


0 full scale PV input for the block. The default value is 0
(zero).
Manual PV Option (PVMANOPT) - Lets you specify the

mode and output the block is to assume when PVSTS


changes to MANual. The selections are:

R110
February 2014

NOSHED - No changes.

SHEDHOLD - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and holds output at the last
good value.

SHEDLOW - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to its

Experion LX Control Builder Components Theory


Honeywell

349

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
extended low limit (OPEXLOLM) value.

SHEDHIGH - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to its
extended high limit (OPEXHILM) value.

SHEDSAFE - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to the
configured safe output (SAFEOP) value.

The default selection is SHEDHOLD.


The block requests its primary to initialize after a mode

shed or lets the primary know that it is woundup, if it


does shed its mode. An operator can change the block's
mode after it is shed, but, the operator must first set
PVMANOPT to NOSHED, so the mode doesn't shed
again.
When PVSTS returns to normal, the block clears its
primary initialization request but remains in MANual
mode after a mode shed. An operator must return the
block to its normal mode. If mode was not shed, the
block clears its windup condition and does a one-shot
initialization. It also requests the primary to do a oneshot initialization.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
350

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
enforce the MODE assignment. For example, if the
MODE is CAScade and the block is getting its SP from
another block, an operator is prevented from overwriting
the SP value. However, If there is a breakdown in the
cascade loop, the MODE can be changed so an operator
can write a value to the SP. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

351

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Algorithm

Control Equation Type - Lets you select the control

equation the block is to use. The selections are EQA,


EQB, EQC, EQD, and EQE. See the PID Equations
section for this block for details. The default selection is
EQA.
Control Action - Lets you specify if the block is to provide

direct or reverse control action. The default selection is


REVERSE, which means output decreases as input
increases.
T1 (minutes) (T1) - Lets you set integral time to be used

for the integral term in the control equation.


T1 High Limit (minutes) (T1HILM) - Lets you define the

high limit value in minutes for the integral time setting.


The default limit is 1440.
T1 Low Limit (minutes) (T1LOLM) - Lets you define the

low limit value in minutes for the integral time setting.


The default limit is 0.
T2 (minutes) (T2) - Lets you set the derivative time to be

352

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
used for the derivative term in the control equation.
T2 High Limit (minutes) (T2HILM) - Lets you define the

high limit value in minutes for the derivative time setting.


The default limit is 1440.
T2 Low Limit (minutes) (T2LOLM) - Lets you define the

low limit value in minutes for the derivative time setting.


The default limit is 0.
High Gain Limit (GAINHILM) - Lets you set a high limit

for the gain (K) value. If this value is exceeded, K is


clamped to this limit. The default value is 240.
Low Gain Limit (GAINLOLM) - Lets you set a low limit for

the gain (K) value. If K is less than this value, it is


clamped to this limit. The default value is 0.
Gain Options (GAINOPT) - Lets you select the type of

gain term to be used in the PID equation. The default


value is LIN. The selections are:

R110
February 2014

LIN - The LINear gain option provides a


proportional control action that is equal to a
constant (K) time the error (PV -SP). This applies
to equations A, B, and C.

GAP - The GAP gain option reduces the sensitivity


of the control action when the PV is in a userspecified band (gap) around the set point. This
applies to equations A, B, and C.

NONLIN - The NONLIN gain option provides a


proportional control action that is equal to the
square of the error, rather than the error itself. This
applies to equations A, B, and C.

EXT - The EXTernal gain option modifies the gain


(K) by an input value from either the process,
another function block, or a user program. You can
use this option to compensate for nonlinear
process gain - lets you tune the PID gain
independent of the normal operating point of the
process. For example, If you are controlling the
level of tank whose cross-section is not constant,
you can use the EXT option to modify the gain to
compensate for the nonlinear rate of level change,
which is caused by the changing shape of the tank.

Experion LX Control Builder Components Theory


Honeywell

353

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
This applies to equations A, B, and C.
Overall Gain (K) - Lets you set the overall gain value

used to calculate the proportional term in the PID


equation. The default value is 1.
Gap High Limit (GAPHILM) - Lets you define the high

limit value in PV engineering units to be used when


calculating GAP gain.
Gap Low Limit (GAPLOLM) - Lets you define the low

limit value in PV engineering units to be used when


calculating GAP gain.
Gap Gain Factor (KMODIFGAP)- Lets you specify the

value to be used for calculating overall gain (K) when the


PV input is within the user specified band (GAPLOLM GAPHILM) around the SP. The value range is 0.0 to 1.0.
Linear Gain Factor (KLIN) - Lets you specify the value to

be used for calculating the overall gain (K) in association


with GAP, NONLIN, or EXT gain option.
Non-Linearity Form (NLFORM) -Lets you specify the

non-linearity form (0 or 1) to be used for calculating gain


(K) based on the formula shown for Non Linear Gain in
the Gain Options section. The default value is 1.
Non-Linear Gain Factor (NLGAIN) -Lets you specify the

non-linear gain value to be used for calculating gain (K)


based on the formula shown for Non Linear Gain in the
Gain Options section. The default value is 0.
External Gain Factor (KMODIFEXT) - Lets you specify

an input value from either the process, another function


block, or a user program to be used to modify the gain
(K) calculation per this formula:
K = KLIN KMODIFEXT
See External Gain in the Gain Options section for more
details. The default value is 1.
Legacy Gap: An option which allows the user to revert

back to older GAP and Nonlinear gain calculations so


that there is no change in behavior after migration. The
option when enabled will allow the Experion controllers to
have the same behavior as the TPS xPM controller. See
LEGACYGAP Option

354

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Configuration Tab
SetPoint

Description
SP (SP) - Lets you specify an initial set point value. The

default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value

for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value

for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired

MODE the block is to assume, if an initializable input


times out, which means the input has not been updated
within a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Enable Advisory SP Processing (ADVDEVOPT) - Lets

you specify whether or not the block is to generate a


deviation alarm when the PV deviates from a user
specified "advisory" SP value. The default selection is
unchecked (Disabled).
Advisory SP Value (ADVSP) - Lets you set an advisory

SP value in PV engineering units, when Advisory SP


Processing is enabled. When PV exceeds or deviates
from this value, the block generates an advisory
deviation alarm.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

355

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
Enable PV Tracking (PVTRAKOPT) - Lets you specify if

PV tracking is to be applied to this block or not. When


PV tracking is enabled, this option sets the SP equal to
PV when the operation of a cascade loop is interrupted
by either initialization, operator or program operation
(such as, setting the MODE to MANual). This option is
normally enabled for PIDs in a cascade loop. The default
selection is unchecked (disabled). See the PV tracking
section for this block for more details.
Enable PV Tracking in Auto/Init (PVTRAKOPTAI) - Lets

you specify if PV Tracking option for the specific case


when the block is in Auto mode and it is undergoing
initialization (INITMAN is ON) is be enabled or not. The
default selection is unchecked (disabled).
Enable SP Ramping (SPTVOPT) - Lets you specify if an

operator can initiate a set point ramp action or not. It


provides a smooth transition from the current set point
value to a new one. The default selection is box
unchecked (disabled). See the Set point ramping section
for this block for more details.
Normal Ramp Rate (SPTVNORMRATE) - Lets you

specify a ramp rate in engineering units per minute for


the SP ramping function, when it is enabled. This lets an
operator start the SP ramping function without specifying
a ramp time. The default selection is Not a Number
(NaN). See the Set point ramping section for this block
for more details.
Max. Ramp Deviation (SPTVDEVMAX) - Lets you

specify a maximum ramp deviation value in engineering


units per minute for the SP ramping function, when it is
enabled. Keeps PV within the specified deviation range
for a ramping SP by stopping the SP ramp until the PV
input catches up with the SP value. The default value is
NaN, which means no ramp deviation check is made.
See the Set point ramping section for this block for more
details
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
356

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

357

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
CVEU Range High (CVEUHI) -Lets you specify the high

output range value in engineering units that represents


100% full scale CV output for the block. The default
value is 100.
CVEU Range Low (CVEULO) - Lets you specify the low

output range value in engineering units that represents


the 0 full scale CV output for the block. The default value
is 0 (zero).
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:

358

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Deviation High (DEVHIALM.FL)

Deviation Low (DEVLOALM.FL)

Advisory Deviation (ADVDEVALM.FL)

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

Enable Alarm (ADVDEVOPT and SIALM.OPT ) - Lets

you enable or disable Advisory Deviation and/or Safety


Interlock alarm types. A check in the box means the
alarm is enabled. The default selections are unchecked
or Disabled for Advisory Deviation and checked or Yes
(enabled) for Safety Interlock.
You can also configure the ADVDEVOPT and
SIALM.OPT parameters as a block pins, configuration
and/or monitoring parameters so they appear on the
block in the Project and Monitoring tree views,
respectively.
Trip Point - Lets you specify the following trip points for

the given alarm. The default value is NaN, which


disables the trip point.

OPHIALM.TP (Output High Alarm Trip Point)

OPLOALM.TP (Output Low Alarm Trip Point

DEVHIALM.TP (Deviation High Alarm Trip Point)

DEVLOALM.TP (Deviation Low Alarm Trip Point)

ADVDEVALM.TP (Advisory Deviation Alarm Trip


Point)

Priority - Lets you set the desired priority level

individually for each alarm type (OPHIALM.PR,


OPLOALM.PR, DEVHIALM.PR, DEVLOALM.PR,
ADVDEVALM.PR, SIALM.PR, BADCTLALM.PR,). The
default value is LOW. The levels are:

R110
February 2014

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear

Experion LX Control Builder Components Theory


Honeywell

359

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (OPHIALM.SV, OPLOALM.SV,


DEVHIALM.SV, DEVLOALM.SV, ADVDEVALM.SV,
SIALM.SV, BADCTLALM.SV,) as a number between 0 to
15, with 15 being the most severe. This determines the
alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

360

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
specify if an alarm is to be notified in the alarm summary
whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

361

13. Regulatory Control


13.8. PID Block

Configuration Tab

Description
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV.

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN.

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate.

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPEXLOLM to OPEXHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Rate (STARTRATE, STOPRATE, HOLDRATE) - When

the RAMPEDSP option is selected, lets you specify a


rate value (STARTRATE, STOPRATE, HOLDRATE) for
setting the SPRATEREQ for an SP ramping function.

362

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Configuration Tab
Insertion Type

Description
Lets you include an insertion type from a CAB instances in
the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
A PID requires two inputs - a process variable (PV) and a set point (SP):

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).

A PID also has the following optional inputs. Typically, these are flags which may be
stored by the operator or user program to change the normal operation of the PID.

ESWAUTO, ESWCAS, ESWMAN and SI - Indicates if an external source, such as


a user program, wants to change the PID'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 PID's safety interlock logic.

If a BACKCALC connection is made to the secondary, the PID 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 PID to
initialize.

The individual BACKCALCIN/BACKCALCOUT connections for each output used


are automatically built by Control Builder as implicit/hidden connections. This

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

363

13. Regulatory Control


13.8. PID Block

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.

Functional scenario
This scenario is based on the functional block diagram of a typical cascade loop shown
in the following figure and it assumes the following:

The PID2's Mode is Cascade. As a result, SP is pulled from a primary (PID1), and
the PID2 must perform timeout checking on it.

Both PID1 and 2 pull PV from Data Acquisition (DATAACQ) function blocks as
shown in following figure.

The PID1 has an active output. As a result, it reads BACKCALCIN from and
provides OP to the secondary (PID2).

The PID2 will never be wound-up, and never request the PID1 to initialize. In
addition, the PID1 will never be wound-up, and never request its SP to initialize.

The PV, SP and OP connections are all good which means there are no
communication errors or timeouts.

Set Point stored by


operator or user
program

Primary

BACKCALCIN

SP

PID1

PV

OP

DATAACQ

Secondary

P1

SP

PID2

PV

OP

PV

DATAACQ
P1

364

PV

Experion LX Control Builder Components Theory


Honeywell

BACKCALCOUT
Typically goes to
Analog Output
Channel FB

R110
February 2014

13. Regulatory Control


13.8. PID Block

Figure 17 Functional block diagram of typical PID cascade operation.


The functional steps associated with this PID operating scenario are listed in the
following table.
Step

Action

The PID1 provides a value to the PID2 SP variable (before the PID1
executes).

The PID1's "Execute" method is called by the CEE (Control Execution


Environment). The PID execution period is configurable.

The PID2 performs timeout checking on SP (to make sure the variable has
been updated). The SP timeout value is configurable.

The PID1 checks PVSOURCE and decides whether or not to fetch PV. If
PVSOURCE = Auto, it brings PV from the DATAACQ; otherwise, it simply
uses the current value of PV.

The PID1 checks SI, ESWAUTO, ESWCAS and ESWMAN to see if an


external source wants to invoke Safety Interlock processing or change the
Mode.

The PID1 reads BACKCALCIN from the secondary, and decides if windup or
initialization processing is required. The BACKCALOUT to BACKCALIN
connection is hidden.

The PID1 performs SP processing. (SP processing options are specified at


configuration time.)

The PID1 calculates an output, based on PV and SP values and the


configured algorithm.

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.

Configuration examples

Single PID Loop: The following figure and its companion callout description table
show a sample configuration that uses a PID block to form a single control loop for

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

365

13. Regulatory Control


13.8. PID Block

quick reference. The view in following figure depicts a loaded configuration in


Monitoring mode.

Figure 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.

366

Callout

Description

Use the PV parameter connection to carry data from the analog input to the
PID block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Callout

Description

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.
One-shot 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.
3

R110
February 2014

Use the OP parameter connection to send output data to the Analog Output
Channel (AOC) block. The default OP connection is exposed, but the
implicit/hidden connection function automatically makes a connection to a
value/status parameter (OPX/OPEUX) when it is required.

Experion LX Control Builder Components Theory


Honeywell

367

13. Regulatory Control


13.8. PID Block

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.

Figure 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.
Callout

368

Description

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Callout

Description

Use the PV parameter connection to carry data from the analog input to the
PID block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.

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.

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.

Operating modes and mode handling


The PID block operates in the following modes:

MAN (MANual)

AUTO (AUTOmatic)

If mode is MANual, OP may be stored by the operator or a user program; PV


and SP are ignored - if a primary exists, it goes to the initialized state.

If mode is AUTOmatic, SP (or SPP) may be stored by the operator or a user


program; if a primary exists, it goes to the initialized state. SP contains set point
value in engineering units and SPP contains the value in percent.

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 PID block invokes
timeout processing.

Required inputs
The required number of inputs is determined by the mode of the PID block.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

369

13. Regulatory Control


13.8. PID Block

If Mode is CAScade, two inputs are required - PV and SP.

If Mode is AUTOmatic or MANual, only PV is required.

SP is an initializable input; PV is non-initializable.

PV must be pulled from another block; you cannot store to it - typically it is


connected to the output of an auxiliary or data acquisition (DATAACQ) block.

If Mode is CAScade, SP is pulled from another block; if Mode is AUTOmatic, it


may be stored by the operator or a user program.

The PID block may have one primary or none, depending on whether SP is
configured or not; there is one primary per initializable input.

Input ranges and limits

You must specify a PV engineering unit range, PVEUHI and PVEULO.

PVEUHI and PVEULO define the full range of PV in engineering units.


PVEUHI represents the 100% of full scale value.
PVEULO represents the 0% of full scale value.

PVEUHI and PVEULO also define the engineering unit range of SP - PV and SP
are assumed to have the same range.

The PID block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from a data acquisition (DATAACQ) block
which applies its own limit and range check.

SPHILM and SPLOLM define set point operating limits in engineering units.

The operator is prevented from storing a set point value that is outside these
limits; if the primary or a user program attempts to store a value outside of the
limits, the PID block clamps it to the appropriate limit and sets the primary's
windup status.

SP contains set point value in engineering units and SPP contains the value in
percent.

If Mode is AUTOmatic, the operator or a user program may store to either SP or


SPP.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
370

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

BACKCALC variable, and when a connection is created between an initializable input


and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a PID block to a PID block or an AOCHANNEL
block, Control Builder automatically creates the BACKCALCOUT to BACKCALCIN
connection.

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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a primary PID block
(PIDA.OP) to the set point of a secondary PID block (PIDB.SP), the implicit/hidden
connection is made to PIDA.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single PID
output.

Control initialization
The PID block brings initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one-shot initialization requests to this block.

Note that SECINITOPT may be used to ignore initialization requests from the
secondary.

If the secondary is requesting initialization, the PID block:

R110
February 2014

initializes its output


CV = initialization value from the secondary

Experion LX Control Builder Components Theory


Honeywell

371

13. Regulatory Control


13.8. PID Block

sets initialization request parameters for its primary


INITREQ = On
INITVAL = SP

Output bias
If the PID block algorithm is configured as Equation E, the output bias (OPBIAS) is
added to the algorithm's Calculated Value (CV) and the result is stored in CV. CV is later
checked against OP limits and, if no limits are exceeded, copied to the output.
If the PID block algorithm is configured as Equation A, B, C, or D, no output bias
(OPBIAS) is applied.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the PID
block is the first initializable block.

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.

372

There are no limit checks applied when you set an OPBIAS or OPBIAS.FIX value.
However, after the total bias is added to CV, the result is compared against the
output limits and clamped, if necessary.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

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
CVUNBIASED
OPBIAS.FIX

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)
= 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.

R110
February 2014

Zero:
If OPBIAS.RATE is zero, a OPBIAS.FLOAT is calculated and bumpless
transfer is guaranteed. However, if OPBIAS.FLOAT is not zero, it will never
ramp down.

Experion LX Control Builder Components Theory


Honeywell

373

13. Regulatory Control


13.8. PID Block

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.

Output ranges and limits

CVEUHI and CVEULO define the full range of CV in engineering units.

If the PID block has a secondary, its CV range must be the same as the
secondary's input range - if this PID function has a secondary, it brings the
secondary's input range through BACKCALC and sets its CV range to that.

If the PID block has no secondary, CVEUHI and CVEULO must be specified.

Note that this PID block brings the secondary's input range regardless of
SECINITOPT (that is, regardless of whether the secondary's initialization and
override data are used).

OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range - these are user-specified values.

374

OP is clamped to these limits if the algorithm's calculated result (CV) exceeds


them, or another block or user program attempts to store an OP value that
exceeds them, however, the operator may store an OP value that is outside of
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.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

The operator is prevented from storing an OP value that exceeds these limits.

Direct or reverse control


A PID block may be configured for direct-control action or reverse-control action.
Changing the control action effectively changes the sign of the gain.

With direct-control action, an increase in the error (PV - SP) increases the PID
output (CV).

With reverse-control action, an increase in the error (PV - SP) decreases the PID
output (CV).

For example, if SPP = 50% and PVP = 51%, then the error is 1%.

With direct-control action, if PVP changes to 52%, the error increases causing CV to
increase.

With reverse-control action, if PVP changes to 52%, the error increases causing CV
to decrease. .

Set Point Ramping


The Set Point Ramping option lets you ramp from the current set point value to a target
set point value. You enable this option by selecting the Enable SP Ramping check box
on the block's parameter configuration form. This is equivalent to setting the SPTVOPT
parameter to Enable. You can also configure the following related parameters through
the configuration form or the equivalent parameters.
Parameter

R110
February 2014

Description

Experion LX Control Builder Components Theory


Honeywell

375

13. Regulatory Control


13.8. PID Block

Parameter
Normal Ramp Rate
(SPTVNORMRATE)

Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:
If SPTVNORMRATE is a value other than zero or NaN:

SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:

SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Deviation
(SPTVDEVMAX)

Lets you specify a maximum deviation in engineering units


per minute allowed between PV and SP during ramping.
The value can be NaN or greater than zero. If value is
NaN, it means no ramp deviation checking is done.
If the maximum ramp deviation value is other than NaN,
SP ramping stops when the absolute value of the
deviation (|PV - SP|) exceeds the maximum deviation. The
deviation flag (SPTVDEVFL) is set, and SP ramping state
(SPTVSTATE) remains in Run. Ramping resumes as
soon as the absolute value of the deviation returns within
the maximum deviation limit. This also resets the deviation
flag (SPTVDEVFL).
If you have entered a ramp time (SPTVTIME) and ramping
is interrupted by maximum ramp deviation, the actual
ramp time (SPTVTIME) will be greater than the time you
specified.

You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the PID Loop Point Detail display in Station.
Parameter
376

Description

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Parameter
SPTV

Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME).
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PID

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

R110
February 2014

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.

Experion LX Control Builder Components Theory


Honeywell

377

13. Regulatory Control


13.8. PID Block

Parameter
0SPTVSTATE

Description
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.

Figure 20 PID block with SP ramping parameters configured for


monitoring.
The following table includes descriptions of the callouts in the figure above.
378

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Callout

Description

Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.

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.

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 wound


up (Hi, Lo or HiLo), SP ramping stops. When ARWNET indicates that
SP has returned to normal, SP ramping continues from where it
stopped.

PV tracking
The PV Tracking option sets SP equal to PV when a cascade is broken due either to
function block initialization or operator or program action (such as, setting the mode to
Manual).
You select the Enable PV Tracking selection on the block configuration form to enable
the function (PVTRAKOPT = Track).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

379

13. Regulatory Control


13.8. PID Block

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 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.

PID equations
The PID block provides five different equations for calculating the PID - the CTLEQN
parameter is used to specify the desired equation.

Equation A - all three terms (Proportional, Integral, Derivative) act on the error (PV
- SP) as follows:

CV = K * L

380

-1

1+

1
T2S
+
* PVPS - SPPS
T1S 1 + a * T2 S

Equation B - the proportional and integral terms act on the error (PV - SP) and the
derivative term acts on changes in PV as follows:

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

CV = K * L

-1

1+

T2S
1
+
T1 S 1 + a * T2 S

* PVPS - 1 +

1
T1S

* SPPS

This equation is used to eliminate derivative spikes in the control action as a result
of quick changes in SP.

Equation C - the integral term acts on the error (PV - SP) and the proportional and
derivative terms act on changes in PV as follows:

CV = K * L

-1

1+

1
T2S
+
T1S 1 + a * T2 S

* PVPS -

1
* SPPS
T1S

This equation provides the smoothest and slowest response to SP changes.

Equation D - integral control only as follows:

CV = L-1

1
* PVPS - SPPS
T1S

Equation E - proportional only 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.

CV = K

(PV - SP) + OPBIAS.FIX + OPBIAS.FLOAT

Output bias processing adds a fixed bias (user specified) and floating bias
(calculated to provide bumpless transfer after initialization or mode change) to
the unbiased CV.
ATTENTION
To prevent a bump in the output, you must configure the OPBIAS.RATE
parameter for a value (in Engineering Units per minute) other than 0.0
(zero) or NaN (Not a Number) to enable the ramping function for the
floating bias.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

381

13. Regulatory Control


13.8. PID Block

Reverse-control action causes the sign of the unbiased CV to be reversed.

If both options are selected, the unbiased CV is reversed first, and then the fixed
and floating bias are added - neither the bias nor the final CV are reversed

Where:
CV

output of PID (Equations A, B, C, D) in percent or output of


P-controller (Equation E only) in engineering units

gain (proportional term)

-1

inverse of the LaPlace transform

PV

process input value in engineering units

PVP

PV in percent

1/16 fixed rate amplitude

La Place operator

SP

set point value in engineering units

SPP

SP in percent

T1

integral time constant in minutes

T2

derivative time constant in minutes

OPBIAS.FIX

fixed bias (Equation E only)

OPBIAS.FLOAT

floating bias (Equation E only)

Gain options
If PID equation A, B, or C is selected, any of the following gain equations may be
chosen:

Linear Gain - provides a proportional control action that is equal to a constant (K)
times the error.

382

This is the most commonly-used gain option - K is a user-specified constant and


has a default value of 1.0.

Gap Gain - used to reduce the sensitivity of the control action when PV is in a userspecified band (gap) around the set point.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Gap size and control action are specified at configuration time through the
following parameters:

KLIN

Linear (normal) gain - to be used when PV is outside the


gap.

KMODIFGAP

Gain-modification factor - to be used when PV is inside the


gap. Range of KMODIFGAP = 0.0 to 1.0.

GAPLOLM

Lower limit of gap - in same engineering units as PV.

GAPHILM

Upper limit of gap - in same engineering units as PV.

Gain (K) is derived as follows:

When PV is outside the gap:


K = KLIN
When PV is inside the gap (SP - GAPLOLM <= PV <= SP + GAPHILM):
K = KLIN KMODIFGAP

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:

K = KLIN * NLFORM + NLGAIN *

PV - SP
(PVEUHI - PVEULO)

Where:
KLIN
NLFORM
NLGAIN

= linear (normal) gain (user-configured)


= nonlinear gain form (user-configured; may be 0 or 1)
= 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.

R110
February 2014

The main use of this option is to compensate for nonlinear process gain - you can
tune the PID gain independently of the normal operating point of the process.

Experion LX Control Builder Components Theory


Honeywell

383

13. Regulatory Control


13.8. PID Block

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
KMODIFEXT

= linear (normal) gain (user-configured)


= external gain modifier (such as from a user program)

Tuning Constant Change Considerations


WARNING
You cannot always reverse output (OP) resulting from changes you make to a
tuning constant gain (K), integral time (T1) or derivative time (T2) in an online
control loop.

You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.

Timeout monitoring
If mode is CAScade, the PID block performs timeout monitoring on SP - if a good SP
value is not received within a predefined time (TMOUTTIME), the PID block invokes
timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If mode is CAScade and SP times out, the PID block does the following:
384

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

Sets the input timeout flag (TMOUTFL)

Keeps SP at its last good value.

Changes the mode to a user-specified TMOUTMODE.

Requests the primary to initialize.

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.

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

385

13. Regulatory Control


13.8. PID Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

386

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

A Get of This Parameter . . .

Equals This . . .

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

387

13. Regulatory Control


13.8. PID Block

the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.
Examples of OUTIND coordination with OPTDIR and CTLACTN parameters
The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a PID block can be used in
conjunction with the Output Direction (OPTDIR) parameter of an AOCHANNEL block
to achieve the desired configuration. The Control Action (CTLACTN) parameter on the
PID block is normally chosen independent of the OUTIND and OPTDIR values, so
CTLACTN is not included in the examples.
For This Scenario . . .
388

Typical Settings Are . . .

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

For This Scenario . . .


Fail close valve; air to open - normal
case

Typical Settings Are . . .


PID OUTIND = Direct
AOCHANNEL OPTDIR = Direct
PID OP 0% translated to 4 mA by the

AO, corresponding to the valve closed


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve closed


Fail open valve; air to close - reversal
handled in AO channel

PID OUTIND = Direct


AOCHANNEL OPTDIR = Reverse
PID OP 0% translated to 20 mA by the

AO, corresponding to the valve closed


PID OP 100% translated to 4 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve open


Fail open valve; air to close - display
indications highlight reverse acting valve

PID OUTIND = ReverseDispInd


AOCHANNEL OPTDIR = Direct
PID OP 0% translated to 4 mA by the

AO, corresponding to the valve open


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


closed
Unpowered state of AO results in 0

mA and valve open

Windup handling
When a windup condition is reached, the PID block stops calculating the integral term,
but continues to calculate the proportional and derivative term.

A windup condition exists if:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

389

13. Regulatory Control


13.8. PID Block

PID block has a secondary and the secondary is in windup.

PID block's output exceeds one of the user-specified output limits (OPHILM,
OPLOLM).

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
If Any of the Following are True . . .
This block is inactive.

390

Then, ARWOP Equals . . .


HiLo

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

If Any of the Following are True . . .

Then, ARWOP Equals . . .

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

391

13. Regulatory Control


13.8. PID Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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
392

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.8. PID Block

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

Override feedback processing


If the PID block is in a cascade strategy with a downstream OVRDSEL (Override
Selector) block, it receives override feedback data. The data consists of an override
status, override feedback value and an override offset flag. The status indicates if this
block is in the selected or unselected strategy (as determined by the OVRDSEL block).
The offset flag only applies to PID-type blocks.
Note: SECINTOPT may be used to ignore override requests from the secondary.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

393

13. Regulatory Control


13.8. PID Block

When the override status changes from selected to unselected, the PID block does the
following:

Recomputes CV:

If the override offset flag is Off:


CV

= override feedback value from secondary

If the override offset flag is On:

For PID with Equation D,


Offset

= (PVP-SPP)

For PID with any other Equation(A,B,C,E)


Offset

= K * (PVP-SPP)

If PID is using reverse control action:

then Offset = -Offset

If the PID is using direct control action:

then Offset = Offset

Additionally, the Offset term is set to 0.0 if

Offset > 0.0 and the downstream OvrdSel block is a High selector, or

Offset < 0.0 and the downstream OvrdSel block is a Low selector

CV

= override feedback value from secondary + Offset

The CV is clamped to OPHILM if it is greater than OPHILM and to OPLOLM if it is


less than OPLOLM.

394

Computes a feedback value for its primary:


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

feedback value for primary = PV


Where:
K = overall gain
PV = PV in engineering units
PVP = PV in percent
SPP = SP in percent

PID parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PID block.

13.9 PID-PL (Profit Loop PKS) Block


Description
The PID-PL block is a regulatory control block combining the functionality of PID
controller with a robust, model-based, predictive controller and optimizer, Profit Loop
PKS. This block inherits all the design features of a PID easily replacing the PID block
in any control scheme. As such, it may be used in a single control loop, cascaded to other
controllers.
In many cases, Profit Loop PKS provides superior control and should be used in place of
the standard PID algorithms. These cases include:

Processes with significant delay or inverse (wrong-way) response

Property control employing infrequent measurement updates (such as from a


gas chromatograph)

Noisy processes where valve wear is problematic

Dynamically changing processes

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

395

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Range control - Processes where range control will be beneficial, such as tank
surge control. In this case, range control constrains the PV within a user
specified range (gap) rather than to a fixed set point

Additional descriptive details are provided in the following discussions:


Benefits

Graphic presentation

Modes

Configurable attributes

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.

Single tuning
handle

Uses a single tuning "knob," the performance ratio. If the controller is sluggish
and unresponsive, decreasing the performance ratio will improve
performance. If the controller is oscillatory or operating conditions change
frequently, increasing the performance ratio will slow the controller response
to gain robustness.
Using a single handle as compared to the traditional three mode PID
controller dramatically simplifies retuning of the loop while in service.

396

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Benefit

Discussion

Integrated tools

Profit Loop PKS includes Profit Loop Assistant, a suite of tools for configuring,
monitoring, and maintaining Profit Loop PKS blocks.
The Profit Loop PKS Assistant is a companion intended to simplify your Profit
Loop PKS configuration activities. With the Assistant, a good understanding
of the math and concepts involved in model predictive control is not required;
the Profit Loop PKS Assistant will aid you in the development of the model.
In addition, the Profit Loop PKS Assistant provides diagnostic tools to assist
with troubleshooting loop performance problems. For example, you can check
for control valve stiction or enter specific tuning parameters for a PID-PL loop.

Efficiency

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 set point), 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 set point, Profit Loop PKS provides
freedom to choose the ultimate resting value for the process. The process
may completely float within the range, or a secondary "optimization" objective
may be imposed to drive the process to an optimal state.

Dual objective
control

The key advantage of optimization over set point control is that the response
of the optimizer and controller can be tuned separately, providing dual
objective control.

Discrete
analysis

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 intersample integral wind-up associated with a PID controller.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

397

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Graphic presentation
The PID-PL block looks like this graphically:

Modes
The PID-PL operates in one of three distinct modes:

398

When CTLEQN is any one of the PID equations (EQA, EQB, and so on) and not
PROFITLOOP, this block behaves as a standard PID control block. (For help on the
this mode, see PID Block in the Reference Data for Functional Block Types,
Regulatory Control Blocks section of this document.)

When CTLEQN is PROFITLOOP and CTRLMODE is set to SETPOINT, this block


operates as a set point controller. Profit Loop PKS calculates a control output (OP)
that drives the process variable (PV) to the set point (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
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

can be applied to set the PV within the range, but specification of this objective is
optional.
The remainder of this discussion concentrates on the latter two operating modes. Where
appropriate, the term "setpoint control" will be applied to the second operating mode,
and "range control" will be applied to the third. These two modes are distinguished by
the setting of the CTRLMODE parameter.
Configurable attributes
Each PID-PL block supports the following user-configurable attributes. The following
table lists the given name of the tab in the parameter configuration form and then
describes the attributes associated with that tab. Several attributes parameters) are
identical to those for the PID block; references are made as appropriate. This information
is also included in Control Builder's on-line context-sensitive Help.
Configuration Tab

Description

Main

All attributes configured on this tab are the same as those for the PID
block. Refer to either the online Help in Control Builder for details, or to
Reference Data for Functional Block Types, Regulatory Control Blocks,
PID Block in this document.

Algorithm

Many attributes configured on this tab are the same as those for the PID
block. Attributes specific to the PID-PL block are as follows:
Control Equation Type (CTLEQN) - For the PID-PL block, the Control

Equation Type must be PROFITLOOP. If you want to change from


PID-PL (Profit Loop PKS) to a standard PID block, the block must be
inactive. For details on changing from PID to PID-PL (or PID-PL to
PID), see the Experion LX Control Building Guide, Working with Profit
Loop PKS, Converting a PID-based Control Loop to PID-PL.
ProfitLoop Control Mode (CTRLMODE) - Lets you select the means

of control for the PID-PL block:

SETPOINT: With this selection, the function block will attempt


to have the PV track the setpoint (SP).

RANGE: With this selection, the function block will attempt to


have the PV stay within high and low setpoint limits (SPHI and
SPLO).

ProfitLoop Performance Ratio (PRFRATIO) - This setting is for non-

integrating processes (D[1]


0). It defines how hard the function
block will "push" to a setpoint or range limit. Enter a performance
ratio value of 0.1 to 10.0 for the desired ratio of closed loop control
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

399

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
response to open loop response. Note:

The default performance ratio of 1.0 represents steady-state


control and reaches the control objective at the natural process
response time.

Decreasing this ratio (PRFRATIO 1) leads to faster, more


aggressive, control. The process will be driven to its setpoint
more quickly than its natural open loop response.

Increasing the ratio (PRFRATIO 1) leads to slower, but more


robust, control. The process will be driven to its setpoint more
slowly than its natural open loop response.

For integrating processes, use Closed-loop response (see


below) to specify integrator performance. In this case,
Performance Ratio is set to 1.

ProfitLoop Closed-Loop Response (CLOSEDLOOPRESP) - Enter a

time of greater than 0.1 minute for the desired closed-loop response
time. This is the expected settling time for the control loop, which is
the amount of time required to line out the controller after a setpoint
change or large disturbance.
For non-integration processes, CLOSEDLOOPRESP is the product
of the open loop response time, OPENLOOPRESP, and the
performance ratio, PRFRATIO. For details on non-integrating
processes, see the Performance Ratio entry above.
For details on remaining attributes on this tab, which are the same as
those for the PID block, refer to either the online Help for Control
Builder, or to Reference Data for Functional Block Types, Regulatory
Control Blocks, PID Block in this document.
SetPoint

Many attributes configured on this tab are the same as those for the PID
block. Attributes specific to the PID-PL block are as follows:
SP Range SP High (SPHI) - For PID-PL blocks with a Control Mode

of RANGE, this entry lets you specify the upper range limit, in
Engineering Units. The value must be greater than or equal to SPLO,
and less than SPHILM, that is: SPLO SPHI < SPHILM.
SP Range SP Low (SPLO) - For PID-PL blocks with a Control Mode

of RANGE, enter the lower range limit, in Engineering Units. The


value must be less than or equal to SPHI, and greater than SPLOLM,
that is: SPLOLM < SPLO SPHI.
ProfitLoop Range Control Ramping, SPLO Ramp Rate

400

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
(SPLORAMPRATE) - For PID-PL blocks with a Control Mode of
RANGE, enter the ramp rate to be applied to external (operator or
program) changes in the lower control limit, SPLO. The rate must be
greater than 0 and expressed in Engineering Units/minute.
When the active low limit, SPLOACTIVE, is below the operator-set
value (SPLO), the active limit ramps toward SPLO at the rate
specified here.
Setting this rate to NaN disables ramping.
ProfitLoop Range Control Ramping, SPHI Ramp Rate

(SPHIRAMPRATE) - For PID-PL blocks with a Control Mode of


RANGE, enter the ramp rate to be applied to external (operator or
program) changes in the higher control limit, SPHI. The rate must be
greater than 0 and expressed in Engineering Units/minute.
When the active high limit, SPHIACTIVE, is above the operator-set
value (SPHI), the active limit ramps toward SPHI at the rate specified
here.
Setting this rate to NaN disables ramping.
For details on remaining attributes on this tab, which are the same as
those for the PID block, refer to either the online Help for Control
Builder, or to Reference Data for Functional Block Types, Regulatory
Control Blocks, PID Block in this document.
Output

Many attributes configured on this tab are the same as those for the PID
block. The attribute specific to the PID-PL block is as follows:
Valve Travel Reduction (VALVETRAVELRDCT) - Allows you to select
the level of noise filtering to be applied to model bias. Possible
selections are:
NORMAL: Apply no additional noise filtering.
MODERATE: Apply some additional filtering.
FULL: Apply maximum additional filtering.

Reducing the noise level leads to a reduction in valve travel with fewer
valve reversals. There is little impact on the responsiveness of the
control algorithm to fast disturbances.
This filter complements the PV filter on the data acquisition block.
For details on remaining attributes on this tab, which are the same as
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

401

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
those for the PID block, refer to either the online Help for Control
Builder, or to Reference Data for Functional Block Types, Regulatory
Control Blocks, PID Block in this document.

Advanced

This tab is used for configuring the process model for your Profit Loop
PKS controller. This is manual entry of a model in Laplace form. In
addition, optimization, PV, and OP settings can be made, as detailed in
the following discussions.

Advanced,
Model area

The entries in this area of the Advanced tab allow you to define the
transfer function model of process dynamics to be used in the control of
your process. Use this form if you have a good understanding of the
math and concepts involved in model predictive control and you do not
wish to use the Profit Loop PKS Assistant.
Entries or changes in this area are treated differently, depending on
whether you are working in Project view or Monitoring view:
For Project mode: If entries or changes are made in the Model area,

the parameter values are updated in the Engineering Repository


Database (ERDB) immediately.
For Monitoring mode: If entries or changes are made in the Model

area , they are displayed, but the function block is not updated until
the Update Model command is selected.
Attributes and actions possible on this tab should be considered.
Attributes include the following:
Transfer Function # of Numerator Coefficients - The number of

numerator coefficients, from 1 to 5, in the Laplace transfer function


model of the process. This number should be at least one less than
the number of denominator coefficients.
Transfer Function Numerator Coefficients - The desired value for

each coefficient in the array defining the numerator polynomial in the


Laplace transfer function model of the process. N[1] is the coefficient
preceding the s 0 (constant) term, while N[5] is the coefficient
preceding the s 4 term. If the coefficient will not be used, enter a
value of 0.
Transfer Function # of Denominator Coefficients - The number of

denominator coefficients, from 1 to 5, in the Laplace transfer function


model of the process. This number should be at least one greater
than the number of numerator coefficients.
Transfer Function Denominator Coefficients - The desired value for

each coefficient in the array defining the denominator polynomial in


402

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
the Laplace transfer function model of the process. D[1] is the
coefficient preceding the s 0 (constant) term, while D[5] is the
coefficient preceding the s 4 term.
Process Gain - A nonzero value, for the gain associated with the

Laplace transfer function model of the process. Use the value


corresponding to the defined process gain units, which are indicated
in the label of this field. Process gain units may be defined in
percentage, %PV/%OP or Engineering Units, PVEU/OPEU.
Deadtime - A value of 0 - 3000 execution intervals, for the process

deadtime (transportation lag) as defined in the Laplace transfer


function model. Your entry depends on the execution period on the
Control Module.
Process Gain Units - The units to be used in conjunction with the

process gain:

PVEU/OPEU: Gain expressed in engineering units.

%PV/%OP: Gain expressed as a percentage of range.

Actions that can be taken on this tab, related to the definition of your
model, include:
Update Model - (UPDATEMODEL) - The model defined in the PID-

PL configuration form can be downloaded to the active controller.


Clicking this button updates model values in the ERDB, calculates
the model, and calculates the controller.
This button is inactive if the model in the configuration form matches
the model in the active controller.
Reset Model (RESETMODEL) - The model in the PID-PL

configuration form can be reset to match the model in the active


controller.
The model in the controller will differ from the one defined in the
configuration forms if you have made changes in the forms since the
model was last updated, or a model has been defined in the Profit
Loop PKS Assistant and downloaded to the controller.
This button is inactive if the model in the configuration form matches
the model in the active controller.
Launch Assistant - The Profit Loop PKS Assistant, a companion

intended to simplify your Profit Loop PKS configuration activities, can


be started from the Advanced tab. The Assistant provides several
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

403

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
tools to help you with the model definition process.
IMPORTANT! If you have a defined model in the Control Builder,
PID-PL configuration form (Advanced tab), and you use the Profit
Loop PKS Assistant to redefine the model, then download the model
from the Assistant to the controller, the models will be different. As
with other types of changes to the controller, you can upload the
controller configuration to store the changes in Control Builder's
Monitor-side Engineering Repository Database (ERDB), and then
perform an update to store the changes in the Project-side ERDB.
Refer to the Experion LX Control Building Guide for information on
performing these procedures.

Advanced,
Optimization area

With range control, because the process is no longer constrained to a


setpoint, you are free to choose the ultimate resting value for the
process. The process may completely float within the range, or you may
wish to impose a secondary "optimization" objective to drive the process
to an optimal state. Use this area to do so. For details on how
optimization works, see the Control Builder online Help, Profit Loop PKS
topic, "Understanding Optimization."
Optimizer Mode - When the Control Mode is set to Range (on the

Algorithm form), you can allow the process to completely float within
the range, or you may impose a secondary "optimization" objective to
drive the process to an optimal state. Allowing the process to float
within the range may be acceptable for dynamic control, but it may
not be suitable for planning and long-term operations. The desired
optimization modes are:

NONE: No optimization.

MINIMIZE: Optimize toward the lower limit of the range


(minimize the PV).

MAXIMIZE: Optimize toward the upper limit of the range


(maximize the PV).

OPTTARGET: Optimize toward a specific target value (a userspecified SP).

DUALRANGE: Strive to keep the optimal solution between


optimization limits, SPLOLMOPT and SPHILMOPT.
All modes except OPTTARGET calculate the optimization limits
as deviations from the PID-PL block's high and low operating
range (SPHI and SPLO). In contrast, the OPTTARGET mode
calculates the optimization limits as deviations from setpoint

404

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
(SP).
Optimizer Speed - Dictates how fast the optimizer drives the process

towards the optimal target. Enter a value of 0.1 to 10.0 to . This is a


unit less value.
Notes: With a speed of 6.0, the optimizer tries to bring the process to
its steady-state value by the end its of control horizon (the optimizer
is as aggressive as the controller). With a speed of 3, the optimizer is
twice as slow; with 12, twice as fast. The default value for
OPTSPEED is 2.
Profit Loop PKS uses the following formula:

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 "offset"). 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,
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

405

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description

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 high limit for optimization by entering the amount by


which you want to restrict the higher limit (the "offset"). The
optimized high limit is then calculated as follows:
SPHILMOPT = SPHI - SPHIOPTOFFSET
The impact of this offset depends on the selected Optimizer
Mode.

OP Offset, Low Limit(OPLOOPTOFFSET) - 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
OPLOLM and OPHILM. 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 OP low limit for optimization by entering the amount by


which you want to restrict the lower limit (the "offset"). The
optimized low limit is then calculated as follows:
OPLOLMOPT = OPLOLM + OPLOOPTOFFSET

The impact of this offset depends on the selected Optimizer


Mode.

OP Offset, High Limit (OPHIOPTOFFSET) - 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
OPLOLM and OPHILM. To do this,

406

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 OP high limit for optimization by entering the amount by


which you want to restrict the higher limit (the "offset"). The
optimized high limit is then calculated as follows:
OPHILMOPT = OPHILM - OPHIOPTOFFSET

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
The impact of this offset depends on the selected Optimizer
Mode.

Advanced,
PV Configuration
area

Async PV Option (PVASYNCOPT) -This setting tells the function block


when not to expect a new PV measurement (when not to expect a
change), so that the function block does not react to obsolete
information.
CONTINUOUS: The PV measurement is updated at least once with

every execution period. Select this setting when the sensor involved
generates a continuously updated signal, such as a thermocouple or
strain gauge.
ONPVCHANGE: The PV measurement is updated when the PV

parameter changes. This selection is appropriate with such sensors


as gas chromatographs.
IMPORTANT! Do not select ONPVCHANGE if noise alters the PV
value between analyzer updates.
EXTERNALSYNC: The PV measurement is updated when an

external flag, connected to NEWSAMPLE, is set.


IMPORTANT! Use logic blocks to set and reset the NEWSAMPLE
flag. Users are responsible for designing and constructing the
appropriate logic.
Alarms

Most attributes configured on this tab are the same as those for the PID
block. Attributes specific to the PID-PL block are as follows:
Predicted PV High - Trip Point (PREDPVHIALM.TP) - For PID-PL

blocks, at every execution period, Profit Loop PKS estimates the


steady-state value for both the PV and OP. The predicted PV high
alarm can be used to indicate when the predicted steady-state PV
value exceeds the value specified here for more than a specified time
(bad PV shed time).

A value greater than or equal to zero enables the predicted PV


high alarm trip point.

NaN (Not a Number) disables the predicted PV high alarm.

Predicted PV High - Priority (PREDPVHIALM.PR) - The priority level

for the corresponding alarm type can be selected, using the following
categories:

R110
February 2014

NONE: The alarm is not reported to the system and is not


annunciated.

Experion LX Control Builder Components Theory


Honeywell

407

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description

JOURNAL: The alarm is written to the event file, where it can be


accessed for alarm and event reports, or event displays on a
Station. JOURNAL priority alarms do not appear in the Alarm
Summary display.

LOW, HIGH, URGENT: These selections cause the alarm to be


displayed in the alarm zone at the bottom of a Station display to
bring new alarms to the attention of operators and/or directed to
an alarm/event printer. The alarm also appears in the Alarm
Summary display, in the color specified here:
1. LOW: Low-intensity yellow.
2. HIGH: Yellow.
3. URGENT: Red

Note that the default selection is LOW, and that alarm levels are
prioritized as follows: JOURNAL --> LOW --> HIGH -->
URGENT (highest priority)

Predicted PV High - Severity (PREDPVHIALM.SV) - A relative

severity to the predicted PV high alarm can be assigned by specifying


a weight in the range of 0 to 15. The specified weight determines
when the specified alarm is processed relative to other alarms. Tips
and notes:

Generally, 15 is considered most severe when specifying alarm


severity.

The default value is 0.

Predicted PV Low - Trip Point (PREDPVLOALM.TP) - For PID-PL

blocks, at every execution period, Profit Loop PKS estimates the


steady-state value for both the PV and OP. The predicted PV low
alarm can be used to indicate when the predicted steady-state PV
value drops below a particular value (entered on the PID-PL Block
Parameters - Algorithm form) for more than a specified time.

Enter a value greater than or equal to zero, to enable the


predicted PV low alarm trip point.

Enter NaN (Not a Number) to disable the predicted PV low


alarm.

Predicted PV Low - Priority (PREDPVLOALM.PR) - Select the

appropriate priority level for the corresponding alarm type based on


the following categories:

408

NONE: The alarm is not reported to the system and is not

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
annunciated.

JOURNAL: The alarm is written to the event file, where it can be


accessed for alarm and event reports, or event displays on a
Station. JOURNAL priority alarms do not appear in the Alarm
Summary display.

LOW, HIGH, URGENT: These selections cause the alarm to be


displayed in the alarm zone at the bottom of a Station display to
bring new alarms to the attention of operators and/or directed to
an alarm/event printer. The alarm also appears in the Alarm
Summary display, in the color specified here:
1. LOW: Low-intensity yellow
2. HIGH: Yellow
3. URGENT: Red

Note that the default selection is LOW, and that alarm levels are
prioritized as follows: JOURNAL --> LOW --> HIGH -->
URGENT (highest priority)

Predicted PV Low - Severity (PREDPVLOALM.SV) - A relative

severity to the predicted PV low alarm can be assigned by specifying


a weight in the range of 0 to 15. The specified weight determines
when the specified alarm is processed relative to other alarms. Tips
and notes:

Generally, 15 is considered most severe when specifying alarm


severity.

The default value is 0.

Bad PV Shed Time (Sec) (BADPVALM.TP) - If the PID-PL block PV


falls out of range (PVSTS changes to Bad), you can specify an
amount of time (greater than zero, in seconds) that the block will be
allowed to run before a bad PV alarm is generated. In this case,
Profit Loop PKS discontinues bias updating and operates strictly from
its model predictions, for the specified amount of bad PV shed time.
This approach offers additional flexibility not found with other
regulatory control blocks (which, by necessity freeze their output and
issue a bad control alarm).
CAUTION! because the model prediction is no longer synchronized
with the process, the prediction can wander; therefore control action
should be stopped after some period of time.

For details on remaining attributes on this tab, which are the same as
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

409

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Configuration Tab

Description
those for the PID block, refer to either the online Help for Control
Builder, or to Reference Data for Functional Block Types, Regulatory
Control Blocks, PID Block in this document.

SCM

All attributes configured on this tab are the same as those for the PID
block. Refer to either the online Help in Control Builder for details, or to
Reference Data for Functional Block Types, Regulatory Control Blocks,
PID Block in this document.

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to expose as
input/output pins on the function block graphic in Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to appear on the
face of the function block in the Project tab in Control Builder.

Monitoring
Parameters

Lets you select the available parameters that you want to appear on the
face of the function block in the Monitoring tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences including the color


of the block's faceplate.

Template Defining

Lets you view and define parameters for associated templates.

Insertion Type

Lets you include an insertion type from a CAB instances in the block.
See CAB insertion configuration considerations for regulatory control
blocks for more information

Function
The Profit Loop PKS control algorithm belongs to a class of controllers known as
"model predictive control." These controllers rely on a dynamic model to predict future
movement in the process variable. If this predicted PV does not meet the control
objectives (maintain at current setpoint), control action is taken to realign the PV with its
objectives. In contrast, a PID controller uses past and current error trajectories to restore
the PV to its SP within one control move, regardless of the long-term consequences of
the move.
Additional functional details about Profit Loop PKS are provided in the following
discussions:

410

Model prediction
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Model biasing

Control action

Range control

Optimization

Predictive alarming

External gain updating

Model prediction
The first step in any model predictive control scheme is to predict the future trajectory
for the PV assuming no further movement in the OP. To make these predictions, Profit
Loop PKS uses a dynamic model to relate past OP movement to future PV movement.
Model prediction is shown graphically in the following figure.

In the preceding figure, the white line represents the predicted future PV trajectory. (This
is the line in the upper right quadrant of the graph.)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

411

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

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

are the process dynamics.

The Laplace variable, s, has units of


entered in minutes.

, requiring dynamics and deadtimes to be

PID-PL buffers user entered model changes to prevent partial updating of the model.
Model changes are not accepted on a running function block until the UPDATEMODEL
flag has been set. This flag will automatically clear on completion of the update.
If you decide to abort the model update, the RESETMODEL flag can be set. This flag
resets the user interface to the active model and clears itself.
Model biasing
In practice, there will always be a mismatch between the model prediction and the real
process measurement. This difference can be attributed to a number of sources:
inaccuracy of the model, measurement noise, external process disturbances, etc. If the
model does not correct for this difference, the model prediction will slowly wander from
the actual PV and the function block's integral action is lost.
To account for the mismatch, Profit Loop PKS compares its PV prediction for the current
time to the current process measurement. The difference between these values is referred
to as the bias and is added to the future PV trajectory.

412

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

In practice, the above bias is susceptible to high frequency signal noise, which could
ultimately lead to excessive control action. To eliminate the noise effect, Profit Loop
filters the raw bias applying the filtered value to future PV trajectories.
For especially noisy measurements, Profit Loop PKS employs a proprietary noise
reduction filter to the bias. Unlike a simple PV filter, this filter eliminates measurement
noise but reacts quickly to persistent external disturbances.
MODELPV is the value the current model prediction without any biasing. Under normal
circumstances changes in the unbiased model prediction should track actual process
changes (both in magnitude and time). If there is a significant difference between the
responses, the process model should be updated using the Profit Loop Assistant tools.
To simplify model validation, a reset bias button is available on the detailed displays.
This button sets MODELPV equal to the current PV, for easy monitoring of further
changes in their values.
Control action
Once a future trajectory has been calculated, control action is implemented to force this
process trajectory toward its control objective. Typically, this involves the calculation of
the control actions necessary to bring the process variable to its setpoint over the course
of the trajectory. Alternatively, the controller minimizes future errors.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

413

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

e1 e2 e3 e4 e5 e6

Past

Current

Future

While the exact calculation of the control action is too complicated for this document, it
involves the inversion of the process model thus relating error to control action. If the
error is zero (the control objective is met), no further control action is required in this
execution cycle, and the OP is unchanged.
When minimizing future errors, there are several ways to define optimality. For instance,
one algorithm may weight more heavily the initial errors, a second the final error, and a
third equally weight all errors. Using different optimality criteria leads to different
solutions.
Profit Loop PKS focuses on the later part of the trajectory from the closed-loop response
time onward. It then determines the minimum control action necessary to bring the
process variable to its setpoint (and keep it there) before the user-specified closed-loop
response time. Because this algorithm uses the minimum energy to meet its control
objective, it is more robust to inaccuracies in the model than other model predictive
control algorithms.

414

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

After calculating control action

e1 e2 e3 e4 e5 e6

Past

Current

Future

To tune the function block, you must specify the closed-loop response time. To make
tuning simpler, this response time is normalized by the open loop response time, and the
ratio of the response times, the performance ratio is entered. A performance ratio of 1
indicates that the function block should bring the process to its setpoint value in
approximately open loop response time minutes. This function block action is similar to
the response from a steady-state-only controller.
When the performance ratio is less than 1, more aggressive control is required as the
process is driven to its setpoint faster than its natural (open loop) response. In contrast, a
performance ratio greater than 1 generates laxer control but is more robust to modeling
errors.
When the process is not self-correcting (contains an integrator), the open loop response
time is not defined, and consequently, the use of a performance ratio is meaningless.
Under these circumstances, you enter the closed-loop response time directly, and the
performance ratio is reset to 1.
Range control
With the above algorithm, it is possible to control the PV within a user-entered range
instead of to a hard target (SP). Errors then represent the deviation of the future
trajectory outside of the operating range. If the future trajectory lies inside the operating
range, there is no error.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

415

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Conceptually, Profit Loop's range control option is PID gap control with a gap gain
factor of 0. However, unlike gap control, Profit Loop PKS considers the long-term
process response and not the current process value, applying control action only when
the projected PV trajectory is out of bounds.
The parameters SPHI and SPLO define the operating range for the gap, in the same
engineering units as SP. This block ensures these values do not exceed the absolute SP
range limits, SPHILM and SPLOLM, capping the operating range limit when required.
Furthermore, if the input SP value is outside the range specified by SPHI and SPLO, this
function block clamps SP to the appropriate limit. This additional restriction on SP only
applies when the range control option is selected. Otherwise, the SPHI and SPLO
parameters track the current setpoint, SP.
The user-entered parameter, CTRLMODE, indicates whether Profit Loop PKS controls
within a range, (RANGE), or to a setpoint (SETPOINT). The parameter has no meaning
if PID control is selected.
Optimization
With range control, the steady-state operating conditions are allowed to float (within the
range); there is no unique resting value. While this may be acceptable for dynamic
control, it may not be suitable for planning and long-term operations.
To define the steady-state operations, Profit Loop PKS includes a small optimizer that
allows you to specify the desired steady-state operating conditions. Depending on the
control objectives (as specified by the OPTMODE parameter), you can minimize the
process variable (MINIMIZE), maximize this variable (MAXIMIZE), aim to a userentered target (OPTTARGET), or aim toward a narrower PV range but not to a unique
value (DUALRANGE). Furthermore, you can disable this option completely (NONE).
The rate at which the process approaches steady-state operations is typically slower than
the rate at which dynamic constraints are resolved. This allows Profit Loop PKS to be
configured for two control objectives - quick resolution of dynamic errors with a slower
approach to optimal operations.
The optimization rate is normalized by the closed-loop response time and specified by
the parameter, OPTSPEED:

416

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

When OPTSPEED = 6, the optimizer tries to bring the process to its steady-state value
by the end its control horizon. When OPTSPEED = 3, the optimizer is twice as slow;
when 12, twice as fast. The default value for OPTSPEED is 2.
If the optimizer is allowed to force the process against one of its operating limits, there
will be times when the optimizer overshoots the limit causing dynamic control action in
the opposite direction. If left unchecked, this can lead to process oscillations around the
optimal value.
To circumvent this problem, the optimizer is restricted to a narrower range than the
controller. User specified offsets dictate how narrow the optimization range is. For all
optimization modes except OPTTARGET, Profit Loop PKS calculates the optimization
limits as deviations from the function block high and low operating range (SPHI and
SPLO).
The following figures illustrate how Profit Loop PKS uses optimizer offsets to set high
and low optimization limits.
Optimization target for Minimization
Optimization Target = SPLOLMOPT = SPHILMOPT
Offset

SPLOOPTOFFSET

Operating Low Limit (SPLO)

Optimization Target for Maximization


Operating High Limit (SPHI)
Offset

SPHIOPTOFFSET

Optimization Target = SPLOLMOPT = SPHILMOPT

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

417

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Optimization Target for Dual Range


Operating High Limit (SPHI)
SPHIOPTOFFSET

Offset

SPHILMOPT

Target Range
SPLOLMOPT

Offset

SPLOOPTOFFSET

Operating Low Limit (SPLO)

For OPTTARGET optimization, Profit Loop PKS calculates the optimization limits as
deviations from setpoint (SP). Using non-zero optimizer offsets is equivalent to DUAL
RANGE optimization but with the optimization range tracking any setpoint changes. The
following figure illustrates this situation.
Optimization Target for OptTarget
SPHILMOPT
Offset

SPHIOPTOFFSET

Offset

SPLOOPTOFFSET

SETPOINT (SP)

SPLOLMOPT

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.

418

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

External gain updating


PID-PL supports the external updating of the process model gain (gain scheduling). This
is similar to the EXT gain option of a PID function block, except that the process model
gain (and not the PID function block gain) is altered. You can use this option to
compensate for nonlinear process gain changes. For example, if you are controlling the
level of a tank whose cross-section is not constant, you can use this option to modify the
model gain compensating for the nonlinear rate of level change caused by the changing
shape of the tank.
The PID-PL block supports two methods for updating the gain:

An operator or another function block changes a process gain multiplier,


PROCGAINMULT. The actual process gain (active gain) is then computed as
shown in the following equation:

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.

Configuration examples
Four examples are discussed in the following paragraphs:
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

419

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Gain scheduling

Setpoint control

Range control

Discrete analyzer

Gain scheduling

Setpoint control
The following figure and table show a sample configuration that uses a PID-PL block to
form a single control loop set for setpoint control. Note that this configuration is nearly
identical to the single-loop PID configuration.

420

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

The following table explains the callouts in the preceding figure.


Callout

Description

Use the PV parameter connection to carry data from the analog input to the
data acquisition block.

Use the data acquisition block to filter and scale the PV input. This block
also maintains several PV alarms.

Use the PID-PL block for control. A separate SP block pin is exposed for
on-line parameter changes. To implement Profit Loop PKS control, the
control equation is set to PROFITLOOP and control mode to SETPOINT.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

421

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Callout
4

Description
Use the OP connection to transfer control block output to analog output.

Range control
The following figure and table show a sample configuration that uses a PID-PL block to
form a single control loop set for range control.

The following table explains the callouts in the preceding table.


422

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Callout

Description

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.

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 analyzer maintains two digital signalsan on-off flag to indicate when the analyzer is in calibration, and a 30-second pulse
signal whenever a new measurement is available.

The following table explains the callouts in the preceding figure.


Callout

R110
February 2014

Description

Experion LX Control Builder Components Theory


Honeywell

423

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Callout

Description

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.

The analyzer signals are accessed through two digital-input channels.

The calibration flag runs directly to the calibration pin on the PID-PL block.
As long as this signal is ON, the analyzer is presumed to be calibrating.
The new sample input is buffered by the FTRIG block before it links to the
new sample pin on the PID-PL block.

FTRIG captures the leading edge of the new sample pulse and sets the
new sample flag on the PID-PL block. The new sample parameter remains
ON for one execution period before it is reset by FTRIG.

Gain scheduling
The following figure and table show a sample configuration that uses gain scheduling
with PID-PL. In this example, the gain of a level controller depends on the level in the
tank. This may occur if the geometry of the tank changes as the level rises and falls.

424

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

The following table explains the callouts in the preceding figure.


Callout

Description

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.

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.

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 the gain multiplier.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

425

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Operating modes and mode handling


The PID-PL block operates in the following modes:

MAN (MANual) - If mode is MANual, OP may be stored by the operator or a user


program; PV and SP are ignored. If a primary exists, it goes to the initialized state.

AUTO (AUTOmatic) - If mode is AUTOmatic, SP (or SPP) may be stored by the


operator or a user program; if a primary exists, it goes to the initialized state. SP
contains the setpoint value in engineering units and SPP contains the value in
percent.

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, this block
invokes timeout processing.

These modes apply regardless of whether the control equation is set for PID control or
Profit Loop PKS.
In addition to the block mode, Profit Loop PKS operates in the following control modes:

SETPOINT - Controller alters OP so PV tracks the SP.

RANGE - Controller alters OP so PV is constrained between SPLO and SPHI.

If range control is employed, Profit Loop PKS uses the optimization mode to determine
the desired steady-state operating conditions:

NONE - PV is allowed to freely float between SPHI and SPLO. If projected to


remain in range, no additional control action is taken.

MINIMIZE - At steady-state, PV is minimized.

MAXIMIZE - At steady-state, PV is maximized.

OPTTARGET (OPTimize to TARGET) - At steady-state, PV equals SP.

DUALRANGE - At steady-state, PV is constrained between SPLOLMOPT and


SPHILMOPT, but may float anywhere within this optimization range. The
optimization range is more constraining than the control range, SPLO to SPHI.

Required inputs
The PID-PL block requires two inputs: PV and SP. See Required inputs for the PID
block for details on these inputs.

426

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

For range control, the PID-PL block requires two additional inputs: SPHI and SPLO.
These parameters cannot be initialized. They can be pulled from another block, set
through operator entry, or stored by a user program.

Input ranges and limits


For PID or Profit Loop PKS setpoint control, the PID range limits apply. See Input
ranges and limits for the PID block for details.
For range control,

PVEUHI and PVEULO define the engineering unit range for MODELPV, SP,
SPHI, and SPLO.

SPHILM and SPLOLM define the operating limits in engineering units for SPHI,
and SPLO. If a value is entered outside these limits but within the engineering unit
range, this block clamps the value at its appropriate limit. Otherwise, an out of
bounds error is generated.

SPHI and SPLO define the operating limits in engineering units for SP. The operator
is prevented from storing a setpoint value that is outside these limits. If the primary
or a user program attempts to store a value outside of the limits, this block clamps it
to the appropriate limit and sets the primary's windup status.

Initializable outputs
The PID-PL block supports a single initializable output. Like PID, this calculated output
can be either in percent, OP, or in engineering units, OPEU. See Initializable outputs for
the PID block for more details.

Control initialization
The PID-PL block brings initialization requests from its secondary through the hidden
BACKCALC connection. In addition, the secondary may propagate one-shot
initialization requests to this block.

SECINITOPT may be used to ignore initialization requests from the secondary.

If the secondary is requesting initialization, the PID-PL block:

initializes its output


CV = initialization value from the secondary.

uses the initialized CV value in model predictions

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

427

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

sets initialization request parameters for its primary


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.

Output bias
Profit Loop PKS does not support an output bias. For details on the biasing of PID
algorithms, see Output bias for the PID block.

Output ranges and limits


The output range of a PID-PL block is identical to the PID block. See Output ranges and
limits for the PID block for details.

Direct or reverse control


A PID-PL block may be configured for direct-control action or reverse-control action,
effectively changing the sign of the controller gain. See Direct or reverse control for the
PID block for implementation details.
With Profit Loop PKS, the sign of the controller gain is determined by the sign of the
process model gain. To prevent mismatch between the model gain and control action,
changes to CTLACTN are not allowed. Furthermore, when the model gain changes
(including initial loading of the function block), CTLACTN is set to match the new gain
direction.

A positive process model gain leads to reverse control action.

A negative process model gain leads to direct control action.

Set Point Ramping


The Set Point Ramping option lets you ramp from the current setpoint value to a target
setpoint value. For Profit Loop PKS, this option is applicable to setpoint control and
range control when OPTMODE is OPTTARGET only. See Set Point Ramping for the
PID block for implementation details.

Range Control Ramping


For range control, range control limit ramping provides a smooth transition from the
current SPHI and SPLO limits to newly entered values by ramping range limit changes
428

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

over a period of time. The SPHI and SPLO ramp rates are independent and specified
through the parameters, SPHIRAMPRATE and SPLORAMPRATE (engineering units /
min). Entering NaN provides immediate ramping to the new limit, and consequently,
disables this option.
Mathematically, limit ramping can be represented as:

where
SPHIACTIVE and SPLOACTIVE represent the effective range limits at any given
execution period.
SP limit ramping only applies when the operating range becomes more restrictive
(Newly entered SPHI < Current SPHI or newly entered SPLO > Current SPLO).
Otherwise, the range limit change is immediately applied.
When the current range limit is far from its newly entered value, it may take a
considerable amount of time before the active value reaches its new limit. This is an
unnecessary delay if the process is operating well within the new operating range. To
avoid this delay, Profit Loop employs a proprietary algorithm to bring the active value
"close" to the newly entered limit before it starts ramping. This one shot correction
avoids bumping the process, yet applies ramping in a more meaningful fashion.
Furthermore, this feature eliminates problems associated with fat fingering (accidentally
depressing a key twice, e.g. entering 500 instead of 50) a range limit. For example,
consider an SPHI change from 99 to 100. If an operator enters 1000 instead of 100, the
SPHIACTIVE immediately moves to 1000. If the operator re-enters the limit as 100,
there may be a considerable delay before SPHIACTIVE ramps from 1000 back to 100.
One shot correction eliminates most of this delay.

PV tracking
The PV Tracking option sets SP equal to PV when automatic control is disabled (e.g.
cascade is broken, mode is manual). Having SP track PV avoids output bumps when
automatic control is reestablished. See PV tracking for the PID block for
implementation details.
For range control, SPHI and SPLO also track out of range PV values when automatic
control is disabled and PV tracking is enabled. The following rules apply:

If SPLO is greater than SP then set SPLO equal to SP

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

429

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

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.

PV Bad Value Handling


When the PV status (PVSTS) is BAD, Profit Loop PKS discontinues bias updating and
operates strictly off of its model predictions. This offers additional flexibility not found
with other regulatory control blocks that, by necessity, freeze their output and issue a
BadCtl alarm. However, because the model prediction is no longer synchronized with the
process, the prediction can wander and, generally, control action should be stopped after
some user specified period of time.
For Profit Loop PKS, the PID-PL block supports a Bad PV duration alarm. This alarm
trips if the PV is BAD for longer than the user-entered duration. Tripping of this alarm
leads to bad control (BadCtl).
For PID control, the Bad PV duration is reset to 0 tripping on the first detection of a bad
PV.
ATTENTION
The Bad PV duration alarm is in addition to any other Bad PV alarms,
specifically the Bad PV alarm in the DATAACQ block.

PV Calibration
On occasion, one may wish to intentionally disable the PV measurement without
inactivating the control module or placing the function block in MAN. This is most
evident when the PV's sensor is recalibrated and such recalibration causes undesirable
control action. A calibration flag, CALIBRATION, is provided for this purpose.
430

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

When CALIBRATION is set, Profit Loop PKS:

Disables updating of bias between model prediction and PV

Continues control action based on model prediction only

Asynchronous PV Inputs
Many specialty process sensors are discontinuous, generating results on an infrequent
basis relative to the control execution period. This is especially true among gas
chromatographs where a new reading is generated every 2-40 minutes.
When these sensors are used in PID control, control error continues to integrate between
sensor updates. This may lead to unnecessary overshoot in the control action and
oscillation in the PV response.
With Profit Loop PKS, the PID-PL block updates only when a new sensor reading is
available. This has the effect of disabling integration between sensor readings
eliminating function block overshoot. Between sensor readings, Profit Loop

Disables updating of bias between model prediction and PV

Continues control action based on model prediction only

Profit Loop uses the parameter PVASYNCOPT to specify when and how a PV is
updated. When PVASYNCOPT set to:

Continuous - PV (and PV bias) is updated every execution cycles regardless of its


value. This is the correct setting when the sensor involved generates a continuously
updated signal, such as a thermocouple or strain gauge.

OnPvChange - PV bias is updated only when there is a change in the PV value


from one execution period to the next.

Note: Avoid this setting if noise alters the PV value between analyzer updates.

External Sync - PV bias is updated when an external flag indicates a new analyzer
reading. This external flag should be connected to the Boolean parameter,
NEWSAMPLE.
ATTENTION

R110
February 2014

Logic blocks should be employed to set and reset the NEWSAMPLE flag.
It is the users responsibility to design and construct the appropriate logic.

The PID-PL block makes no attempt to set or reset this flag.


Experion LX Control Builder Components Theory
Honeywell

431

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

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.

Control Equations
The PID-PL block supports the standard 5 PID equations (EqA through EqE) found on a
PID block as well as the Profit Loop equation. You specify which equation to use
through the CTLEQN parameter.
To provide expansion for future PID type equations, the Profit Loop option is shown at
the bottom of the CTLEQN list after options EqF and EqG. EqF and EqG are provided
for possible future expansion of the PID equation set. If you select either of these
options, an error message is displayed indicating an invalid entry.
With standard PID-type function blocks, the control equation can only be altered while
the control module is inactive, preventing algorithm initialization errors. This
requirement is too restrictive for Profit Loop, which maintains a running initialization
value regardless of the mode of operation. Consequently, PID-PL supports the hot swap
from a PID equation to Profit Loop on an active control module. Hot swapping is
supported in one direction only; to revert back to PID control, user must first inactive the
control module.
For more information on PID equations, see PID equations for the PID block.

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.

432

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .


shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

433

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

A Get of This Parameter . . .

Equals This . . .

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
434

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.
Examples of OUTIND coordination with OPTDIR and CTLACTN parameters
The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a PID block can be used in
conjunction with the Output Direction (OPTDIR) parameter of an AOCHANNEL block
to achieve the desired configuration. The Control Action (CTLACTN) parameter on the
PID block is normally chosen independent of the OUTIND and OPTDIR values, so
CTLACTN is not included in the examples.
For This Scenario . . .
Fail close valve; air to open - normal
case
R110
February 2014

Typical Settings Are . . .


PID OUTIND = Direct
AOCHANNEL OPTDIR = Direct

Experion LX Control Builder Components Theory


Honeywell

435

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

For This Scenario . . .

Typical Settings Are . . .


PID OP 0% translated to 4 mA by the

AO, corresponding to the valve closed


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve closed


Fail open valve; air to close - reversal
handled in AO channel

PID OUTIND = Direct


AOCHANNEL OPTDIR = Reverse
PID OP 0% translated to 20 mA by the

AO, corresponding to the valve closed


PID OP 100% translated to 4 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve open


Fail open valve; air to close - display
indications highlight reverse acting valve

PID OUTIND = ReverseDispInd


AOCHANNEL OPTDIR = Direct
PID OP 0% translated to 4 mA by the

AO, corresponding to the valve open


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


closed
Unpowered state of AO results in 0

mA and valve open

Tuning Constant Change Considerations


WARNING
You cannot always reverse output (OP) resulting from changes you make to a
tuning constant gain (K), integral time (T1) or derivative time (T2) in an online
control loop.

436

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.

Timeout monitoring
The PID-PL block monitors for communication timeouts between primary and secondary
controllers of a cascade pair. This block uses the same methodology as the PID block.
See Timeout monitoring for the PID block for implementation details.

Windup handling
Profit Loop PKS maintains integral action by updating a bias between its model
prediction and the current process measurement, PV. If the function block is in windup,
the input to the process model may not represent what was actually implemented by the
control loop - causing an additional bias.
To prevent this additional bias, Profit Loop PKS actively unwinds a secondary control
module in windup. To do this, the primary's OP is slowly moved in the direction to
relieve windup. When the primary reaches this value, the secondary function block will
be at the edge of its windup condition - oscillating in and out of windup.
To force the OP to unwind and to prevent OP moves that exacerbate windup, Profit Loop
temporarily adjusts its internal OP operating limits. These adjusted limits are displayed in
the OPHIACTIVE and OPLOACTIVE parameters. Ordinarily, these limits are identical
to the OPHILM and OPLOLM, respectively.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

437

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).
438

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) 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.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

439

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

If Any of the Following are True . . .


The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Then, ARWNET Equals . . .


LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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.

440

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.9. PID-PL (Profit Loop PKS) Block

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

Override feedback processing


If the PID-PL block is in a cascade strategy with a downstream OVRDSEL (Override
Selector) block, it receives override feedback data. The data consists of an override
status, override feedback value and an override offset flag. The status indicates if this
block is in the selected or unselected strategy (as determined by the OVRDSEL block).
When the override status changes to unselected, Profit Loop PKS uses the override
feedback value instead of the OP in its model predictions. In this manner, it prevents an
anomalous bias due to unrealized control action.
For more details on override feedback processing, see Override feedback processing for
the PID block.

PID-PL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PID-PL block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

441

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

13.10 PIDER (PID with External Reset Feedback) Block


Description
The PIDER block is a regulatory control block that operates as a proportional-integralderivative (PID) controller that accepts a reset feedback signal, a tracking value, and a
tracking control switch. It supports the same Ideal form of calculating the PID terms as
the PID block. It also prevents windup when the secondary does not propagate windup
status or control initialization data back to the primary of a remote (foreign) controller.
The PIDER block looks like this graphically:

The PIDER block accepts five analog inputs - a process variable (PV), a set point (SP), a
reset feedback value (RFB), a tracking value (TRFB), and a tracking control switch (S1).
The difference between PV and SP is the error and this block calculates a control output
(OP) that should drive the error to zero.
The reset feedback (RFB) signal comes from the remote controller's PV, and the tracking
value (TRFB) comes from its PV or SP. By monitoring the remote controller's PV and
SP, the PIDER block can determine if the remote controller is responding. If the remote
controller is not responding, it can prevent its own output from winding up.
The tracking control switch (S1) determines the output of the PIDER block. The S1
parameter is usually stored through an output connection from another function block, or
by a user program. When S1 is Off, the PID control value output (CVPID) is combined
with the reset feedback (RFB) value to obtain the control value (CV); and when it is On,
CV is set equal to the tracking value (TRFB).
442

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

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.

Configuration example
The following illustration shows a PIDER block configured in a cascade control strategy.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

443

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Figure 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.
444

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Item Name - The name of the Entity that the Control

Module containing the block will be associated with in the


Simplified Enterprise Model Builder hierarchy.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
PVEU Range High (PVEUHI) - Lets you specify the high

input range value in engineering units that represents


100% full scale PV input for the block. The default value
is 100.
PVEU Range Low (PVEULO) - Lets you specify the low

input range value in engineering units that represents the


0 full scale PV input for the block. The default value is 0
(zero).
Manual PV Option (PVMANOPT) - Lets you specify the

mode and output the block is to assume when PVSTS


changes to MANual. The selections are:

R110
February 2014

NOSHED - No changes.

SHEDHOLD - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and holds output at the last
good value.

SHEDLOW - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to its

Experion LX Control Builder Components Theory


Honeywell

445

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
extended low limit (OPEXLOLM) value.

SHEDHIGH - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to its
extended high limit (OPEXHILM) value.

SHEDSAFE - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to the
configured safe output (SAFEOP) value.

The default selection is SHEDHOLD.


The block requests its primary to initialize after a mode

shed or lets the primary know that it is woundup, if it


does shed its mode. An operator can change the block's
mode after it is shed, but, the operator must first set
PVMANOPT to NOSHED, so the mode doesn't shed
again.
When PVSTS returns to normal, the block clears its
primary initialization request but remains in MANual
mode after a mode shed. An operator must return the
block to its normal mode. If mode was not shed, the
block clears its windup condition and does a one-shot
initialization. It also requests the primary to do a oneshot initialization.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
446

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
enforce the MODE assignment. For example, if the
MODE is CAScade and the block is getting its SP from
another block, an operator is prevented from overwriting
the SP value. However, If there is a breakdown in the
cascade loop, the MODE can be changed so an operator
can write a value to the SP. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

447

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Algorithm

Control Equation Type - Lets you select the control

equation the block is to use. The selections are EQA,


EQB, EQC, and EQD. See the PID Equations section for
this block for details. The default selection is EQA.
Control Action - Lets you specify if the block is to provide

direct or reverse control action. The default selection is


REVERSE, which means output decreases as input
increases.
T1 (minutes) (T1) - Lets you set integral time to be used

for the integral term in the control equation.


T1 High Limit (minutes) (T1HILM) - Lets you define the

high limit value in minutes for the integral time setting.


The default limit is 1440.
T1 Low Limit (minutes) (T1LOLM) - Lets you define the

low limit value in minutes for the integral time setting.


The default limit is 0.
T2 (minutes) (T2) - Lets you set the derivative time to be

used for the derivative term in the control equation.


T2 High Limit (minutes) (T2HILM) - Lets you define the

high limit value in minutes for the derivative time setting.


The default limit is 1440.
T2 Low Limit (minutes) (T2LOLM) - Lets you define the

low limit value in minutes for the derivative time setting.


The default limit is 0.
High Gain Limit (GAINHILM) - Lets you set a high limit

for the gain (K) value. If this value is exceeded, K is


clamped to this limit. The default value is 240.
Low Gain Limit (GAINLOLM) - Lets you set a low limit for

the gain (K) value. If K is less than this value, it is


448

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
clamped to this limit. The default value is 0.
Gain Options (GAINOPT) - Lets you select the type of

gain term to be used in the PID equation. The default


value is LIN. The selections are:

LIN - The LINear gain option provides a


proportional control action that is equal to a
constant (K) time the error (PV -SP). This applies
to equations A, B, and C.

GAP - The GAP gain option reduces the sensitivity


of the control action when the PV is in a userspecified band (gap) around the set point. This
applies to equations A, B, and C.

NONLIN - The NONLIN gain option provides a


proportional control action that is equal to the
square of the error, rather than the error itself. This
applies to equations A, B, and C.

EXT - The EXTernal gain option modifies the gain


(K) by an input value from either the process,
another function block, or a user program. You can
use this option to compensate for nonlinear
process gain - lets you tune the PID gain
independent of the normal operating point of the
process. For example, If you are controlling the
level of tank whose cross-section is not constant,
you can use the EXT option to modify the gain to
compensate for the nonlinear rate of level change,
which is caused by the changing shape of the tank.
This applies to equations A, B, and C.

Overall Gain (K) - Lets you set the overall gain value

used to calculate the proportional term in the PID


equation. The default value is 1.
Gap High Limit (GAPHILM) - Lets you define the high

limit value in PV engineering units to be used when


calculating GAP gain.
Gap Low Limit (GAPLOLM) - Lets you define the low

limit value in PV engineering units to be used when


calculating GAP gain.
Gap Gain Factor (KMODIFGAP)- Lets you specify the

value to be used for calculating overall gain (K) when the


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

449

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
PV input is within the user specified band (GAPLOLM GAPHILM) around the SP. The value range is 0.0 to 1.0.
Linear Gain Factor (KLIN) - Lets you specify the value to

be used for calculating the overall gain (K) in association


with GAP, NONLIN, or EXT gain option.
Non-Linearity Form (NLFORM) -Lets you specify the

non-linearity form (0 or 1) to be used for calculating gain


(K) based on the formula shown for Non Linear Gain in
the Gain Options section. The default value is 1.
Non-Linear Gain Factor (NLGAIN) -Lets you specify the

non-linear gain value to be used for calculating gain (K)


based on the formula shown for Non Linear Gain in the
Gain Options section. The default value is 0.
External Gain Factor (KMODIFEXT) - Lets you specify

an input value from either the process, another function


block, or a user program to be used to modify the gain
(K) calculation per this formula:
K = KLIN KMODIFEXT
See External Gain in the Gain Options section for more
details. The default value is 1.
Legacy Gap: An option which allows the user to revert

back to older GAP and Nonlinear gain calculations so


that there is no change in behavior after migration.from
TPS to Experion The option when enabled will allow the
Experion controllers to have the same behavior as the
TPS xPM controller. See LEGACYGAP Option
SetPoint

SP (SP) - Lets you specify an initial set point value. The

default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value

for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value

for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired

MODE the block is to assume, if an initializable input


times out, which means the input has not been updated
450

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
within a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Enable Advisory SP Processing (ADVDEVOPT) - Lets

you specify whether or not the block is to generate a


deviation alarm when the PV deviates from a user
specified "advisory" SP value. The default selection is
unchecked (Disabled).
Advisory SP Value (ADVSP) - Lets you set an advisory

SP value in PV engineering units, when Advisory SP


Processing is enabled. When PV exceeds or deviates
from this value, the block generates an advisory
deviation alarm.
Enable PV Tracking (PVTRAKOPT) - Lets you specify if

PV tracking is to be applied to this block or not. When


PV tracking is enabled, this option sets the SP equal to
PV when the operation of a cascade loop is interrupted
by either initialization, operator or program operation
(such as, setting the MODE to MANual). This option is
normally enabled for PIDs in a cascade loop. The default
selection is unchecked (disabled). See the PV tracking
section for this block for more details.
Enable PV Tracking in Auto/Init (PVTRAKOPTAI) - Lets

you specify if PV Tracking option for the specific case


when the block is in Auto mode and it is undergoing
initialization (INITMAN is ON) is be enabled or not. The
default selection is unchecked (disabled).
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

451

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
Enable SP Ramping (SPTVOPT) - Lets you specify if an

operator can initiate a set point ramp action or not. It


provides a smooth transition from the current set point
value to a new one. The default selection is box
unchecked (disabled). See the Set point ramping section
for this block for more details.
Normal Ramp Rate (SPTVNORMRATE) - Lets you

specify a ramp rate in engineering units per minute for


the SP ramping function, when it is enabled. This lets an
operator start the SP ramping function without specifying
a ramp time. The default selection is Not a Number
(NaN). See the Set point ramping section for this block
for more details.
Max. Ramp Deviation (SPTVDEVMAX) - Lets you

specify a maximum ramp deviation value in engineering


units per minute for the SP ramping function, when it is
enabled. Keeps PV within the specified deviation range
for a ramping SP by stopping the SP ramp until the PV
input catches up with the SP value. The default value is
NaN, which means no ramp deviation check is made.
See the Set point ramping section for this block for more
details.
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
452

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

453

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
CVEU Range High (CVEUHI) -Lets you specify the high

output range value in engineering units that represents


100% full scale CV output for the block. The default
value is 100.
CVEU Range Low (CVEULO) - Lets you specify the low

output range value in engineering units that represents


the 0 full scale CV output for the block. The default value
is 0 (zero).
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Deviation High (DEVHIALM.FL)

Deviation Low (DEVLOALM.FL)

Advisory Deviation (ADVDEVALM.FL)

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

Enable Alarm (ADVDEVOPT and SIALM.OPT ) - Lets

you enable or disable Advisory Deviation and/or Safety


Interlock alarm types. A check in the box means the
alarm is enabled. The default selections are unchecked
454

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
or Disabled for Advisory Deviation and checked or Yes
(enabled) for Safety Interlock.
You can also configure the ADVDEVOPT and
SIALM.OPT parameters as a block pins, configuration
and/or monitoring parameters so they appear on the
block in the Project and Monitoring tree views,
respectively.
Trip Point - Lets you specify the following trip points for

the given alarm. The default value is NaN, which


disables the trip point.
OPHIALM.TP (Output High Alarm Trip Point)
OPLOALM.TP (Output Low Alarm Trip Point
DEVHIALM.TP (Deviation High Alarm Trip Point)
DEVLOALM.TP (Deviation Low Alarm Trip Point)
ADVDEVALM.TP (Advisory Deviation Alarm Trip Point)
Priority - Lets you set the desired priority level

individually for each alarm type (OPHIALM.PR,


OPLOALM.PR, DEVHIALM.PR, DEVLOALM.PR,
ADVDEVALM.PR, SIALM.PR, BADCTLALM.PR,). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (OPHIALM.SV, OPLOALM.SV,


DEVHIALM.SV, DEVLOALM.SV, ADVDEVALM.SV,
SIALM.SV, BADCTLALM.SV,) as a number between 0 to
15, with 15 being the most severe. This determines the
alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

455

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

456

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description
block is to take when the SCM goes into an abnormal
state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV.

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN.

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate.

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPEXLOLM to OPEXHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Rate (STARTRATE, STOPRATE, HOLDRATE) - When

the RAMPEDSP option is selected, lets you specify a


rate value (STARTRATE, STOPRATE, HOLDRATE) for
setting the SPRATEREQ for an SP ramping function.
Block Pins

R110
February 2014

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Experion LX Control Builder Components Theory


Honeywell

457

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Configuration Tab

Description

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
The PIDER block requires five inputs -- PV, SP, RFB, TRFB and S1. RFB is the reset
feedback value, TRFB is the tracking value, and S1 is a tracking control switch (a
Boolean input). S1 indicates whether the PID output should be combined with the RFB
or replaced by TRFB.

458

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

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

(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.

Operating modes and mode handling


The PIDER block operates in the following modes:

MAN (MANual)

If mode is MANual, OP may be stored by the operator or a user program; PV


and SP are ignored - if a primary exists, it goes to the initialized state.

AUTO (AUTOmatic)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

459

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

If mode is AUTOmatic, SP (or SPP) may be stored by the operator or a user


program; if a primary exists, it goes to the initialized state. SP contains set point
value in engineering units and SPP contains the value in percent.

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 PIDER block
invokes timeout processing.

Required inputs
The required number of inputs is determined by the mode of the PIDER block.

If Mode is CAScade, five inputs are required - PV, SP, RFB, TRFB and S1.

If Mode is AUTOmatic or MANual, PV, RFB, TRFB and S1 are required.

SP is the only initializable input; other inputs are non-initializable.

PV must be pulled from another block; you cannot store to it - typically it is


connected to the output of an auxiliary or data acquisition (DATAACQ) block.

If Mode is CAScade, SP is pulled from another block; if Mode is AUTOmatic, it


may be stored by the operator or a user program.

The PIDER block may have one primary or none, depending on whether SP is
configured or not; there is one primary per initializable input.

RFB and TRFB must be pulled from another block, you cannot store to them.
The RFB input is optional. If the PIDER block is used for external tracking
features only, the RFB input is not required.

S1 can be triggered by another function block or set by a user-written program.

Input ranges and limits

460

You must specify a PV engineering unit range, PVEUHI and PVEULO.

PVEUHI and PVEULO define the full range of PV in engineering units.


PVEUHI represents the 100% of full scale value.
PVEULO represents the 0% of full scale value.

PVEUHI and PVEULO also define the engineering unit range of SP - PV and SP
are assumed to have the same range.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

The PIDER block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from a data acquisition (DATAACQ) block
which applies its own limit and range check.

SPHILM and SPLOLM define set point operating limits in engineering units.

The operator is prevented from storing a set point value that is outside these
limits; if the primary or a user program attempts to store a value outside of the
limits, the PIDER block clamps it to the appropriate limit and sets the primary's
windup status.

The PIDER block provides the SP high/low limits (SPHILM/SPLOLM) to the


primary through BACKCALC. The primary uses this for its output range
(CVEUHI/CVEULO).

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.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
ATTENTION
The PIDER block does not support output initialization, and therefore cannot
have a secondary. Initialization only occurs when the tracking control switch
(S1) is On.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

461

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single PID
output.

Control initialization
The PIDER block does not perform normal initialization and windup processing
associated with secondaries. Initialization occurs when the tracking control switch (S1) is
On.
This block provides the same initialization data to its primary as the normal PID block

Note that SECINITOPT may be used to ignore initialization requests from the
secondary.

If the secondary is requesting initialization, the PID block:

initializes its output


CV = initialization value from the secondary

sets initialization request parameters for its primary


INITREQ = On
INITVAL = SP

Output bias
If the PIDER block algorithm is configured as Equation A, B, C, or D, no output bias
(OPBIAS) is applied.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the
PIDER block is the first initializable block.

462

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the PIDER 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.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

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
CVUNBIASED
OPBIAS.FIX

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)
= 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,

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

463

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

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.

Output ranges and limits

CVEUHI and CVEULO define the full range of CV in engineering units.

464

CVEUHI and CVEULO must be specified by the user. The specified values must
match the engineering units (EU) range of the RFB and TRFB signals, which
are the range of the remote (foreign) controller or secondary.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

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 operator may store an OP value that is outside of 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.

OP is clamped to these limits if the algorithm's calculated result (CV) exceeds


them, or another block or user program attempts to store an OP value that
exceeds them.

The operator is prevented from storing an OP value that exceeds these limits.

MAXRFBDEV is the maximum deviation allowed between CV and RFB, in


percent. It is used to provide windup protection for OP.

If the scaled, integrated deviation of CV from RFB exceeds MAXRFBDEV in


the positive direction, the PIDER block sets the output windup status (ARWOP)
to High, which will prevent CV from going higher. If the deviation exceeds
MAXRFBDEV in the negative direction, it sets ARWOP to Low, which will
prevent CV from going lower. This occurs only if the tracking control switch
(S1) is Off.

Direct or reverse control


A PIDER block may be configured for direct-control action or reverse-control action.
Changing the control action effectively changes the sign of the gain.

With direct-control action, an increase in the error (PV - SP) increases the PIDER
output (CV).

With reverse-control action, an increase in the error (PV - SP) decreases the PIDER
output (CV).

For example, if SPP = 50% and PVP = 51%, then the error is 1%.

With direct-control action, if PVP changes to 52%, the error increases causing CV to
increase.

With reverse-control action, if PVP changes to 52%, the error increases causing CV
to decrease. .

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

465

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Set Point Ramping


The Set Point Ramping option lets you ramp from the current set point value to a target
set point value. You enable this option by selecting the Enable SP Ramping check box
on the block's parameter configuration form. This is equivalent to setting the SPTVOPT
parameter to Enable. You can also configure the following related parameters through
the configuration form or the equivalent parameters.
Parameter
Normal Ramp Rate
(SPTVNORMRATE)

Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:

If SPTVNORMRATE is a value other than zero


or NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)

466

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Parameter
Max. Ramp Deviation
(SPTVDEVMAX)

Description
Lets you specify a maximum deviation in engineering units
per minute allowed between PV and SP during ramping.
The value can be NaN or greater than zero. If value is
NaN, it means no ramp deviation checking is done.
If the maximum ramp deviation value is other than NaN,
SP ramping stops when the absolute value of the
deviation (|PV - SP|) exceeds the maximum deviation. The
deviation flag (SPTVDEVFL) is set, and SP ramping state
(SPTVSTATE) remains in Run. Ramping resumes as
soon as the absolute value of the deviation returns within
the maximum deviation limit. This also resets the deviation
flag (SPTVDEVFL).
If you have entered a ramp time (SPTVTIME) and ramping
is interrupted by maximum ramp deviation, the actual
ramp time (SPTVTIME) will be greater than the time you
specified.

You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the PID Loop Point Detail display in Station.
Parameter
SPTV

Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME).
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PIDER
detail display in Station.

SPTVDEVFL

R110
February 2014

SP target value deviation flag indicates when deviation


exceeds the maximum ramp deviation limit.

Experion LX Control Builder Components Theory


Honeywell

467

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Parameter
SPTVRATE

Description
SP target value ramp rate. This rate is calculated as shown
above for the SPTVNORMRATE and as follows:
If you specify a ramp time (SPTVTIME) value other than

zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
If you change the SPTVNORMRATE, this block

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.

468

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Figure 22 PIDER block with SP ramping parameters configured for


monitoring.
The following table includes descriptions of the callouts in the figure above.
Callout

Description

Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

469

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Callout

Description

You can only set a value for SPTV and SPTVTIME, when:
SPTVSTATE is Off or Preset, and
Mode is Auto or Manual.

ATTENTION

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.

PV tracking
The PV Tracking option sets SP equal to PV when a cascade is broken due either to
function block initialization or operator or program action (such as, setting the mode to
Manual).
You select the Enable PV Tracking selection on the block configuration form to enable
the function (PVTRAKOPT = Track).
Typically, PV tracking is configured for PID blocks in a cascade configuration strategy.
This allows the PIDs to resume control with no error after initialization or when they are
taken out of Manual mode.
If PV tracking is configured, the block sets SP equal to PV (subject to SP limits) when
either of the following conditions exist:

470

block is in Manual mode

block is initializing and not in Auto mode.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

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.

PID equations
The PIDER block provides four different equations for calculating the PID - the
CTLEQN parameter is used to specify the desired equation.

Equation A - all three terms (Proportional, Integral, Derivative) act on the error
(PV - SP) as follows:

CV = K * L

-1

1+

1
T2S
+
* PVPS - SPPS
T1S 1 + a * T2 S

Equation B - the proportional and integral terms act on the error (PV - SP) and the
derivative term acts on changes in PV as follows:

CV = K * L

-1

1+

T2S
1
+
T1 S 1 + a * T2 S

* PVPS - 1 +

1
T1S

* SPPS

This equation is used to eliminate derivative spikes in the control action as a result
of quick changes in SP.

Equation C - the integral term acts on the error (PV - SP) and the proportional and
derivative terms act on changes in PV as follows:

CV = K * L
R110
February 2014

-1

1+

1
T2S
+
T1S 1 + a * T2 S

* PVPS -

1
* SPPS
T1S

Experion LX Control Builder Components Theory


Honeywell

471

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

This equation provides the smoothest and slowest response to SP changes.

Equation D - integral control only as follows:

CV = L-1

1
* PVPS - SPPS
T1S

ATTENTION
To prevent a bump in the output, you must configure the OPBIAS.RATE
parameter for a value (in Engineering Units per minute) other than 0.0
(zero) or NaN (Not a Number) to enable the ramping function for the
floating bias.

Reverse-control action causes the sign of the unbiased CV to be reversed.

If both options are selected, the unbiased CV is reversed first, and then the fixed
and floating bias are added - neither the bias nor the final CV are reversed

Where:

472

CV

output of PID (Equations A, B, C, D) in percent

gain (proportional term)

-1

inverse of the LaPlace transform

PV

process input value in engineering units

PVP

PV in percent

1/16 fixed rate amplitude

La Place operator

SP

set point value in engineering units

SPP

SP in percent

T1

integral time constant in minutes

T2

derivative time constant in minutes

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

PIDER equation variations


In addition to the PID equations above, the PIDER block supports the following
variations depending on the status of the tracking switch (S1).
If the tracking switch S1 is Off, this block combines RFB with the PID output as
follows:

If PID equation A, B, or C is configured, the following variation applies:

If PID equation D is configured, the following variation applies:

If the tracking switch (S1) is On, the PIDER block forces CV to track the tracking value
(TRFB) input as follows:

Where:

R110
February 2014

CV

full value output in percent , PID combined with CVRFB.

CVPID

full value output of the PID block. This is an internal


calculated parameter and is not available to user-written
programs.

gain (proportional term)

Experion LX Control Builder Components Theory


Honeywell

473

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

K1

External reset feedback gain (scaling factor that is applied


to RFB).

K1 is clamped between the limits 0.0 and 1.0.


L

-1

inverse of the LaPlace transform

RFB

the external reset feedback value in engineering units


(input).

rfb

La Place operator

S1

the tracking control switch (input)

TRFB

the tracking value (input)

T1

PID integral time constant in minutes (configured)

Gain options
If equation A, B, or C is selected, any of the following gain equations may be chosen:

Linear Gain - provides a proportional control action that is equal to a constant (K)
times the error.

Gap Gain - used to reduce the sensitivity of the control action when PV is in a userspecified band (gap) around the set point.

474

This is the most commonly-used gain option - K is a user-specified constant and


has a default value of 1.0.

Gap size and control action are specified at configuration time through the
following parameters:

KLIN

Linear (normal) gain - to be used when PV is outside the


gap.

KMODIFGAP

Gain-modification factor - to be used when PV is inside the


gap. Range of KMODIFGAP = 0.0 to 1.0.

GAPLOLM

Lower limit of gap - in same engineering units as PV.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

GAPHILM

Upper limit of gap - in same engineering units as PV.

Gain (K) is derived as follows:

When PV is outside the gap:


K = KLIN
When PV is inside the gap (SP - GAPLOLM <= PV <= SP + GAPHILM):
K = KLIN KMODIFGAP

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:

K = KLIN * NLFORM + NLGAIN *

PV - SP
(PVEUHI - PVEULO)

Where:
KLIN
NLFORM
NLGAIN

= linear (normal) gain (user-configured)


= nonlinear gain form (user-configured; may be 0 or 1)
= 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

R110
February 2014

= KLIN KMODIFEXT

Experion LX Control Builder Components Theory


Honeywell

475

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Where:
KLIN
KMODIFEXT

= linear (normal) gain (user-configured)


= external gain modifier (such as from a user program)

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse1

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

The PIDER block does not support the Reverse option selection.

ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
476

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR


parameters to meet your process and operator needs.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
Examples of OUTIND coordination with OPTDIR and CTLACTN parameters
The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a PID block can be used in
conjunction with the Output Direction (OPTDIR) parameter of an AOCHANNEL block
to achieve the desired configuration. The Control Action (CTLACTN) parameter on the
PID block is normally chosen independent of the OUTIND and OPTDIR values, so
CTLACTN is not included in the examples.
For This Scenario . . .
Fail close valve; air to open - normal
case

Typical Settings Are . . .


PID OUTIND = Direct
AOCHANNEL OPTDIR = Direct
PID OP 0% translated to 4 mA by the

AO, corresponding to the valve closed


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve closed


Fail open valve; air to close - reversal
handled in AO channel

PID OUTIND = Direct


AOCHANNEL OPTDIR = Reverse
PID OP 0% translated to 20 mA by the

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

477

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

For This Scenario . . .

Typical Settings Are . . .


AO, corresponding to the valve closed
PID OP 100% translated to 4 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve open


Fail open valve; air to close - display
indications highlight reverse acting valve

PID OUTIND = ReverseDispInd


AOCHANNEL OPTDIR = Direct
PID OP 0% translated to 4 mA by the

AO, corresponding to the valve open


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


closed
Unpowered state of AO results in 0

mA and valve open

Tuning Constant Change Considerations


WARNING
You cannot always reverse output (OP) resulting from changes you make to a
tuning constant gain (K), integral time (T1) or derivative time (T2) in an online
control loop.

You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.

Timeout monitoring
If mode is CAScade, the block performs timeout monitoring on SP - if a good SP value
is not received within a predefined time, the block invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)

478

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If mode is CAScade and SP times out, the block does the following:

Sets the input timeout flag (TMOUTFL)

Holds SP at its last good value.

Sheds to the user-specified timeout mode (MODE = TMOUTMODE).

Requests the primary to initialize.

The block sets its cascade request flag (CASREQFL), if SP times out and sheds to
AUTOmatic mode. This indicates that the block is waiting to return to the CAScade
mode, and it will as soon as it brings a good SP value. When it receives a good SP value,
the block does the following:

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. This allows you to disable the automatic return to Cascade mode.

The block only sets CASREQFL if the original mode was Cascade, the SP input
times-out, and TMOUTMODE = AUTO.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.

Windup handling
When a windup condition is reached, the block stops calculating the integral term, but
continues to calculate the proportional and derivative term.

A windup condition exists if:

R110
February 2014

PID block has a secondary and the secondary is in windup.


Experion LX Control Builder Components Theory
Honeywell

479

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

PID block's output exceeds one of the user-specified output limits (OPHILM,
OPLOLM).

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
If Any of the Following are True . . .
This block is inactive.

480

Then, ARWOP Equals . . .


HiLo

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

If Any of the Following are True . . .

Then, ARWOP Equals . . .

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

481

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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
482

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.10. PIDER (PID with External Reset Feedback) Block

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

Override feedback processing


The PIDER block does not support override feedback processing.

Error handling for RFB and TRFB inputs

If the tracking control switch (S1) is Off and the reset feedback value (RFB) is bad,
this block sets CV to NaN (Bad).

R110
February 2014

When the RFB returns to good, CV is initialized, and the dynamic PID terms
are returned to steady-state.
Experion LX Control Builder Components Theory
Honeywell

483

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

If S1 is On and the tracking value (TRFB) is bad, the block sets CV to NaN (Bad).

When the TRFB returns to good, CV is initialized, and the dynamic PID terms
are returned to steady- state. If configured, an initialization request is sent to the
primary.

Restart or point activation


Initialization takes place when the block is activated or inactivated.

PIDER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PIDER block.

13.11 PIDFF (PID with Feedforward) Block


Description
The PIDFF block is like the PID block but it accepts a feedforward signal as an
additional input. You can configure the PIDFF block so the feedforward signal is added
to or multiplied by the normal PID algorithm's incremental output to meet your particular
control requirements. This lets you implement a feedforward control function through a
single function block. The PIDFF block looks like this graphically:

The PIDFF block has three analog inputs - a process variable (PV), a set point (SP), and
a feedforward signal (FF). The difference between PV and SP is the error and this block
calculates a control output (OP) that should drive the error to zero. The feedforward
484

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

485

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Response to Feed Change


Dynamic
Feedforward

3-Mode
Only

Uncontrolled

PID with Feedforward


Controller
OP

FF

PV
SP

Lead-Lag
Relay
P1

PV

Figure 23 Simple PID with feedforward control loop example.


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.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

486

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
string of up to 16 characters to identify the variable
values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
PVEU Range High (PVEUHI) - Lets you specify the high

input range value in engineering units that represents


100% full scale PV input for the block. The default value
is 100.
PVEU Range Low (PVEULO) - Lets you specify the low

input range value in engineering units that represents the


0% full scale PV input for the block. The default value is
0 (zero).
Manual PV Option (PVMANOPT) - Lets you specify the

mode and output the block is to assume when PVSTS


changes to MANual. The selections are:

R110
February 2014

NOSHED - No changes.

SHEDHOLD - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and holds output at the last
good value.

SHEDLOW - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to its
extended low limit (OPEXLOLM) value.

SHEDHIGH - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to its
extended high limit (OPEXHILM) value.

SHEDSAFE - Sets MODE to MANual and


MODEATTR to Operator, disables external mode
switching (ESWPERM), and sets output to the
configured safe output (SAFEOP) value.

Experion LX Control Builder Components Theory


Honeywell

487

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
The default selection is SHEDHOLD.
The block requests its primary to initialize after a
mode shed or lets the primary know that it is
woundup, if it does shed its mode. An operator can
change the block's mode after it is shed, but, the
operator must first set PVMANOPT to NOSHED,
so the mode doesn't shed again.
When PVSTS returns to normal, the block clears its
primary initialization request but remains in MANual
mode after a mode shed. An operator must return
the block to its normal mode. If mode was not shed,
the block clears its windup condition and does a
one-shot initialization. It also requests the primary
to do a one-shot initialization.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. For example, if the
MODE is CAScade and the block is getting its SP from
another block, an operator is prevented from overwriting
the SP value. However, If there is a breakdown in the
cascade loop, the MODE can be changed so an operator
can write a value to the SP. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
488

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

489

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Algorithm

Control Equation Type - Lets you select the control

equation the block is to use. The selections are EQA,


EQB, EQC, EQD, and EQE. See the PID Equations
section for this block for details. The default selection is
EQA.
Control Action - Lets you specify if the block is to provide

direct or reverse control action. The default selection is


REVERSE, which means output decreases as input
increases.
T1 (minutes) (T1) - Lets you set integral time to be used

for the integral term in the control equation.


T1 High Limit (minutes) (T1HILM) - Lets you define the

high limit value in minutes for the integral time setting.


The default limit is 1440.
T1 Low Limit (minutes) (T1LOLM) - Lets you define the

low limit value in minutes for the integral time setting.


The default limit is 0.
T2 (minutes) (T2) - Lets you set the derivative time to be

used for the derivative term in the control equation.


T2 High Limit (minutes) (T2HILM) - Lets you define the

high limit value in minutes for the derivative time setting.


The default limit is 1440.
T2 Low Limit (minutes) (T2LOLM) - Lets you define the

low limit value in minutes for the derivative time setting.


The default limit is 0.
490

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
High Gain Limit (GAINHILM) - Lets you set a high limit

for the gain (K) value. If this value is exceeded, K is


clamped to this limit. The default value is 240.
Low Gain Limit (GAINLOLM) - Lets you set a low limit for

the gain (K) value. If K is less than this value, it is


clamped to this limit. The default value is 0.
Gain Options (GAINOPT) - Lets you select the type of

gain term to be used in the PID equation. The default


value is LIN. The selections are:

LIN - The LINear gain option provides a


proportional control action that is equal to a
constant (K) time the error (PV -SP). This applies
to equations A, B, and C.

GAP - The GAP gain option reduces the sensitivity


of the control action when the PV is in a userspecified band (gap) around the set point. This
applies to equations A, B, and C.

NONLIN - The NONLIN gain option provides a


proportional control action that is equal to the
square of the error, rather than the error itself. This
applies to equations A, B, and C.

EXT - The EXTernal gain option modifies the gain


(K) by an input value from either the process,
another function block, or a user program. You can
use this option to compensate for nonlinear
process gain - lets you tune the PID gain
independent of the normal operating point of the
process. For example, If you are controlling the
level of tank whose cross-section is not constant,
you can use the EXT option to modify the gain to
compensate for the nonlinear rate of level change,
which is caused by the changing shape of the tank.
This applies to equations A, B, and C.

Overall Gain (K) - Lets you set the overall gain value

used to calculate the proportional term in the PID


equation. The default value is 1.
Gap High Limit (GAPHILM) - Lets you define the high

limit value in PV engineering units to be used when


calculating GAP gain.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

491

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
Gap Low Limit (GAPLOLM) - Lets you define the low

limit value in PV engineering units to be used when


calculating GAP gain.
Gap Gain Factor (KMODIFGAP)- Lets you specify the

value to be used for calculating overall gain (K) when the


PV input is within the user specified band (GAPLOLM GAPHILM) around the SP. The value range is 0.0 to 1.0.
Linear Gain Factor (KLIN) - Lets you specify the value to

be used for calculating the overall gain (K) in association


with GAP, NONLIN, or EXT gain option.
Non-Linearity Form (NLFORM) -Lets you specify the

non-linearity form (0 or 1) to be used for calculating gain


(K) based on the formula shown for Non Linear Gain in
the Gain Options section. The default value is 1.
Non-Linear Gain Factor (NLGAIN) -Lets you specify the

non-linear gain value to be used for calculating gain (K)


based on the formula shown for Non Linear Gain in the
Gain Options section. The default value is 0.
External Gain Factor (KMODIFEXT) - Lets you specify

an input value from either the process, another function


block, or a user program to be used to modify the gain
(K) calculation per this formula:
K = KLIN KMODIFEXT
See External Gain in the Gain Options section for more
details. The default value is 1.
Legacy Gap: An option which allows the user to revert

back to older GAP and Nonlinear gain calculations so


that there is no change in behavior after migration.from
TPS to Experion The option when enabled will allow the
Experion controllers to have the same behavior as the
TPS xPM controller See LEGACYGAP Option
Feedforward Type (FFOPT) - Lets you specify whether

the feedforward signal is to be added to (ADD) or


multiplied by (MULTIPLY) the incremental PID output.
The default value is ADD.
Gain (KFF) - Lets you specify the desired gain for the

feedforward input. It is clamped between GAINLOLM


and GAINHILM. The default setting is 1.
Bias (BFF) - Lets you specify the desired bias value for

492

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
the feedforward input. The default setting is 0.

SetPoint

SP (SP) - Lets you specify an initial set point value. The

default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value

for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit (SPLOLM) - Lets you specify a low limit value

for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired

MODE the block is to assume, if an initializable input


times out, which means the input has not been updated
within a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Enable Advisory SP Processing (ADVDEVOPT) - Lets

you specify whether or not the block is to generate a


deviation alarm when the PV deviates from a user
specified "advisory" SP value. The default selection is
unchecked (Disabled).
Advisory SP Value (ADVSP) - Lets you set an advisory

SP value in PV engineering units, when Advisory SP


Processing is enabled. When PV exceeds or deviates
from this value, the block generates an advisory
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

493

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
deviation alarm.
Enable PV Tracking (PVTRAKOPT) - Lets you specify if

PV tracking is to be applied to this block or not. When


PV tracking is enabled, this option sets the SP equal to
PV when the operation of a cascade loop is interrupted
by either initialization, operator or program operation
(such as, setting the MODE to MANual). This option is
normally enabled for PIDs in a cascade loop. The default
selection is unchecked (disabled). See the PV tracking
section for this block for more details.
Enable PV Tracking in Auto/Init (PVTRAKOPTAI) - Lets

you specify if PV Tracking option for the specific case


when the block is in Auto mode and it is undergoing
initialization (INITMAN is ON) is be enabled or not. The
default selection is unchecked (disabled).
Enable SP Ramping (SPTVOPT) - Lets you specify if an

operator can initiate a set point ramp action or not. It


provides a smooth transition from the current set point
value to a new one. The default selection is box
unchecked (disabled). See the Set point ramping section
for this block for more details.
Normal Ramp Rate (SPTVNORMRATE) - Lets you

specify a ramp rate in engineering units per minute for


the SP ramping function, when it is enabled. This lets an
operator start the SP ramping function without specifying
a ramp time. The default selection is Not a Number
(NaN). See the Set point ramping section for this block
for more details.
Max. Ramp Deviation (SPTVDEVMAX) - Lets you

specify a maximum ramp deviation value in engineering


units per minute for the SP ramping function, when it is
enabled. Keeps PV within the specified deviation range
for a ramping SP by stopping the SP ramp until the PV
input catches up with the SP value. The default value is
NaN, which means no ramp deviation check is made.
See the Set point ramping section for this block for more
details.
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
494

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, if the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

495

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
CVEU Range High (CVEUHI) -Lets you specify the high

output range value in engineering units that represents


100% full scale CV output for the block, if the block has
no secondary. The default value is 100.
CVEU Range Low (CVEULO) - Lets you specify the low

output range value in engineering units that represents


the 0 full scale CV output for the block, if the block has
no secondary. The default value is 0 (zero).
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
496

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
types are:

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Deviation High (DEVHIALM.FL)

Deviation Low (DEVLOALM.FL)

Advisory Deviation (ADVDEVALM.FL)

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

Enable Alarm (ADVDEVOPT and SIALM.OPT ) - Lets

you enable or disable Advisory Deviation and/or Safety


Interlock alarm types. A check in the box means the
alarm is enabled. The default selections are unchecked
or Disabled for Advisory Deviation and checked or Yes
(enabled) for Safety Interlock.
You can also configure the ADVDEVOPT and
SIALM.OPT parameters as a block pins, configuration
and/or monitoring parameters so they appear on the
block in the Project and Monitoring tree views,
respectively.
Trip Point - Lets you specify the following trip points for

the given alarm. The default value is NaN, which


disables the trip point.
OPHIALM.TP (Output High Alarm Trip Point)
OPLOALM.TP (Output Low Alarm Trip Point
DEVHIALM.TP (Deviation High Alarm Trip Point)
DEVLOALM.TP (Deviation Low Alarm Trip Point)
ADVDEVALM.TP (Advisory Deviation Alarm Trip Point)
Priority - Lets you set the desired priority level

individually for each alarm type (OPHIALM.PR,


OPLOALM.PR, DEVHIALM.PR, DEVLOALM.PR,
ADVDEVALM.PR, SIALM.PR, BADCTLALM.PR,). The
default value is LOW. The levels are:

R110
February 2014

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear

Experion LX Control Builder Components Theory


Honeywell

497

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (OPHIALM.SV, OPLOALM.SV,


DEVHIALM.SV, DEVLOALM.SV, ADVDEVALM.SV,
SIALM.SV, BADCTLALM.SV) as a number between 0 to
15, with 15 being the most severe. This determines the
alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
deadband parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm filter
time parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
deadband unit parameters (for example, OPHIALM.DBU
and OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

498

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description
specify if an alarm is to be notified in the alarm summary
whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User Guide for more information on this function.
The default selection is ONESHOT. The selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

499

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Configuration Tab

Description

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV.

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN.

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate.

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPEXLOLM to OPEXHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Rate (STARTRATE, STOPRATE, HOLDRATE) - When

the RAMPEDSP option is selected, lets you specify a


rate value (STARTRATE, STOPRATE, HOLDRATE) for
setting the SPRATEREQ for an SP ramping function.

500

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Function
A PIDFF requires up to three inputs - a process variable (PV), a set point (SP), and a
feedforward (FF):

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. The PV is non-initializable input.

SP is pulled from another function block, or you can store a value to it or use a value
from a user program.
If SP is pulled from a primary, the PIDFF's Mode must be Cascade; and if you store
a value or use a user program, Mode must be Manual or Automatic. If Mode is
Cascade, the PIDFF must perform timeout checking on SP (to make sure the primary
is periodically updating it). The SP is an initializable input.

FF is pulled from another function block.


FF is typically pulled from a LEADLAG function block, which provides dynamic
signal adjustments. The FF is a non-initializable input.

A PIDFF also has the following optional inputs. Typically, these are flags, which may be
stored by the operator or user program to change the normal operation of the PID.

ESWAUTO, ESWCAS, ESWMAN and SI - Indicates if an external source, such as


a user program, wants to change the PID'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 PIDFF's safety interlock
logic.

If a BACKCALC connection is made to the secondary, the PIDFF 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 PIDFF to
initialize.

The BACKCALCIN/BACKCALCOUT connection for each secondary used is


automatically built by Control Builder as implicit/hidden connections. This means
you do not have to manually wire BACKCALC connections in Control Builder.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

501

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

The secondary builds BACKCALCIN when it receives a read request from the
primary. This way, BACKCALCIN is guaranteed to contain the most current status.

Functional scenario
This scenario is based on the functional block diagram of a typical feedforward loop
shown in the following figure and it assumes the following:

The PIDFF's Mode is AUTOmatic. As a result, SP is set by the operator or a user


program.

PIDFF pulls PV from Data Acquisition (DATAACQ) function block as shown in


the following figure.

PIDFF pulls FF from the LEADLAG function block as shown in the following
figure.

The PV, FF, and OP connections are all good which means there are no
communication errors or timeouts.

Set Point stored by


operator or user
program
SP
DATAACQ
P1

PIDFF1

PV FF OP

PV

AOCHANNEL
OP

AICHANNEL
PV

LEADLAG
P1

PV

Figure 22 Functional block diagram of typical PID feedforward operation.


502

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

The functional steps associated with this PIDFF operating scenario are listed in the
following table.
Step

Action

The Operator provides a value to the PIDFF1 SP variable (before the PIDFF1
executes).

The PIDFF1's "Execute" method is called by the CEE (Control Execution


Environment). The PID execution period is configurable.

The PIDFF1 checks PVSOURCE and decides whether or not to fetch PV. If
PVSOURCE = Auto, it brings PV from the DATAACQ; otherwise, it simply
uses the current value of PV.

The PIDFF pulls the FF from the LEADLAG block.

The PIDFF1 checks SI, ESWAUTO, ESWCAS and ESWMAN to see if an


external source wants to invoke Safety Interlock processing or change the
Mode.

The PIDFF1 performs SP processing. (SP processing options are specified


at configuration time.)

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).

The PIDFF1 performs limit checking and alarming (if required) on OP.

The PIDFF1 stores OP to the AOCHANNEL.

10

The PIDFF1's "Execute" method completes.

Operating modes and mode handling


The PIDFF block operates in the following modes:

MAN (MANual)

If mode is MANual, OP may be stored by the operator or a user program; PV,


FF, and SP are ignored - if a primary exists, it goes to the initialized state.

AUTO (AUTOmatic)

R110
February 2014

If mode is AUTOmatic, SP (or SPP) may be stored by the operator or a user


program; if a primary exists, it goes to the initialized state. SP contains set point
value in engineering units and SPP contains the value in percent.
Experion LX Control Builder Components Theory
Honeywell

503

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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.

Required inputs
The PIDFF block requires both PV and FF inputs to provide its feedforward function.
The PV and FF inputs must be pulled from other blocks; you cannot store to them.
Typically, they are connected to the output of an auxiliary or data acquisition
(DATAACQ) block.
The SP input is not required, since it does not have to be pulled from another function
block.

If Mode is CAScade and the SP is pulled from another function block, it receives its
value from an upstream primary and it is an initializable input.

If Mode is CAScade and the SP is not connected to another function block, the
value of the SP is frozen at the last acquired value.

If Mode is AUTOmatic, the SP value may be stored by the operator or a user


program.

The PIDFF block may have one primary or none, depending on whether SP is pulled
from another block or not; there is one primary per initializable input.

Input ranges and limits

504

You must specify a PV engineering unit range, PVEUHI and PVEULO.

PVEUHI and PVEULO define the full range of PV in engineering units.


PVEUHI represents the 100% of full scale value.
PVEULO represents the 0% of full scale value.

PVEUHI and PVEULO also define the engineering unit range of SP - PV and SP
are assumed to have the same range.

The PIDFF block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from a data acquisition (DATAACQ) block
which applies its own limit and range check.

SPHILM and SPLOLM define set point operating limits in engineering units.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a PIDFF block to a PID block or an
AOCHANNEL block, Control Builder automatically creates the BACKCALCOUT to
BACKCALCIN connection.

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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a primary PID block
(PIDA.OP) to the set point of a secondary PID block (PIDB.SP), the implicit/hidden
connection is made to PIDA.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single PID
output.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

505

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Control initialization
The PIDFF block brings initialization requests from its secondary through BACKCALC.
In addition, the secondary may propagate one-shot initialization requests to this block.

Note that SECINITOPT may be used to ignore initialization requests from the
secondary.

If the secondary is requesting initialization, the PIDFF block:

initializes its output


CV = initialization value from the secondary

sets initialization request parameters for its primary


INITREQ = On
INITVAL = SP
INITMAN = On

Output bias
If the PIDFF block algorithm is configured as Equation E, the output bias (OPBIAS) is
added to the algorithm's Calculated Value (CV) and the result is stored in CV. CV is later
checked against OP limits and, if no limits are exceeded, copied to the output.
If the PIDFF block algorithm is configured as Equation A, B, C, or D, no output bias
(OPBIAS) is applied.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode as long as the
PIDFF block is the first initializable block.

506

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the PIDFF 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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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
CVUNBIASED
OPBIAS.FIX

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)
= 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

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

507

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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.

Output ranges and limits

508

CVEUHI and CVEULO define the full range of CV in engineering units.

If the PIDFF block has a secondary, its CV range must be the same as the
secondary's input range - if this PIDFF function has a secondary, it brings the
secondary's input range through BACKCALC and sets its CV range to that.

If the PIDFF block has no secondary, you can configure the CVEUHI and
CVEULO values. The default values are 100 and 0, respectively.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range - these are user-specified values.

Note that this PIDFF block brings the secondary's input range regardless of
SECINITOPT (that is, regardless of whether the secondary's initialization and
override data are used).

OP is clamped to these limits if the algorithm's calculated result (CV) exceeds


them, or another block or user program attempts to store an OP value that
exceeds them, however, the operator may store an OP value that is outside of
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.

Direct or reverse control


A PIDFF block may be configured for direct-control action or reverse-control action.
Changing the control action effectively changes the sign of the gain.

With direct-control action, an increase in the error (PV - SP) increases the PID
output (CV).

With reverse-control action, an increase in the error (PV - SP) decreases the PID
output (CV).

For example, if SPP = 50% and PVP = 51%, then the error is 1%.

With direct-control action, if PVP changes to 52%, the error increases causing CV to
increase.

With reverse-control action, if PVP changes to 52%, the error increases causing CV
to decrease. .

Set Point Ramping


The Set Point Ramping option lets you ramp from the current set point value to a target
set point value. You enable this option by selecting the Enable SP Ramping check box
on the block's parameter configuration form. This is equivalent to setting the SPTVOPT
parameter to Enable. You can also configure the following related parameters through
the configuration form or the equivalent parameters.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

509

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Parameter
Normal Ramp Rate
(SPTVNORMRATE)

Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:
If SPTVNORMRATE is a value other than zero or NaN:

SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise:

SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Deviation
(SPTVDEVMAX)

Lets you specify a maximum deviation in engineering units


per minute allowed between PV and SP during ramping.
The value can be NaN or greater than zero. If value is
NaN, it means no ramp deviation checking is done.
If the maximum ramp deviation value is other than NaN,
SP ramping stops when the absolute value of the
deviation (|PV - SP|) exceeds the maximum deviation. The
deviation flag (SPTVDEVFL) is set, and SP ramping state
(SPTVSTATE) remains in Run. Ramping resumes as
soon as the absolute value of the deviation returns within
the maximum deviation limit. This also resets the deviation
flag (SPTVDEVFL).
If you have entered a ramp time (SPTVTIME) and ramping
is interrupted by maximum ramp deviation, the actual
ramp time (SPTVTIME) will be greater than the time you
specified.

You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the PID Loop Point Detail display in Station.
Parameter
510

Description

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Parameter
SPTV

Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME).
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PID

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

R110
February 2014

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.

Experion LX Control Builder Components Theory


Honeywell

511

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Parameter
SPTVSTATE

Description
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.

Figure 24 PID block with SP ramping parameters configured for


monitoring.
The following table includes descriptions of the callouts in the figure above.

512

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Callout

Description

Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.

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.

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.

PV tracking
The PV tracking option sets SP equal to PV when a cascade is broken due either to
function block initialization or operator or program action (such as, setting the mode to
Manual).
PV tracking is configured by setting PVTRAKOPT = Track.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

513

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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.


a) If PIDFF block is in Auto mode, it means SP is normally stored by
the user.
b) 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.

Feedforward add or multiply action and equations


The PidFF block supports the same equations as the normal PID. In addition, the
feedforward signal is applied to the PID's incremental output (DELCV), when the
control equation A, B, C, or D is configured; and it is applied to the PID's full value
output (CV), when the control equation E is configured.

If the configured control equation (CTLEQN) is A, B, C, or D and the feedforward


action is Additive, then:

If the feedforward value (FFn) is good (symbols are defined below):


CVn = Cvn-1 + DELCV + KFF

(FFn - FFn-1 )

If the status of FFn or FF n-1 is Bad:


CVn = Cvn-1 + DELCV

514

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

If the configured control equation (CTLEQN) is E and the feedforward action is


Additive, then:

If the feedforward value (FFn) is good:


CVn = CVn + KFF

FFn

(The CVn is computed based on equation E using SP and PV and includes the
OPBIAS terms.)

If the status of FFn is Bad:


CVn = CVn + KFF

FFLGV

(The CVn is computed based on equation E using SP and PV and includes the
OPBIAS terms. This ensures that there is no "bump" in the output, when the
feedforward input goes from good to bad.)

If the configured control equation (CTLEQN) is A, B, C, or D and the feedforward


action is Multiplicative, then:

If the feedforward value (FFn) is good:


CVPID = CVPID + DELCV
CV = CVPID

(KFF

FFn + BFF)

If the status of FFn is Bad:


CV = CVPID

(KFF

FFLGV + BFF)

(Note: FFLGV is initialized to 1.0. Therefore, if FFn is Bad from the start, then:
CV = CVPID

(KFF + BFF)

Do not change the KFF and BFF parameters online.)

If FFn is okay but the status of FF n-1 is Bad, then CV is kept as is (to prevent a
bump) and CVPID is back-calculated as follows:
CVPID = CV / (KFF

FFn + BFF)

(Do not change the KFF and BFF parameters online.)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

515

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

If the configured control equation (CTLEQN) is E and the feedforward action is


Multiplicative, then:

If the feedforward value (FFn) is good:


CV = CVPID

(KFF

FFn + BFF)

(Where CVPID is computed based on equation E using SP and PV and includes the
OPBIAS terms.)

If the status of FFn is Bad:


CV = CVPID

(KFF

FFLGV + BFF)

(Note: FFLGV is initialized to 1.0. Therefore, if FFn is Bad from the start, then:
CV = CVPID

(KFF + BFF) )

If FFn is ok but the status of FF n-1 is Bad, then CV is kept as is (to prevent a
bump) and CVPID is back-calculated as follows:
CVPID = CV / (KFF

FFn + BFF)

Where:
BFF = Bias of the feedforward input
CV = Full-value output with FF term included
CVPID = full-value output of the PID block without the FF term (This
is a calculated value and not a user-visible parameter.)
DELCV = Incremental output of the PID function
KFF = Gain of the feedforward input that is clamped between
GAINLOLM and GAINHILM.
FF = Feedforward input value
FFLGV = Last good value of FF (This is a calculated value and not
a user-visible parameter.)
n
n-1

516

= Notation to indicate value of this pass


=

Notation to indicate value of preceding pass

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Feedforward value status


If the value status of the feedforward signal goes bad, the multiplicative feedforward
component of the output value is frozen at the last good value or the additive
feedforward component of the output is left out, and normal PID processing continues.
When the value status of the feedforward signal returns to normal, the feedforward
action resumes. This does not cause a bump in the output because any change from the
last good value is internally absorbed and the PID dynamics are not affected. The
floating, full-value output continues as if there were no feedforward change, but the
contribution of the feedforward action continues from that point.

PID equations
The PIDFF block provides five different equations for calculating the PID - the
CTLEQN parameter is used to specify the desired equation.
ATTENTION
The CV term used in the following PID equations is the same as the CVpid
term used in the previous feedforward equations. It represents the full value
output of the PID function without the FF term added.

Equation A - all three terms (Proportional, Integral, Derivative) act on the error
(PV - SP) as follows:

CV = K * L

-1

1+

1
T2S
+
* PVPS - SPPS
T1S 1 + a * T2 S

Equation B - the proportional and integral terms act on the error (PV - SP) and the
derivative term acts on changes in PV as follows:

CV = K * L

-1

1+

T2S
1
+
T1 S 1 + a * T2 S

* PVPS - 1 +

1
T1S

* SPPS

This equation is used to eliminate derivative spikes in the control action as a result
of quick changes in SP.

Equation C - the integral term acts on the error (PV - SP) and the proportional and
derivative terms act on changes in PV as follows:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

517

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

CV = K * L

-1

1+

1
T2S
+
T1S 1 + a * T2 S

* PVPS -

1
* SPPS
T1S

This equation provides the smoothest and slowest response to SP changes.

Equation D - integral control only as follows:

CV = L-1

1
* PVPS - SPPS
T1S

Equation E - proportional only 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.

CV = K

(PV - SP) + OPBIAS.FIX + OPBIAS.FLOAT

Output bias processing adds a fixed bias (user specified) and floating bias
(calculated to provide bumpless transfer after initialization or mode change) to
the unbiased CV.
ATTENTION
To prevent a bump in the output, you must configure the OPBIAS.RATE
parameter for a value (in Engineering Units per minute) other than 0.0
(zero) or NaN (Not a Number) to enable the ramping function for the
floating bias.

Reverse-control action causes the sign of the unbiased CV to be reversed.

If both options are selected, the unbiased CV is reversed first, and then the fixed
and floating bias are added - neither the bias nor the final CV are reversed

Where:
CV

518

= output of PID (Equations A, B, C, D) in percent or output of


P-controller (Equation E only) in engineering units

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

= gain (proportional term)

-1

= inverse of the LaPlace transform

PV

= process input value in engineering units

PVP

= PV in percent

= 1/16 fixed rate amplitude

= La Place operator

SP
SPP

= set point value in engineering units


= SP in percent

T1

= integral time constant in minutes

T2

= derivative time constant in minutes

OPBIAS.FIX
OPBIAS.FLOAT

= fixed bias (Equation E only)


= floating bias (Equation E only)

Gain options
If PID equation A, B, or C is selected, any of the following gain equations may be
chosen:

Linear Gain - provides a proportional control action that is equal to a constant (K)
times the error.

This is the most commonly-used gain option - K is a user-specified constant and


has a default value of 1.0.

Gap Gain - used to reduce the sensitivity of the control action when PV is in a userspecified band (gap) around the set point.

Gap size and control action are specified at configuration time through the
following parameters:
KLIN Linear (normal) gain - to be used when PV is outside the
gap.
KMODIFGAP Gain-modification factor - to be used when PV is inside the
gap. Range of KMODIFGAP = 0.0 to 1.0.
GAPLOLM Lower limit of gap - in same engineering units as PV.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

519

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

GAPHILM Upper limit of gap - in same engineering units as PV.

Gain (K) is derived as follows:


When PV is outside the gap:
K = KLIN
When PV is inside the gap (SP - GAPLOLM <= PV <= SP + GAPHILM):
K = KLIN KMODIFGAP

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:

K = KLIN * NLFORM + NLGAIN *

PV - SP
(PVEUHI - PVEULO)

Where:
KLIN
NLFORM
NLGAIN

= linear (normal) gain (user-configured)


= nonlinear gain form (user-configured; may be 0 or 1)
= 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:

520

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

KLIN
KMODIFEXT

= linear (normal) gain (user-configured)


= external gain modifier (such as from a user program)

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

521

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
522

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

523

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

Examples of OUTIND coordination with OPTDIR and CTLACTN parameters


The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a PID block can be used in
conjunction with the Output Direction (OPTDIR) parameter of an AOCHANNEL block
to achieve the desired configuration. The Control Action (CTLACTN) parameter on the
PID block is normally chosen independent of the OUTIND and OPTDIR values, so
CTLACTN is not included in the examples.
For This Scenario . . .
Fail close valve; air to open - normal
case

Typical Settings Are . . .


PID OUTIND = Direct
AOCHANNEL OPTDIR = Direct
PID OP 0% translated to 4 mA by the

AO, corresponding to the valve closed


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve closed


Fail open valve; air to close - reversal
handled in AO channel

PID OUTIND = Direct


AOCHANNEL OPTDIR = Reverse
PID OP 0% translated to 20 mA by the

AO, corresponding to the valve closed


PID OP 100% translated to 4 mA by

the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve open


Fail open valve; air to close - display
indications highlight reverse acting valve

PID OUTIND = ReverseDispInd


AOCHANNEL OPTDIR = Direct
PID OP 0% translated to 4 mA by the

AO, corresponding to the valve open


PID OP 100% translated to 20 mA by

the AO, corresponding to the valve


524

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

For This Scenario . . .

Typical Settings Are . . .


closed
Unpowered state of AO results in 0

mA and valve open

Tuning Constant Change Considerations


WARNING
You cannot always reverse output (OP) resulting from changes you make to a
tuning constant gain (K), integral time (T1) or derivative time (T2) in an online
control loop.

You cannot undo a change in a tuning constant in an online control loop by simply
changing the constant back to its original value. The output (OP) does not jump back to
its original prior value just because you return the constant to its prior value. In this case,
you must put the loop in MANUAL mode and set the output (OP) to the desired value
before returning the loop to AUTO mode.

Timeout monitoring
If mode is CAScade, the PIDFF block performs timeout monitoring on SP - if a good SP
value is not received within a predefined time (TMOUTTIME), the PIDFF block invokes
timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If mode is CAScade and SP times out, the PIDFF block does the following:

Sets the input timeout flag (TMOUTFL)

Keeps SP at its last good value.

Changes the mode to a user-specified TMOUTMODE.

Requests the primary to initialize.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

525

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

The PIDFF block sets its cascade request flag (CASREQFL), if SP times out and sheds
to AUTOmatic mode. This indicates that the block is waiting to return to the CAScade
mode, and it will as soon as it brings a good SP value. When it receives a good SP value,
the block does the following:

Changes the mode back to CAScade.

Updates the SP.

Clears CASREQFL.

You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.

Windup handling
When a windup condition is reached, the PIDFF block stops calculating the integral
term, but continues to calculate the proportional and derivative term.

A windup condition exists if:

PIDFF block has a secondary and the secondary is in windup.

PIDFF block's output exceeds one of the user-specified output limits (OPHILM,
OPLOLM).

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal

526

Then, the Associated Parameter . . .


is free to move in either direction.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

If the Value is . . .

Then, the Associated Parameter . . .

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

527

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

If Any of the Following are True . . .


A secondary exists and its windup state
equals Hi.

Then, ARWOP Equals . . .


Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)
528

Hi

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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 . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

R110
February 2014

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

529

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

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

Bypassing feedforward control action


An operator or a user program may bypass the feedforward action as follows.

If the feedforward signal comes from an Auxiliary function block (Data Acquisition
or Auxiliary Calculator), set the Auxiliary block's PVSOURCE parameter to
MANual and do not manually change the PV. To resume feedforward action,
change the PVSOURCE to AUTOmatic.

If the feedforward signal comes from another Regulatory Control block, set the
mode of the other block to MANual and do not manually change the output (OP),
which is the FF input to the PIDFF block. To resume feedforward action, switch the
other block's mode to AUTOmatic or CAScade.

Override feedback processing


Override feedback processing for the PIDFF block is the same as the normal PID block
except, if multiplicative feedforward action is configured, a feedforward term is added to
the output calculation as follows. See the Override feedback processing section for the
PID Block for more information.
530

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.11. PIDFF (PID with Feedforward) Block

If the override offset flag is Off and the PID is using either direct or reverse control
action, then:
CV = (override feedback value from secondary)
CVPID = (override feedback value from secondary) / (KFF FF + BFF)

If the override offset flag is On and the PID is using direct control action, then:
CV = (override feedback value from secondary) + K
+ BFF)

(PVP - SPP) (KFF FF

CVPID = (override feedback value from secondary) / (KFF FF + BFF) + K


- SPP)

(PVP

If the override offset flag is On and the PID is using reverse control action, then:
CV = (override feedback value from secondary) - K (PVP - SPP) (KFF FF +
BFF)
CVPID = (override feedback value from secondary) / (KFF FF + BFF) - K
SPP)

(PVP -

Where:
CV
CVPID
BFF
K
KFF
FF

R110
February 2014

= Full-value output of this function block with FF term included


= full-value output of the PID block without the FF term (This is a
calculated value and not a user-visible parameter.)
= Bias of the feedforward input
= Overall gain
= Gain of the feedforward input that is clamped between
GAINLOLM and GAINHILM.
= Feedforward input value

PVP

PV in percent

SPP

SP in percent

Experion LX Control Builder Components Theory


Honeywell

531

13. Regulatory Control


13.12. LEGACYGAP Option

ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.

PIDFF parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the PIDFF block.

13.12 LEGACYGAP Option


Introduction
The PID algorithm in Experion LX controllers is calculated in incremental form. That is,
the output CV of the PID algorithm is calculated incrementally during each execution
cycle.
The equation for CV calculation of the PID algorithm in incremental form is as follows:
During each execution cycle, the incremental output value is added to the accumulated
output value.
CV (t) = CV(t- l) + Del_CVt
where

CV (t) is the current CV value


CV(t- l) is the CV at the end of previous execution cycle
Del_CVt is the incremental output in the current cycle.
Del_CVt is made up of 3 components. : Proportional increment, integral increment and
the derivative increment.
Del_CV =K*( DelCp + Del_Ci + Del_Cd)
Where K = gain
DelCp = proportional component of the incremental value
DelCi = integral component of the incremental value
532

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.12. LEGACYGAP Option

DelCd = Derivative component of the incremental value


The gain value K may change during each execution cycle in a PID Gap equation based
on the value of PV. It was felt that including a gain change component will result in a
more accurate CV value for non linear gain algorithms such as gap. So in Experion LX
the CV calculation included a gain change component in the CV calculation when
configured for GAP or nonlinear gain.

Legacy gap gain option


To provide a solution a new Boolean Configuration parameter LEGACYGAP has been
added to PID type function blocks beginning with R300. The default value for this
parameter is FALSE in which case the Experion LX PID function block will calculate
CV as currently implemented.
If the user sets this parameter to TRUE, the CV will be calculated similar to the xPM
controllers. In this case the gain change component will not be included in the
calculation and cause the PID Gap algorithm in the Experion LX controller to have the
same behavior as the xPM controller.
This parameter is applicable to the following PID type blocks namely PID, PIDFF,
PIDER and PID-PL. The 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 following
configuration form. The user will have to check this box during configuration to enable
the LEGACYGAP gain option.

Equation
As described in the previous section, a PID block when configured for GAP or non
linear gain will include a gain change component in CV calculation if LEGACYGAP is
set to the default value of FALSE. The PID calculation performed is as follows
CV (t) = CV(t-l) + K * d/dt[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ] +
[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ] * dK/dt
where
CV (t) = Calculated CV during the current execution cycle
CV(t-l) = CV at the end of the last execution cycle
K = Gain
T1 = Integral time
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

533

13. Regulatory Control


13.12. LEGACYGAP Option

T2 = Derivative time
E(t) = Current error (PV -SP)
If LEGACYGAP is set TRUE, the CV calculation will exclude the gain change
component in the CV calculation and the will be as follows
CV (t) = CV(t-l) + K * d/dt[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ]
Besides this there are no other changes to the behavior of the PID function blocks as a
result of the new LEGACYGAP parameter.

Configuration
The LEGACYGAP configuration parameter will be displayed as a checkbox on the right
side in the algorithm tab of the forms for PID type blocks as shown in the figure below.
The parameter is typically configured before loading the PID blocks. The user (with
ENGRINEER access) may change the value after loading if the FB is inactive or the
block is in Manual mode.

534

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Migration
When PID type function blocks are migrated from older releases to R300, the
LEGACYGAP parameter of PID type blocks will be set to the default value of FALSE.

13.13 POSPROP (Position Proportional) Block


Description
The POSPROP (Position Proportional) block provides pulsed digital outputs to drive a
final control element to the desired position. The only valid output destinations are to
Digital Output Channel blocks or the Pulse Count and Pulse Length blocks.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

535

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

The POSPROP block requires a process variable (PV) and a set point (SP) as its inputs.
The digital outputs are pulsed at time intervals specified by the cycle time parameter and
the pulse width is proportional to the error signal. It looks like this graphically:

Each POSPROP block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
536

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
PVEU Range Hi (PVEUHI) - Lets you specify the high

input range limit that represents 100% full scale input for
the block. The default value is 100.
PVEU Range Lo (PVEULO) - Lets you specify the low

input range limit that represents the 0 full scale input for
the block. The default value is 0 (zero).
Manual PV Option (PVMANOPT) - Lets you specify the

mode and output the block is to assume when PVSTS


changes to MANual. The selections are:

NO_SHED - Idle.

SHEDHIGH - Raise.

SHEDLOW - Lower

SHEDSAFE - Depends on Safe State.

SHEDHOLD - Idle

Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

537

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
538

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Algorithm

Cycle Time (CYCLETIME) - Lets you specify a pulse

cycle time in seconds. The default value is 10 seconds.


Extra Pulse Time Option (EXTRAPULSE) - Lets you

specify whether or not to include the extra pulse time


(EXTRAPULSETM) calculated over a maximum pulse in
the algorithm. The default selection is OFF.
[Raise] Output Desc (RAISEDESC) - Lets you specify a

description of up to 15 characters for the raise output.


[Raise] Overall Gain (KR) - Lets you specify an overall

gain for the raise pulse generation. The default value is


1.
[Raise] Output Stroke Rate (RAISERATE) - Lets you

specify a rate in percent per second for the raise stroke


for the final control element. The default value is 100.
[Raise] Stiction Compensation (STICTIONR) - Lets you

specify a stiction compensation in seconds for raising the


final control element. The default value is 0.
[Raise] Backlash Compensation (BACKLASHR) - Lets

you specify a backlash compensation when raising the


final control element. The default value is 0.
[Raise] Min. Pulse Time (MINPULSER) - Lets you

specify the minimum pulse time in seconds for the raise


pulses. The default value is 0.
[Raise] Max. Pulse Time (MAXPULSER) - Lets you

specify the maximum pulse time in seconds for the raise


pulses. The default value is 60.
[Raise] Error Deadband (ERRORDBR) - Lets you specify

the error deadband in percent for the raise pulses.


Safe Output Command (SAFEOPCMD) - Lets you select

the output mode to shed to for Bad control condition. The


default selection is Idle.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

539

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
Manual Pulse Time (MANPULSETIME) - Lets you

specify the pulse time in seconds to be used in Manual


mode. The default value is 1.
No Command (PULSECMDTEXT[0]) - Lets you specify a

text description for the no command condition. The


default text is Idle.
Low Command (PULSECMDTEXT[1] - Lets you specify

a text description for the Raise Command condition. The


default text is Raise.
Raise Command (PULSECMDTEXT[2]) - Lets you

specify a text description for the Low Command


condition. The default text is Low.
[Lower] Output Desc (LOWERDESC) - Lets you specify

a description of up to 15 characters for the lower output.


[Lower] Overall Gain (KL) - Lets you specify an overall

gain for the lower pulse generation. The default value is


1.
[Lower] Output Stroke Rate (LOWERRATE) - Lets you

specify a rate in percent per second for the lower stroke


for the final control element. The default value is 100.
[Lower] Stiction Compensation (STICTIONL) - Lets you

specify a stiction compensation in seconds for lowering


the final control element. The default value is 0.
[Lower] Backlash Compensation (BACKLASHL) - Lets

you specify a backlash compensation when lowering the


final control element. The default value is 0.
[Lower] Min. Pulse Time (MINPULSEL) - Lets you

specify the minimum pulse time in seconds for the lower


pulses. The default value is 0.
[Lower] Max. Pulse Time (MAXPULSEL) - Lets you

specify the maximum pulse time in seconds for the lower


pulses. The default value is 60.
[Lower] Error Deadband (ERRORDBL) - Lets you specify

the error deadband in percent for the lower pulses.


SetPoint

SP (SP) - Lets you specify an initial set point value. The

default value is 0.
540

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
High Limit (SPHILM) - Lets you specify a high limit value

for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value

for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired

MODE the block is to assume, if an initializable input


times out, which means the input has not been updated
within a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Enable Advisory SP Processing (ADVDEVOPT) - Lets

you specify whether or not the block is to generate a


deviation alarm when the PV deviates from a user
specified "advisory" SP value. The default selection is
unchecked (Disabled).
Advisory SP Value (ADVSP) - Lets you set an advisory

SP value in PV engineering units, when Advisory SP


Processing is enabled. When PV exceeds or deviates
from this value, the block generates an advisory
deviation alarm.
Enable SP Ramping (SPTVOPT) - Lets you specify if an

operator can initiate a set point ramp action or not. It


provides a smooth transition from the current set point
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

541

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
value to a new one. The default selection is box
unchecked (disabled). See the Set point ramping section
for this block for more details.
Normal Ramp Rate (SPTVNORMRATE) - Lets you

specify a ramp rate in engineering units per minute for


the SP ramping function, when it is enabled. This lets an
operator start the SP ramping function without specifying
a ramp time. The default selection is Not a Number
(NaN). See the Set point ramping section for this block
for more details.
Max. Ramp Deviation (SPTVDEVMAX) - Lets you

specify a maximum ramp deviation value in engineering


units per minute for the SP ramping function, when it is
enabled. Keeps PV within the specified deviation range
for a ramping SP by stopping the SP ramp until the PV
input catches up with the SP value. The default value is
NaN, which means no ramp deviation check is made.
See the Set point ramping section for this block for more
details.
Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:

Deviation High (DEVHIALM.FL)

Deviation Low (DEVLOALM.FL)

Advisory Deviation (ADVDEVALM.FL)

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

Enable Alarm (ADVDEVOPT and SIALM.OPT ) - Lets

you enable or disable Advisory Deviation and/or Safety


Interlock alarm types. A check in the box means the
alarm is enabled. The default selections are unchecked
or Disabled for Advisory Deviation and checked or Yes
(enabled) for Safety Interlock.
You can also configure the ADVDEVOPT and
SIALM.OPT parameters as a block pins, configuration
and/or monitoring parameters so they appear on the
block in the Project and Monitoring tree views,
542

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
respectively.
Trip Point - Lets you specify the following trip points for

the given alarm. The default value is NaN, which


disables the trip point.
DEVHIALM.TP (Deviation High Alarm Trip Point)
DEVLOALM.TP (Deviation Low Alarm Trip Point)
ADVDEVALM.TP (Advisory Deviation Alarm Trip Point)
Priority - Lets you set the desired priority level

individually for each alarm type (DEVHIALM.PR,


DEVLOALM.PR, ADVDEVALM.PR, SIALM.PR,
BADCTLALM.PR,). The default value is LOW. The levels
are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (DEVHIALM.SV, DEVLOALM.SV,


ADVDEVALM.SV, SIALM.SV, BADCTLALM.SV,) as a
number between 0 to 15, with 15 being the most severe.
This determines the alarm processing order relative to
other alarms. The default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, DEVHIALM.DB and
DEVLOALM.DB) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

543

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
Note that this value is loaded to the individual alarm
parameters (for example, DEVHIALM.TM and
DEVLOALM.TM) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, DEVHIALM.DBU and
DEVLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
544

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab

Description
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value (Not


applicable to this block).

HOLDPV - Set SPREQ = PV.

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN.

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate.

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Rate (STARTRATE, STOPRATE, HOLDRATE) - When

the RAMPEDSP option is selected, lets you specify a


rate value (STARTRATE, STOPRATE, HOLDRATE) for
setting the SPRATEREQ for an SP ramping function.
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

545

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Configuration Tab
Insertion Type

Description
Lets you include an insertion type from a CAB instances in
the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
The POSPROP block is typically used to step a valve open or closed, raise or lower a
rotary device, or move the plates of a pulp mill refiner together or apart.
The POSPROP block compares the error signal (PV - SP) with an error deadband for the
raise and lower directions at an interval based on the configurable cycle time parameter
(CYCLETIME). You can also configure the raise and lower deadband values that are
denoted as the parameters ERRORDBR and ERRORDBL, respectively.
The block generates a raise pulse, when the PV is less than the SP minus the raise error
deadband (ERRORDBR); or a lower pulse, when the PV is greater than the SP plus the
lower error deadband (ERRORDBL) to reduce the error.
The pulse duration determines the magnitude of a pulse - the longer the duration, the
bigger the pulse. The POSPROP block will not issue a raise or lower pulse that is longer
than the configured cycle time (CYCLETIME) or the respective maximum pulse time
parameter MAXPULSER or MAXPULSEL, whichever is smaller. The block uses the
following values in its pulse duration calculation.

Error signal (PV - SP)

Raise or lower gain setting (KR or KL)

Raise or lower pulse stroke rate (RAISERATE or LOWERRATE)

Additional raise or lower pulse time (RAISEDEADTM or LOWERDEADTM)


based on stiction compensation (STICTIONR or STICTIONL), when a motor starts
up; or backlash compensation (BACKLASHR or BACKLASHL), when a motor
changes direction.

Minimum raise or lower pulse time (MINPULSER or MINPULSEL)

The calculation uses the additional pulse time and minimum pulse width parameters to
keep noise from initiating continuous changes to the final control element. This block
prevents instantaneous reversals by adding backlash compensation time (BACKLASHR
or BACKLASHL) before commanding direction changes.

546

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

The following figures show examples of position proportional control loops to maintain
a desired valve position using raise and lower pulse outputs or pulsetime output in
conjunction with a pulse length or pulse count block, respectively. In these examples, the
set point (SP) is the desired valve position and the PV is the actual valve position.

Position Proportional
Controller
SP
PV

RAISETIME
LOWERTIME

100% of scale
0% of scale

Figure 25 Example of Position Proportional loop for controlling valve


position.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

547

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Position Proportional
Controller
SP
PV

PULSETIME

Pulse Length or
Pulse Count
PULSETIME

PORAISE
POLOWER

100% of scale
0% of scale

Figure 26 Example of Position Proportional loop for controlling valve


position through pulse length or pulse count function.

Operating modes and mode handling


The POSPROP block operates in the following modes:

MAN (MANual)

AUTO (AUTOmatic)

If mode is AUTOmatic, SP (or SPP) may be stored by the operator or a user


program; if a primary exists, it goes to the initialized state. SP contains set point
value in engineering units and SPP contains the value in percent.

CAS (CAScade)

548

If mode is MANual, output may be stored by the operator through group or


detail display in Station using designated Raise/Lower keys or buttons; PV and
SP are ignored - if a primary exists, it goes to the initialized state.

If mode is CAScade, SP is pulled from another function block; if the other block
is off-control (that is, inactive or initializing) or the connection is bad, the
POSPROP block invokes timeout processing.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Required inputs
The required number of inputs is determined by the mode of the POSPROP block.

If Mode is CAScade, two inputs are required - PV and SP.

If Mode is AUTOmatic or MANual, only PV is required.

SP is an initializable input; PV is non-initializable.

PV must be pulled from another block; you cannot store to it - typically it is


connected to the output of an auxiliary or data acquisition (DATAACQ) block.

If Mode is CAScade, SP is pulled from another block; if Mode is AUTOmatic, it


may be stored by the operator.

The POSPROP block may have one primary or none, depending on whether SP
is configured or not; there is one primary per initializable input.

The optional raise and lower flag inputs (RAISELMFL and LOWERLMFL) may be set
externally to inhibit raise and lower pulses, respectively. These optional inputs can be
pulled from other function blocks.

Input ranges and limits

You must specify a PV engineering unit range through the configurable PVEUHI
and PVEULO parameters.

PVEUHI and PVEULO define the full range of PV in engineering units.


PVEUHI represents the 100% of full scale value.
PVEULO represents the 0% of full scale value.

The POSPROP block assumes PV is within PVEUHI and PVEULO - it applies no


range check - however, PV typically comes from a data acquisition (DATAACQ)
block which applies its own limit and range check.

SPHILM and SPLOLM define set point operating limits in engineering units.

The operator is prevented from storing a set point value that is outside these
limits. If the primary or a user program attempts to store a value outside of the
limits, the POSPROP block clamps it to the appropriate limit and sets the input
windup status.

SP contains set point value in engineering units and SPP contains the value in
percent.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

549

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

If Mode is AUTOmatic, the operator or a user program may store to either SP or


SPP.

Output
The POSPROP block has the following initializable outputs:

RAISETIME = Raise pulse duration.

LOWERTIME = Lower pulse duration.

PULSETIME = Pulse duration.

You can connect RAISETIME and LOWERTIME outputs to DOCHANNEL blocks.


You must connect the PULSETIME output to a PULSELENGTH or PULSECOUNT
block whose output is then connected to a DOCHANNEL block. The PULSELENGTH
or PULSECOUNT block sends the pulse duration from the POSPROP block to the
DOCHANNEL block which generates device-specific ON/OFF commands.
(Note that you can connect the PULSETIME or RAISETIME output to the ONPULSE
or OFFPULSE parameter of a DOCHANNEL block to cause a pulse of desired time.
Since the ONPULSE and OFFPULSE parameters only accept positive values, you
cannot connect the LOWERTIME output to these parameters.)

Initializable inputs and outputs


"Initializable input" and "initializable output" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter. When a connection between an initializable input and
initializable output is created, you can also create a BACKCALC connection between
them. Control Builder automatically builds the required BACKCALC connections, so
you don't have to create them manually. These "implicit" build connections are "hidden"
from view and the related parameter pins are not exposed on the control chart.
For example, if you connect OP from a PID block to SP of a POSPROP block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection. In
this case, the POSPROP block provides the SP input range (PVEUHI and PVEULO) to
the primary PID block through the BACKCALC connection. The PID block uses this for
its output range (CVEUHI/CVEULO).

Output ranges
The POSPROP block uses the maximum and minimum pulse parameters to define pulse
duration ranges and limits.

550

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

MAXPULSER and MAXPULSEL define the maximum pulse time in the Raise and
Lower directions, respectively. The POSPROP block will not issue a Raise/Lower
pulse with a duration that exceeds these values. If the output and CYCLETIME are
greater than MAXPULSER/MAXPULSEL, the output is clamped to
MAXPULSER/MAXPULSEL.

MINPULSER and MINPULSEL define the minimum pulse time in the Raise and
Lower directions, respectively. The POSPROP block will not issue a Raise/Lower
pulse with a duration that is less than these values. If the output is less than
MINPULSER/MINPULSEL, the output retains its old value.

(Note that the POSPROP block does not use these common regulatory control block
range and limit parameters: CVEUHI, CVEULO, OPHILM, OPLOLM, OPEXHILM,
and OPEXLOLM.)

Set Point Ramping


The Set Point Ramping option lets you ramp from the current set point value to a target
set point value. You enable this option by selecting the Enable SP Ramping check box
on the block's parameter configuration form. This is equivalent to setting the SPTVOPT
parameter to Enable. You can also configure the following related parameters through
the configuration form or the equivalent parameters.
Parameter
Normal Ramp Rate
(SPTVNORMRATE)

Description
Normal ramp rate value in engineering units that you
enter. The value can be Not a Number (NaN) or greater
than zero. If value is NaN, it means a "step change" in the
SP, which is the same as a ramp time of zero.
This parameter lets you start SP ramping without
specifying a ramp time. This function block calculates a
ramp time (SPTVTIME) and ramp rate (SPTVRATE) as
follows, when SP ramping is enabled:
If SPTVNORMRATE is a value other than zero or NaN:

SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:

SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

551

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Parameter
Max. Ramp Deviation
(SPTVDEVMAX)

Description
Lets you specify a maximum deviation in engineering units
per minute allowed between PV and SP during ramping.
The value can be NaN or greater than zero. If value is
NaN, it means no ramp deviation checking is done.
If the maximum ramp deviation value is other than NaN,
SP ramping stops when the absolute value of the
deviation (|PV - SP|) exceeds the maximum deviation. The
deviation flag (SPTVDEVFL) is set, and SP ramping state
(SPTVSTATE) remains in Run. Ramping resumes as
soon as the absolute value of the deviation returns within
the maximum deviation limit. This also resets the deviation
flag (SPTVDEVFL).
If you have entered a ramp time (SPTVTIME) and ramping
is interrupted by maximum ramp deviation, the actual
ramp time (SPTVTIME) will be greater than the time you
specified.

You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder
monitoring, as shown in the following figure. You can access these parameters to invoke
and monitor SP ramping while monitoring the control strategy through Control Builder
or the Point Detail display in Station.
Parameter
SPTV

Description
SP target value that you enter. You can only set SPTV
when the SPTVOPT is Enabled, the SPTVSTATE is Off or
Preset, and the block's mode is Auto or Manual. When you
set SPTV with the block's Control Module active, this
occurs:
The block calculates a ramp time (SPTVTIME) .
The SPTVSTATE goes to Preset.
A "P" modifier appears next to the SP value on the PID

detail display in Station.


SPTVDEVFL

552

SP target value deviation flag indicates when deviation


exceeds the maximum ramp deviation limit.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Parameter
SPTVRATE

Description
SP target value ramp rate. This rate is calculated as shown
above for the SPTVNORMRATE and as follows:
If you specify a ramp time (SPTVTIME) value other than

zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
If you change the SPTVNORMRATE, this block

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

553

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Figure 27 PID block with SP ramping parameters configured for


monitoring.
The following table includes descriptions of the callouts in the figure above.
Callout

Description

Block's mode must be Auto and SPTVSTATE must be Preset, before you
can start SP ramping by setting SPTVSTATE to Run with SPTV set to
desired value.

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.

554

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

Callout

Description

You can only set a value for SPTV and SPTVTIME, when:
SPTVSTATE is Off or Preset, and
Mode is Auto or Manual.

ATTENTION

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.

Timeout monitoring
If mode is CAScade, the POSPROP block performs timeout monitoring on SP - if a good
SP value is not received within a predefined time (TMOUTTIME), the POSPROP block
invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If mode is CAScade and SP times out, the POSPROP block does the following:

Sets the input timeout flag (TMOUTFL)

Keeps SP at its last good value.

Changes the mode to a user-specified TMOUTMODE.

Requests the primary to initialize.

The POSPROP block sets its cascade request flag (CASREQFL), if SP times out and
sheds to AUTOmatic mode. This indicates that the block is waiting to return to the
CAScade mode, and it will as soon as it brings a good SP value. When it receives a good
SP value, the block does the following:
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

555

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

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.

Equations
The POSPROP block generates Raise and Lower pulses at a rate specified by the
configurable cycle time (CYCLETIME) parameter. It calculates the pulse duration at the
beginning of each cycle as follows.

If PVP is less than (SPP - ERRORDBR) and the Raise limit flag (RAISELMFL) is
OFF, then issue a Raise pulse with a duration of:
RAISETIME = (KR (SPP - PVP) / RAISERATE + RAISEDEADTM +
EXTRAPULSETM

If PVP is greater than (SPP + ERRORDBL) and the Lower limit flag
(LOWERLMFL) is OFF, then issue a Lower pulse with a duration of:
LOWERTIME = (KL (PVP - SPP) / LOWERRATE + LOWERDEADTM +
EXTRAPULSETM

Where:
EXTRAPULSETM = The extra pulse time leftover from the last control interval,
if you configured the Extra Pulse Time Option
(EXTRAPULSE) to be ON.
KL = Overall gain for Lower pulse generation.
KR = Overall gain for Raise pulse generation.
556

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

LOWERDEADTM = Lower dead time in seconds. This is STICTIONL, if the last


pulse was also a lower pulse; or is BACKLASHL, if the last
pulse was a Raise pulse.
LOWERRATE = Lower stroke rate in percent per second.
LOWERTIME = Lower pulse time in seconds.
PVP = PV in percent.
RAISEDEADTM = Raise dead time in seconds. This is STICTIONR, if the last
pulse was also a Raise pulse; or is BACKLASHR, if the
last pulse was a Lower pulse.
RAISERATE = Raise stroke rate in percent per second.
RAISETIME = Raise pulse time in seconds.
SPP = SP in percent.

The PULSETIME output is set to either the RAISETIME or -LOWERTIME, when


either RAISETIME or LOWERTIME is non-zero.

Control Initialization
The POSPROP block accepts initialization information from its three initializable
outputs: RAISETIME, LOWERTIME, and PULSETIME. If any output requests
initialization, the POSPROP block sets its INITMAN parameter to ON. When no output
requests initialization, the POSPROP block sets its INITMAN parameter to OFF. When
cycling resumes after initialization, the Raise and Lower outputs are both set to OFF (or
their normal states) and the cycle time is restarted.
The SP is set equal to the PV (subject to set point limits), if any of the following
conditions exist:

Mode is MANual.

The POSPROP block is being processed for the first time after being activated.

The POSPROP block is a secondary and is going through one-shot initialization.

Secondary initialization option


If a BACKCALC connection is made, the primary always brings initialization data over
this connection. However, you can configure the block to ignore this data by not
selecting the Enable Secondary Initialization Option on the block's parameter

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

557

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

configuration form. This is the same as selecting disable as the setting for the
SECINITOPT parameter. The results of the SECINITOPT settings are as follows.

If SECINITOPT equals Enable, it means the function block should accept


initialization request from the secondary.

If SECINITOP equals Disable, it means the function block should ignore


initialization request from the secondary.

Override feedback processing


The POSPROP block does not propagate override feedback data. It ignores any override
feedback requests.

Raise/Lower limit switches


You can use the Raise and Lower limit flags (RAISELMFL and LOWERLMFL) to
indicate the status of valve position limit switches. These flags are usually set by
bringing limit indicators from a SWITCH or Logic block.
When the RAISELMFL is ON, the POSPROP block does not output Raise pulses; and
when the LOWERLMFL is ON, the block does not output Lower pulses.

Bad control processing


The action the POSPROP takes during Bad control conditions depends upon how you
have configured the Bad Control Option (BADCTLOPT) as follows:
If Bad Control
Option is. . .

558

Then, control processing is. . .

NO_SHED

The PULSECMD equals Idle. The POSPROP block issues


no more output pulses.

SHEDHOLD

The PULSECMD equals Idle. The mode sheds to MANual,


but the POSPROP issues no new Raise or Lower pulse the output changes to zero.

SHEDLOW

The mode sheds to MANual and POSPROP issues a


Lower pulse (LOWERTIME) that equals 10 times the
Manual Pulse Time (MANPULSETM) and PULSETIME
output equals - LOWERTIME until the PV is less than or
equal to the PVEULO or the Lower limit flag
(LOWERLMFL) is ON. If the PV is bad, the test for PV less
than or equal to PVEULO is ignored. Note that the
POSPROP output ignores MINPULSER/MINPULSEL.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

If Bad Control
Option is. . .

Then, control processing is. . .

SHEDHIGH

The PULSECMD equals Raise. The mode sheds to


MANual and POSPROP issues a Raise pulse
(RAISETIME) that equals 10 times the Manual Pulse Time
(MANPULSETM) and PULSETIME output equals RAISETIME until the PV is greater than or equal to the
PVEUHI or the Raise limit flag (RAISELMFL) is ON. If the
PV is bad, the test for PV less than or equal to PVEUHI is
ignored. Note that POSPROP clamps the output at
MAXPULSER/MAXPULSEL or CYCLETIME, whichever is
less.

SHEDSAFE

The mode sheds to MANual. The output of the POSPROP


block depends on how you configured the Safe Output
Command (SAFEOPCMD) as follows:

If SAFEOPCMD equals Idle, the POSPROP


generates no more output pulses.
If the SAFEOPCMD equals Raise, the POSPROP
issues Raise pulses until PV is greater than or
equal to PVEUHI or the Raise limit flag
(RAISELMFL) comes ON. If the PV is bad, the
test for PV is greater than or equal to PVEUHI is
ignored.
If the SAFEOPCMD equals Lower, the POSPROP
issues Lower pulses until the PV is less than or
equal to PVEULO or the Lower limit flag
(LOWERLMFL) comes ON. If the PV is bad, the
test for PV is less than or equal to PVEULO is
ignored.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal
R110
February 2014

Then, the Associated Parameter . . .


is free to move in either direction.

Experion LX Control Builder Components Theory


Honeywell

559

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

If the Value is . . .

Then, the Associated Parameter . . .

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.

560

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

If Any of the Following are True . . .


A secondary exists and its windup state
equals Hi.

Then, ARWOP Equals . . .


Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)
R110
February 2014

Hi

Experion LX Control Builder Components Theory


Honeywell

561

13. Regulatory Control


13.13. POSPROP (Position Proportional) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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.

562

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.14. PULSECOUNT Block

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

POSPROP parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the POSPROP block.

13.14 PULSECOUNT Block


Description
The PULSECOUNT block generates pulses according to its pulse count control
algorithm. The pulsed outputs are usually fed to Digital Output Channel blocks.
The PULSECOUNT block requires a pulse time parameter and a user configurable pulse
output period as its inputs. The digital outputs are pulsed in relation to the configured
period and the pulse time that is requested. It looks like this graphically:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

563

13. Regulatory Control


13.14. PULSECOUNT Block

Each PULSECOUNT block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Direction Change Delay (PDELAYDIRCHG) - Lets you

specify the delay time in seconds before starting a pulse


output (PORAISE,POLOWER, PO) after a change in
direction. This gives the final control element time to
react to an upcoming change in direction. The default
value is 0.
Pulse Output Period (POPERIOD) - Lets you specify the

pulse output period in seconds. This generates 50% duty


cycle pulses in the requested pulse time. The default
value is 0.01.

564

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.14. PULSECOUNT Block

Configuration Tab

Description

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
The PULSECOUNT block is typically used in conjunction with a POSPROP block to
step a valve open or closed, raise or lower a rotary device, or move the plates of a pulp
mill refiner together or apart.
The POSPROP block feeds the PULSETIME input parameter to the PULSECOUNT
block. This parameter is an internal structure that contains the pulse width specification
(in seconds). It also contains a Serial Number that changes every time there is a new
pulse width value. The PULSECOUNT block checks for a change in the Serial Number
before reacting to the pulse width specification.
The following figure shows a sample of output pulses generated by the Pulse Count
control algorithm. Keep the following things in mind when viewing the following figure.

The + 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 individual pulses are generated in relation to the configured POPERIOD. The
number of pulses is determined as follows: Pulse Count = PULSETIME /
POPERIOD

The PODIR only changes at the beginning of a control interval. The sample pulse
shown in the following figure has a configured Direction Change Delay
(PDELAYDIRCHG) of non-zero.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

565

13. Regulatory Control


13.14. PULSECOUNT Block

PORAISE

POLOWER

PO

PODIR

Figure 28 Example of pulse count control algorithm outputs

Required inputs
The PULSECOUNT block requires a pulse time (PULSETIME) input from another
block. This is usually supplied by a POSPROP block.
The POPERIOD input is user configurable in seconds.
The PDELAYDIRCHG input is user configurable in seconds.
The optional LOCALMAN input should come from another block in a logic strategy
where an ON condition means that the CEE is not controlling the output of the device. If
the LOCALMAN (Local Manual Initialization) is True, all the outputs of the
PULSECOUNT block are turned OFF. The back calculation (BCALCOUT),
initialization manual (INITMAN), and initialization request (INITREQ) outputs are
turned ON.

Output
The PULSECOUNT block has the following initializable outputs:

566

PORAISE = Pulse output for Raise pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is positive.

POLOWER = Pulse output for Lower pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is negative.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.15. PULSELENGTH Block

PO = Pulse output for both Raise and Lower pulses. These pulses are generated as a
logical OR between the PORAISE and POLOWER pulses.

PODIR = Direction for PO. This output is OFF for a Lower pulse and is ON for a
Raise pulse.

You normally connect PORAISE/POLOWER or PO/PODIR outputs in pairs to


DOCHANNEL blocks
The PULSECOUNT block has the following status outputs:

INITMAN = Initialization manual. This output is turned ON, if the LOCALMAN


input is ON or the secondary of the PULSECOUNT block is requesting
initialization. It is turned OFF only if both of the requests turn OFF and the primary
of the PULSECOUNT block has received the request.

INITREQ = Initialization request. This output is turned ON, if the LOCALMAN


input is ON or the secondary of the PULSECOUNT block is requesting
initialization. It is turned OFF only if both of the requests turn OFF and the primary
of the PULSECOUNT block has received the request.

Initializable inputs and outputs


"Initializable input" and "initializable output" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter. When a connection between an initializable input and
initializable output is created, you can also create a BACKCALC connection between
them. 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 PORAISE from a PULSECOUNT block to SO of a
DOCHANNEL block, Control Builder automatically creates the BACKCALCOUT to
BACKCALCIN connection. In this case, the back calculation input for PORAISE is
BCALCINPOR.

PULSECOUNT parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the PULSECOUNT block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

567

13. Regulatory Control


13.15. PULSELENGTH Block

13.15 PULSELENGTH Block


Description
The PULSELENGTH block generates pulse trains according to its pulse length control
algorithm. The pulsed outputs are usually fed to Digital Output Channel blocks.
The PULSELENGTH block requires a pulse time parameter as its input. The digital
outputs are pulsed in relation to the pulse time that is requested. It looks like this
graphically:

Each PULSELENGTH block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 110. Refer to the
Function Block Execution Schedules section in the
beginning of this document for more information.
Direction Change Delay (PDELAYDIRCHG) - Lets you

specify the delay time in seconds before starting a pulse


output (PORAISE,POLOWER, PO) after a change in
direction. This gives the final control element time to
react to an upcoming change in direction. The default
value is 0.

568

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.15. PULSELENGTH Block

Configuration Tab

Description

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
The PULSELENGTH block is typically used in conjunction with a POSPROP block to
step a valve open or closed, raise or lower a rotary device, or move the plates of a pulp
mill refiner together or apart.
The POSPROP block feeds the PULSETIME input parameter to the PULSELENGTH
block. This parameter is an internal structure that contains the pulse width specification
(in seconds). It also contains a Serial Number that changes every time there is a new
pulse width value. The PULSELENGTH block checks for a change in the Serial Number
before reacting to the pulse width specification.
The following figure shows a sample of output pulses generated by the Pulse Length
control algorithm. Keep the following things in mind when viewing the following figure.

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).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

569

13. Regulatory Control


13.15. PULSELENGTH Block

+PULSETIME

- PULSETIME

PORAISE

POLOWER

PO

PODIR
Time
Control Interval 1

Control Interval 2

Figure 29 Example of pulse length control algorithm outputs

Required inputs
The PULSELENGTH block requires a pulse time (PULSETIME) input from another
block. This is usually supplied by a POSPROP block.
The PDELAYDIRCHG input is user configurable in seconds.
The optional LOCALMAN input should come from another block in a logic strategy
where an ON condition means that the CEE is not controlling the output of the device. If
the LOCALMAN (Local Manual Initialization) is True, all the outputs of the
PULSELENGTH block are turned OFF. The back calculation (BCALCOUT),
initialization manual (INITMAN), and initialization request (INITREQ) outputs are
turned ON.

Output
The PULSELENGTH block has the following initializable outputs:

570

PORAISE = Pulse output for Raise pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is positive.

POLOWER = Pulse output for Lower pulses. These pulses are generated if the pulse
width specified by the PULSETIME input is negative.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

PO = Pulse output for both Raise and Lower pulses. These pulses are generated as a
logical OR between the PORAISE and POLOWER pulses.

PODIR = Direction for PO. This output is OFF for a Lower pulse and is ON for a
Raise pulse.

You normally connect PORAISE/POLOWER or PO/PODIR outputs in pairs to


DOCHANNEL blocks
The PULSELENGTH block has the following status outputs:

INITMAN = Initialization manual. This output is turned ON, if the LOCALMAN


input is ON or the secondary of the PULSELENGTH block is requesting
initialization. It is turned OFF only if both of the requests turn OFF and the primary
of the PULSELENGTH block has received the request.

INITREQ = Initialization request. This output is turned ON, if the LOCALMAN


input is ON or the secondary of the PULSELENGTH block is requesting
initialization. It is turned OFF only if both of the requests turn OFF and the primary
of the PULSELENGTH block has received the request.

Initializable inputs and outputs


"Initializable input" and "initializable output" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter. When a connection between an initializable input and
initializable output is created, you can also create a BACKCALC connection between
them. 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 PORAISE from a PULSELENGTH block to SO of a
DOCHANNEL block, Control Builder automatically creates the BACKCALCOUT to
BACKCALCIN connection. In this case, the back calculation input for PORAISE is
BCALCINPOR.

PULSELENGTH parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PULSELENGTH block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

571

13. Regulatory Control


13.16. RAMPSOAK Block

13.16 RAMPSOAK Block


Description
The RAMPSOAK block provides an output that tracks a user configured set point versus
time profile. The block supports up to 99 separate profiles with up to 50 user configured
ramp and soak segment pairs per profile. This lets you implement a set point program
control function by driving the set point of another regulatory control function block.
The RAMPSOAK block looks like this graphically:

The RAMPSOAK block has one analog input identified as a process variable (PV). The
block monitors the PV value and guarantees that its output (OP) will not deviate from the
input (PV) by more than the user configured limits.
Each RAMPSOAK block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

572

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
High Limit (PVEUHI) - Lets you specify the high input

range value in engineering units that represents 100%


full scale PV input for the block. The default value is 100.
Low Limit (PVEULO) - Lets you specify the low input

range value in engineering units that represents the 0 full


scale PV input for the block. The default value is 0
(zero).
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

573

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate. (Note that the AUTOmatic mode is not a
valid initial configuration mode for the RAMPSOAK
block, since the block's mode must be MANual after it is
loaded to the Controller and the Control Module
containing it is activated.)

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore
Reset Segment Timers on Profile (RESETTIMER) - Lets

you control the segment timers when restarting a profile.


When checked (or ON), all timers (event timers, soak
timer, and so on) are reset, when the profile starts. When
unchecked (or OFF), all timers resume with their
574

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
previous values when the profile starts. The default is
checked (or ON). (Note that whenever a new profile is
loaded the RESETTIMER parameter is automatically set
to ON and the TIMEPASTTHISSEG is not reset since it
is used to compute the values of statistic parameters
ACTRAMPRATE and ACTSOAKTIME.)
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP the block is to assume upon a safety


interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Profile

Profile ID - List box shows the configured profiles. The

New, Copy, and Delete buttons let you manipulate


profiles as desired.
Description (PROFILEDESC[n]) - Lets you enter a

unique profile name of up to 16 characters long for the


profile selected in the list box. The default name is
Profilen. Where "n" equals the assigned profile number
from 1 to 99.
Max Ramp Dev (MAXRAMPDEV[n]) - Lets you specify a

desired maximum ramp deviation value between PV and


OP to assure a guaranteed ramp rate. You can specify a
different value for each profile. The default value is NaN
(Not-a-Number), which means no ramp rate checking is
done.
Max Hi Soak Dev (MAXHISOAKDEV[n] - Lets you

specify a desired maximum high soak deviation value


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

575

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
between PV and OP to assure a guaranteed soak. You
can specify a different value for each profile. The default
value is NaN (Not-a-Number), which means no high
soak value checking is done.
Max Lo Soak Dev (MAXLOSOAKDEV[n] - Lets you

specify a desired maximum low soak deviation value


between PV and OP to assure a guaranteed soak. You
can specify a different value for each profile. The default
value is NaN (Not-a-Number), which means no low soak
value checking is done.
Starting OP Value (STARTOP[n]) - Lets you specify a

desired starting output (OP) value for each profile. The


default value is 0.
Starting Segment ID (STARTSEG[n]) - Lets you specify

the starting segment for each profile. The ramp


segments have odd numbers and the soak segments
have even numbers. The default value is 1.
Cycle Option (CYCLEOPT) - Lets you select how you

want the profiles to be cycled. The SINGLE selection


means that the selected (running) profile will stop after it
executes its last ramp/soak pair. The CYCLIC selection
means that the selected (running) profile will
continuously cycle from start to end. This means it will
restart at the starting segment once it executes the last
ramp/soak pair. The ROUNDROBIN selection means
that after executing the last ramp/soak segment, the
RAMPSOAK block will start execution of the next profile
in the order. Every consecutive profile configured for
ROUNDROBIN is executed in order. This means that
execution will never stop until the next profile is
configured for SINGLE or CYCLIC Cycle Option action.
For example, after the last ramp/soak pair in the last
profile is executed, the execution of the first profile
begins and so on until the next profile is configured for
SINGLE or CYCLIC action.
RampSoak Pair ID - Lets you configure ramp/soak pairs

for the selected profile by entering desired Ramp Rate


(RAMPRATE[n,s]), Soak Value (SOAKVAL[n,s]), and
Soak Time (SOAKTIME[n,s]) in minutes. Where "s"
equals the number of the ramp/soak pair from 1 to 50.
Even ID - Lets you configure up to 16 event flags

576

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
(EVENTFL[n,e]) for segments in the selected profile by
entering the segment number (EVENTSEGID[n,e]), the
start time (EVENTBGNTIME[n,e]) in minutes counted
from the beginning of the selected segment when the
event flag is turned ON, and the stop time
(EVENTENDTIME[n,e]) in minutes counted from the
beginning of the selected segment when the event flag is
turned OFF. Where "e" equals the number of the event
from 1 to 16.
Graph - Shows you a graphic representation of the

Profile Graph

configured set point versus time profile.


Profile ID - List box shows configured profiles that you

can select for display in the graph.


No. of Segments - Number of segments in selected

profile.
Target Profile Time (TOTALTIME[n]) - Total time in

minutes to complete the selected profile.


Static - Provides an array of the configured event flags.

A number in a box represents a configured event. Click


the numbered box to display the event markers on the
graph.
Active Profile Graph

Graph - Shows you a graphic representation of the

configured set point versus time profile with real time


data when profile is running in CB Monitoring tab.
Mode (MODE) - Shows current mode selection and lets

you change the mode of running profile in CB Monitoring


tab.
Current Profile ID (CURPROFILEID) - Shows number of

profile currently running.


No. of Segments - Shows the total number of segments

in the current profile.


Current Segment ID (CURSEGID) - Shows the number

of the segment currently being executed in the selected


profile.
Total Elapsed Time (TOTELAPSEDTM) - Shows the

total elapsed time for current profile execution. It


includes time for stopped timers due to deviation
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

577

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
exceeding limits.
Net Elapsed Time (NETELAPSEDTM) - Shows the net

elapsed time for current profile execution. It does not


include the time for stopped timers due to deviation
exceeding limits.
Rem Soak Time (REMSOAKTIME) - Shows the

remaining soak time for the current soak segment.


Soak Duration - Shows the duration of the current soak

segment.
Events - Shows an array of the configured event flags for

the current segment. Click the numbered box to display


the event markers on the graph.
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%. (Note that you cannot change this value
through Monitoring mode after the configuration is
loaded in the Controller.)
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%. (Note that you cannot change this value
through Monitoring mode after the configuration is
loaded in the Controller.)
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%. (Note that you cannot change this value
578

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
through Monitoring mode after the configuration is
loaded in the Controller.)
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%. (Note that you cannot change this value
through Monitoring mode after the configuration is
loaded in the Controller.)
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value.
CVEU Range High (CVEUHI) -Lets you specify the high

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

579

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
output range value in engineering units that represents
100% full scale CV output for the block. The default
value is 100.
CVEU Range Low (CVEULO) - Lets you specify the low

output range value in engineering units that represents


the 0 full scale CV output for the block. The default value
is 0 (zero).
Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT). The types are:

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Deviation High (DEVHIALM.FL)

Deviation Low (DEVLOALM.FL)

Safety Interlock (SIALM.FL)

Enable Alarm SIALM.OPT ) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is checked or
Yes (enabled).
You can also configure the SIALM.OPT parameter as a
block pin, configuration and/or monitoring parameter so it
appears on the block in the Project and Monitoring tree
views, respectively.
Trip Point - Lets you specify the following trip points for

the given alarm. The default value is NaN, which


disables the trip point.
OPHIALM.TP (Output High Alarm Trip Point)
OPLOALM.TP (Output Low Alarm Trip Point)
DEVHIALM.TP (Deviation High Alarm Trip Point)
DEVLOALM.TP (Deviation Low Alarm Trip Point)
Priority - Lets you set the desired priority level

individually for each alarm type (OPHIALM.PR,


OPLOALM.PR, DEVHIALM.PR, DEVLOALM.PR,
SIALM.PR). The default value is LOW. The levels are:
580

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (OPHIALM.SV, OPLOALM.SV,


DEVHIALM.SV, DEVLOALM.SV, SIALM.SV) as a
number between 0 to 15, with 15 being the most severe.
This determines the alarm processing order relative to
other alarms. The default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

581

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
582

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV. (Not applicable for


RAMPSOAK block)

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN. (Not applicable for
RAMPSOAK block)

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate. (Not
applicable for RAMPSOAK block)

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending


upon Option Type selection, lets you specify an output or
set point value within the respective range. For output,
within OPEXLOLM to OPEXHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

583

13. Regulatory Control


13.16. RAMPSOAK Block

Configuration Tab

Description
for regulatory control blocks for more information

Function
The RAMPSOAK block is typically used for automatic temperature cycling in furnaces
and ovens. It can also be used for automatic startup of units and for simple batchsequence control where the batch sequence is part of a process that is otherwise a
continuous process.
The RAMPSOAK block usually feeds its output (OP) to the set point of a PID block.
The PID block uses the PID algorithm to control a process variable (PV) according to the
set point versus time profile OP. The PV input to the RAMPSOAK block is normally the
same PV input used for the PID block.
The following figure shows a simple functional diagram of a PID loop with its set point
driven by the output of a RAMPSOAK block according to the configured ramp and soak
segments.

584

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Ramp/Soak
Programmer

PID Controller
SP
PV

OP
PV

OP

Ramp/Soak Profile

2
ate
R
3
mp
Soak Value 1
nt
Ra
me
Soak Time1
g
Se
Segment 2

Ra
m
Se p R
gm ate
en
1
t1

OP

Soak Value 2
Soak Time 2
Segment 4

Start Time

Ra
m
Se p R
gm at
en e 3
t5

Stop Time

Soak Value 3
Soak Time 3
Segment 6

Event 1

Time

Figure 30 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.

R110
February 2014

If the current segment is a ramp, the block calculates the ramp output. If a
guaranteed ramp rate was requested, the block makes sure the output does not
deviate from the input by more than the user configured deviation
(MAXRAMPDEV[n]).

Experion LX Control Builder Components Theory


Honeywell

585

13. Regulatory Control


13.16. RAMPSOAK Block

If the current segment is a soak, the block calculates the soak output and updates
the soak timers. If a guaranteed soak was requested, the block makes sure that
the soak time does not transpire while the PV and CV are outside the user
configured deviation limits (MAXHISOAKDEV[n] and
MAXLOSOAKDEV[n]). The block stops the soak timer when the soak value
exceeds the user configured deviation. It restarts the timer when the soak value
returns to within limits.

Updates all the events configured for the current profile. The block sets these timers
based on the user configured event parameters: EVENTSEGID[n,e],
EVENTBGNTIME[n,e], and EVENTENDTIME[n,e].

Required inputs
The RAMPSOAK block only requires a PV input for the guaranteed ramp option.

PV is non-initializable.

PV must be pulled from another block; you cannot store to it - typically it is


connected to the output of an auxiliary or data acquisition (DATAACQ) block.

Input ranges and limits

You must specify a PV engineering unit range, PVEUHI and PVEULO. The default
range is 0 to 100.

PVEUHI and PVEULO define the full range of PV in engineering units.


PVEUHI represents the 100% of full scale value.
PVEULO represents the 0% of full scale value.

The PID block assumes PV is within PVEUHI and PVEULO - it applies no range
check - however, PV typically comes from an auxiliary or data acquisition
(DATAACQ) block which applies its own limit and range checks.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.

586

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

For example, if you connect OP from a RAMPSOAK block to SP on a PID block,


Control Builder automatically creates the BACKCALCOUT to BACKCALCIN
connection.

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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a RAMPSOAK block
(RAMPSOAK.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to RAMPSOAK.OPX to provide value/status data.)

Output ranges and limits

CVEUHI and CVEULO define the full range of CV in engineering units.

If the RAMPSOAK block has a secondary, it brings the secondary's input range
through BACKCALC and sets its CV range to that.

If the RAMPSOAK block has no secondary, you can configure CVEUHI and
CVEULO to specify the desired range values. The default values are 100 and 0,
respectively, for a default range of 0 to 100.

OPHILM and OPLOLM define the normal high and low limits for OP as a percent
of the CV range. You can also configure values for these limits. The default limits
are 105% and -5%, respectively.

OP is clamped to these limits if the algorithm's calculated result (CV) exceeds


them, or another block or user program attempts to store an OP value that
exceeds them.

OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a
percent of the CV range. You can also configure values for these limits. The default
limits are 106.9% and -6.9%, respectively.

The operator is prevented from storing an OP value that exceeds these limits.

(Note that the RAMPSOAK block does not apply a floating bias to the output.)
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

587

13. Regulatory Control


13.16. RAMPSOAK Block

Mode handling
The RAMPSOAK block supports the AUTOmatic and MANual modes.
ATTENTION
You must select MANual as the configuration setting for the MODE parameter
on the RAMPSOAK block's configuration form in the Control Builder Project
tree. Control Builder generates an error if you try to load a RAMPSOAK block
with a MODE configuration of AUTOmatic to the Controller. The MODE of the
RAMPSOAK block must be MANual after it is loaded to the Controller.

You set the mode to AUTOmatic to start a ramp/soak profile. When the profile is
running, you cannot adjust the output (OP) or the profile variables such as ramp rate,
soak value, and soak time.

You set the mode to MANual to stop a ramp/soak profile, including all timers. When
a profile is stopped, you can change the output (OP) and adjust the profile variables
including the current segment (CURSEGID) and the remaining soak time
(REMSOAKTIME), if the current segment is a soak. If you change the current
segment, the profile starts at the new segment when you change from MANual to
AUTOmatic mode. You cannot add or delete profiles, ramp/soak pairs or events
once a configuration is loaded into the Controller. Also, Control Builder does not
allow online changes in profile variables such as Rate, Soak Value, and Soak Time

Hold command
The hold command (HOLDCMD) parameter allows another function block or user
program to stop the profile until some user defined condition is met.

When the HOLDCMD changes from OFF to ON, the profile stops, including all
timers.

When the HOLDCMD changes from ON to OFF, the profile starts where it left off.

CEE idle or Control Module inactivate command


When you change the CEE from Run to Idle or the Control Module from Active to
Inactive, the contained RAMPSOAK block does the following.

588

Sets mode to MANual.

Sets CV to NaN.

Resets internal ramp/soak timers.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Sets current profile ID to 1 (first profile).

Sets current segment ID to 1 (first ramp segment).

Profile statistics
Since the profile may be stopped or held for several reasons, the actual profile execution
may be quite different from the configured profile definition. The RAMPSOAK block
maintains the following execution profile statistic parameters.

ACTRAMPRATE[n,s] - The actual rate for each ramp segment in engineering units
per minute.

ACTSOAKVAL[n,s] - The actual end value for each ramp segment in engineering
units.

ACTSOAKTIME[n,s] - The actual duration of each soak segment in minutes.

ACTSTARTSEG[n] - The actual starting segment number for each profile.

ACTSTARTOP[n] - The actual starting output (OP) value for each profile.

Where "n" is the profile number and "s" refers to the pair id.
You can also compare the graphical representation of the configured profile and the
actual profile through the Profile Graph and Active Profile Graph tabs in the block
configuration form, when monitoring operation through the Monitoring tab in Control
Builder.

Guaranteed ramp rate


If you configure a maximum ramp deviation (MAXRAMPDEV[n]) value for a given
profile, the RAMPSOAK block makes sure that the calculated output (CV) value does
not deviate from the input (PV) by more than the configured deviation value. If it does
deviate, the block stops the ramping action until PV catches up with CV. The
RAMPSOAK block will stop the ramping action for the following condition.

The Absolute Value of CV-PV is greater than the maximum ramp deviation
(MAXRAMPDEV[n]. Where "n" is the number of the current profile.

If the maximum ramp deviation (MAXRAMPDEV[n]) value is NaN, the RAMPSOAK


block ignores the above condition.
(Note that you can also stop the ramping by setting the hold command (HOLDCMD) to
ON. This lets an operator, a user program, or a logic type function block stop the
ramping until some other condition is satisfied.)
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

589

13. Regulatory Control


13.16. RAMPSOAK Block

Guaranteed soak time


If you configure the maximum high soak deviation (MAXHISOAKDEV[n]) and/or the
maximum low soak deviation (MAXLOSOAKDEV[n]) value, the RAMPSOAK block
makes sure the calculated output (CV) value is at the proper value before it starts the
soak timer. The RAMPSOAK block verifies that the CV and input PV are within the
configured deviation limits and it will not start the soak timer for the following
conditions.

If the input (PV) is greater than the CV.

If the PV is less than the CV.

If the deviation exceeds the limit during a soak, the block stops the soak timer until the
deviation returns to within limits and then it automatically restarts the timer.
If the MAXHISOAKDEV[n] and/or the MAXLOSOAKDEV[n] value is NaN, the
RAMPSOAK block ignores the above condition or conditions, as applicable.
(Note that you can also keep the soak timer from starting by setting the hold command
(HOLDCMD) to ON. This lets an operator, a user program or a logic type function block
put a hold on the stop timer until some other condition is satisfied.)

Event timer functions


You can configure up to 16 event flags (EVENTFL[n,e]) to provide Boolean outputs for
a specified time during a given ramp or soak segment in a given profile. This means you
can have up to 16 events per profile or a total of 160 events in 10 profiles.
The following parameters are associated with each event flag.
EVENTSEGID[n,e] - Identifies the segment in a given profile to which the event applies.
EVENTBGNTIME[n,e] - The user-configured time in minutes measured from the start
of the segment when the given event turns ON. This is also called the start time.
EVENTENDTIME[n,e] - The user-configured time in minutes measured from the start
of the segment when the given event turns OFF. This is also called the stop time.
Note that you can configure the start time (EVENTBGNTIME[n,e] to be greater than or
equal to the stop time (EVENTENDTIME[n,e], but such a configuration results in no
event action.

590

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

Control initialization
The RAMPSOAK block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block.

Note that SECINITOPT may be used to ignore initialization requests from the
secondary.

If the secondary is requesting initialization, the RAMPSOAK block:

initializes its output


CV = initialization value from the secondary

sets initialization request parameters for its primary

Override feedback processing


The RAMPSOAK block does not propagate override feedback data. It ignores any
override feedback requests it receives.

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse1

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

591

13. Regulatory Control


13.16. RAMPSOAK Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .


on the faceplate display, respectively.
No value reversal - output range is 0 to 100 percent,
and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

ReverseDisplnd

The RAMPSOAK block does not support the Reverse option selection.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to HiLo.
592

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

593

13. Regulatory Control


13.16. RAMPSOAK Block

block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.

594

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.16. RAMPSOAK Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

This block's output has reached its


negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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 . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

R110
February 2014

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

595

13. Regulatory Control


13.17. RATIOBIAS Block

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

RAMPSOAK parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the RAMPSOAK block.

13.17 RATIOBIAS Block


Description
The RATIOBIAS block accepts a ratio value input (RT) and an input value (X1) to
provide a calculated output based on the ratio of the input variables plus a fixed and/or a
floating bias. It looks like this graphically:

Each RATIOBIAS block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
596

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

as a quick document reference, since this same information is included in the on-line
context sensitive Help.

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Ratio (RT) - Lets you specify a value between 0.001 and

100 to be used for the RT input when the block is in its


AUTOmatic mode. The default value is 1.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
X1 High Limit (XEUHI) - Lets you specify the high input

range value in engineering units that represents 100%


full scale input for the block. The default value is 100.
X1 Low Limit (XEULO) - Lets you specify the low input

range value in engineering units that represents the 0 full


scale input for the block. The default value is 0 (zero).
Ratio High Limit (RTHILM) - Lets you specify the high

ratio limit value in engineering units. The default value is


100.
Ratio Low Limit (RTLOLM) - Lets you specify the low

ratio limit value in engineering units. The default value is


0.001.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

597

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

598

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
specify if external MODE switching through user
configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NO_SHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Mode (TMOUTMODE) - Lets you select the desired

MODE the block is to assume, if an initializable input


times out, which means the input has not been updated
within a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

599

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.

Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
600

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

601

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
block's initialization value, a bump in OP occurs.

Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is a checked
box or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, OPLOALM.SV) as a number between 0
to 15, with 15 being the most severe. This determines
the alarm processing order relative to other alarms. The
default value is 0.
602

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALM.DBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

R110
February 2014

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication

Experion LX Control Builder Components Theory


Honeywell

603

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
loss.
Note: This parameter is available for configuration only if
the Enable Bad Output Connection Option is enabled.

SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

604

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (not applicable to this

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration Tab

Description
block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (not applicable to this block).

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate (not
applicable to this block).

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

upon Option Type selection, lets you specify an output or


set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
Lets you implement a form of ratio control by using this block between two PID blocks.
In this case, the output from one PID block is used as the X1 input to the RATIOBIAS
block and the output from the RATIOBIAS block is used as the SP input to the second
PID block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

605

13. Regulatory Control


13.17. RATIOBIAS Block

Configuration example
The following figure and its companion callout description table show a sample
configuration that uses a RATIOBIAS block to form a ratio control loop for quick
reference. The view in the following figure depicts a configuration in Project mode.

Figure 31 Example CB configuration using RATIOBIAS block.


The following table includes descriptions of the callouts in the figure above.
Callout

606

Description

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

Callout

Description

Use the PV parameter connection to carry data from the analog input to the
other block. The default PV connection is exposed, but the implicit/hidden
connection function automatically makes a connection to a value/status
parameter (PVVALSTS) when it is required.

Use the DATAACQ block to define input range values and provide alarm
monitoring on the analog input.

Use the RATIOBIAS block in cascade mode to accept X1 and RT primary


inputs from other blocks.

Use the REGCALC block output (OP) to provide the RT input based on
assigning expression 1 as its CV source. The default OP connection is
exposed, but the implicit/hidden connection function automatically makes a
connection to a value/status parameter (OPX/OPEUX) when it is required.

Use the PID block output (OP) to provide the X1 input. The default OP
connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter
(OPX/OPEUX) when it is required.

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.

Operating modes and mode handling


The RATIOBIAS block supports the Manual, Automatic, and Cascade modes of
operation.
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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

607

13. Regulatory Control


13.17. RATIOBIAS Block

If Mode is . . .
Cascade (CAS)

Then,
both X1 and RT inputs come from other function blocks.

This block requests both primaries to initialize when the mode changes from CAScade to
MANual. This block requests only one primary to initialize when the mode changes from
CAScade to AUTOmatic. This block requests no primary to initialize when the mode
changes from MANual to CAScade. However, it always requests the X1 primary to
initialize first, and then initializes the RT based on whether or not the X1 initialization
was successful.

Required inputs
A RATIOBIAS block requires one or two inputs depending on the block's Mode, as
follows.
If Mode is. . .

Then, block requires. . .

Cascade

both X1 and RT inputs.

Auto

only X1 input.

Both X1 and RT are initializable inputs. This means the block can have one or two
primaries depending upon whether the RT input is required or not. There is one
primary for each initializable input.

The X1 input must come from another function block. You cannot set this value.

The RT input must come from another function block, if the Mode is Cascade. If the
Mode is Auto, you can set the value for RT or it can come from a user program.

Input ranges and limits

You must specify an X1 engineering unit range, XEUHI and XEULO.

608

XEUHI and XEULO define the full range of X1 in engineering units.


XEUHI represents the 100% of full scale value.
XEULO represents the 0% of full scale value.

This block assumes X1 is within XEUHI and XEULO - it applies no range check

You must specify RTHILM and RTLOLM to define the ratio limits in engineering
units. RT cannot exceed these limits. The maximum RTHILM value is 100.0 and the
minimum RTLOLM value is 0.001, so the RT range must be between 0.001 and
100.0.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

The operator is prevented from storing a RT value that is outside these limits; if
the primary or a user program attempts to store a value outside of the limits, this
block clamps it to the appropriate limit and sets the RT primary's windup status.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a RATIONBIAS block to SP on a PID block,
Control Builder automatically creates the BACKCALCOUT to BACKCALCIN
connection.

The RATIOBIAS 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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required. For example, if you connect the output from a RATIOBIAS block
(RATIOBIAS.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to RATIOBIAS.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single
RATIOBIAS output.

Output ranges and limits


CVEUHI and CVEULO define the full range of CV in engineering units.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

609

13. Regulatory Control


13.17. RATIOBIAS Block

If this block has a secondary, it gets the secondary's input range through BACKCALC
and sets its CV range to that. If it has no secondary, CVEUHI and CVEULO track the
X1 input range (XEUHI and XEULO).
ATTENTION
This block gets the secondary's input range regardless of SECINITOPT.
This means regardless of whether the secondary's initialization and
override data will be used.

OPHILM and OPLOLM define the normal high and low limits for OP, as a percent of
the CV range. These are user-specified values.
OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds them,
or another function block or user program attempts to store an OP value that exceeds
them. However, the operator may store an OP value that is outside these limits.
OPHILM and OPLOLM define the extended high and low limits for OP, as a percent of
the CV range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
This block calculates CV using this equation:

CV = X1

RT + OPBIAS.FIX + OPBIAS.FLOAT

Control initialization
The RATIOBIAS block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the RATIOBIAS block:

initializes its output:

610

CV = initialization value from the secondary

calculates initialization values for the X1 and RT primaries:

INITVAL[1] = (CV - OPBIAS.FIX) / RT

INITVAL[2] = (CV - OPBIAS.FIX) / INITVAL[1]


(If the calculated INITVAL[2] value exceeds either the high or low ratio limit
(RTHILM or RTLOLM), it is clamped to the limit.)
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

requests both primaries to initialize:

INITREQ[1] = ON

INITREQ[2] = ON

Where:
OPBIAS.FIX = fixed output bias
INITREQ[2] = initialization request flag for the RT primary
INITVAL[2] = initialization value for the RT primary
INITREQ[1] = initialization request flag for X1 primary
INITVAL[1] = initialization value for X1 primary

Ratio bias option


The following table summarizes block operation for given ratio bias option
(RBOPTION) selection.
If RBOPTION
Selection Is . . .
FixedRatioBias

Then, Block Behavior Is. . .


During initialization, it is back calculated as follows,
INITVAL (X1) = (OP - OPBIAS.FIX) / RT
INITVAL (RT) = (OP - OPBIAS.FIX) / X1
In Auto mode, the RT and BIAS values are set by the operator
or a user program.
In Cascade mode, the RT value is fetched from the upstream
function block only. The BIAS is set by the operator or a user
program.

AutoRatio

During initialization, the RT value is not fetched or settable. It is


back calculated as follows:
RT = (OP - OPBIAS.FIX) / X1.
If X1 is zero in Auto mode, RT = INITVAL(RT).
Clamp RT within RT limits.
The BIAS can be set by the operator or a user program.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

611

13. Regulatory Control


13.17. RATIOBIAS Block

If RBOPTION
Selection Is . . .

Then, Block Behavior Is. . .


INITVAL (X1) = (OP - OPBIAS.FIX) / RT
INITVAL (RT) = (OP - OPBIAS.FIX) / X1
During initialization, BIAS is not fetched or settable. It is back
calculated as follows:

AutoBias

BIAS = OP - (RT

X1)

Clamp BIAS within BIAS limits.


INITVAL (X1)= (OP - OPBIAS.FIX) / RT
INITVAL (RT) = (OP - OPBIAS.FIX) / X1
In Auto mode, the RT value is set by the operator or a user
program only.
In Cascade mode, the RT value is fetched from the upstream
function block only.

In normal Auto mode operation, the RT and BIAS values are set by the operator or a user
program regardless of the RBOPTION selection.
In normal Cascade mode operation, the RT value is fetched from the upstream function
block and the BIAS value is set by the operator or a user program regardless of the
RBOPTION selection.

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the RATIOBIAS block only applies OPBIAS.FLOAT to the
output for the latter two conditions, when it is the first initializable block.)

612

When the function block starts up (that is, goes Active).

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

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
CVUNBIASED

R110
February 2014

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)

Experion LX Control Builder Components Theory


Honeywell

613

13. Regulatory Control


13.17. RATIOBIAS Block

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.

Timeout monitoring
If mode is CAScade, the RATIOBIAS block performs time-out monitoring on X1 and
RT - if good X1 and RT values are not received within a predefined time
(TMOUTTIME), the RATIOBIAS block invokes timeout processing.
614

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing

If RT times out, the RATIOBIAS block does the following:

Holds RT at its last good value.

Changes the mode to a user-specified TMOUTMODE.

Requests the RT primary to initialize.

If X1 times out, the RATIOBIAS block does the following:

Sets the X1 value to NaN. This causes CV to go to NaN, which initializes the RT
and X1 primaries.

If RT times out and the block sheds to AUTO mode, it sets the Cascade Request Flag
(CASREQFL). When CASREQFL is set, it means the block is waiting to return to the
Cascade mode as soon as it gets a good RT value. You can disable the return to Cascade
mode by manually clearing the CASREQFL or changing the mode.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.

Override feedback processing


If the RATIOBIAS block is in a cascade strategy with a downstream OVRDSEL
(Override Selector) block, it receives override feedback data. The data consists of an
override status, override feedback value and an override offset flag. The status indicates
if this block is in the selected or unselected strategy (as determined by the OVRDSEL
block). The offset flag only applies to PID-type blocks.
When the override status changes from selected to unselected, the RATIOBIAS block
does the following:
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

615

13. Regulatory Control


13.17. RATIOBIAS Block

Computes a feedback value for the X1 and RT primaries:


feedback value for X1 primary = (ORFBVAL - OPBIAS.FIX - OPBIAS.FLOAT) /
RT
feedback value for RT primary = (ORFBVAL - OPBIAS.FIX - OPBIAS.FLOAT) /
override feedback value for X1 primary
Where:
ORFBVAL = override feedback value received from
secondary
OPBIAS.FIX = fixed output bias
OPBIAS.FLOAT = floating output bias

ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.

616

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .


on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and

Reverse of Actual OPHIALM.PR and

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

617

13. Regulatory Control


13.17. RATIOBIAS Block

A Get of This Parameter . . .

Equals This . . .

OPLOALM.PR and .SV

.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.

618

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

OP windup status considerations


The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.

Windup handling
The RATIOBIAS block computes these three anti-reset windup status parameters.

ARWOP

ARWNET[1]

ARWNET[2]

The ARWOP parameter indicates if OP is woundup. OP is woundup, if it is clamped or


the secondary is in windup. ARWOP is computed as follows. (The secondary's windup
status comes through BACKCALC.)
If OP is. . .

And Secondary's
Windup = Normal;
then, ARWOP =. . .

And Secondary's
Windup = Lo; then,
ARWOP =. . .

And Secondary's
Windup = Hi; then,
ARWOP =. . .

not clamped

NORMAL

Lo

Hi

clamped at its high


limit

Hi

HiLo

Hi

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

619

13. Regulatory Control


13.17. RATIOBIAS Block

If OP is. . .

clamped at is low limit

And Secondary's
Windup = Normal;
then, ARWOP =. . .
Lo

And Secondary's
Windup = Lo; then,
ARWOP =. . .
Lo

And Secondary's
Windup = Hi; then,
ARWOP =. . .
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,
ARWNET[2] =. . .

And ARWOP = Lo;


then,
ARWNET[2] =. . .

And ARWOP = Hi;


then,
ARWNET[2] =. . .

not clamped

NORMAL

Lo

Hi

clamped at its high


limit

Hi

HiLo

Hi

clamped at is low limit

Lo

Lo

HiLo

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to HiLo.
620

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

621

13. Regulatory Control


13.17. RATIOBIAS Block

block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.

622

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.17. RATIOBIAS Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

This block's output has reached its


negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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 . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

R110
February 2014

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

623

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

RATIOBIAS parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the RATIOBIAS block.

13.18 RATIOCTL (Ratio Control) Block


Description
The RATIOCTL block accepts the actual value of the controlled flow (X1), the actual
value of the uncontrolled flow (X2) and the target ratio between the flows (SP), and
calculates the target value of the controlled flow (OP) and the actual ratio between the
flows (PV) as outputs. This block is typically used to control one flow as the ratio of
another. It looks like this graphically:

624

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Each RATIOCTL block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Item Name - The name of the Entity that the Control

Module containing the block will be associated with in the


Simplified Enterprise Model Builder hierarchy.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter as a number between
1 to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

625

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
The selections are MANual, AUTOmatic, CAScade,
BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


626

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NO_SHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Algorithm

Control Equation Type - Lets you select the control

equation the block is to use. The selections are EQA,


EQB, EQC, and EQD. See the Equations section for this
block for details. The default selection is EQA.
X1 High Limit (XEUHI) - Lets you specify the high input

range value in engineering units that represents 100%


full scale input for the block. The default value is 100.
X1 Low Limit (XEULO) - Lets you specify the low input

range value in engineering units that represents the 0 full


scale input for the block. The default value is 0 (zero).
X1 Input Bias (X1BIAS) - Lets you specify a bias value

for the X1 input.


X2 Input Bias (X2BIAS) - Lets you specify a bias value

for the X2 input.


X1 Scale Factor (K1) - Lets you specify a scaling factor

for the X1 input.


X2 Scale Factor (K2) - Lets you specify a scaling factor

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

627

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
for the X2 input.
High Gain Limit (GAINHILM) - Lets you set a high limit

for the gain (K) value. If this value is exceeded, K is


clamped to this limit. The default value is 240.
Low Gain Limit (GAINLOLM) - Lets you set a low limit for

the gain (K) value. If K is less than this value, it is


clamped to this limit. The default value is 0.
Set Point

SP (SP) - Lets you specify an initial set point value. The

default value is 0.
High Limit (SPHILM) - Lets you specify a high limit value

for the SP. If the SP value exceeds this limit, the block
clamps the SP to the limit value and sets the SP high
flag (SPHIFL). The default value is 100.
Low Limit SPLOLM) - Lets you specify a low limit value

for the SP. If the SP value falls below this limit, the block
clamps the SP to the limit value and sets the SP low flag
(SPLOFL). The default value is 0.
Mode (TMOUTMODE) - Lets you select the desired

MODE the block is to assume, if an initializable input


times out, which means the input has not been updated
within a designated timeout time. The selections are
AUTOmatic, BCAScade, CAScade, MANual, NONE, and
NORMAL. The default selection is MANual.
Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME plus the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Enable Advisory SP Processing (ADVDEVOPT) - Lets

you specify whether or not the block is to generate a


deviation alarm when the PV deviates from a user
628

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
specified "advisory" SP value. The default selection is
unchecked (Disabled).
Advisory SP Value (ADVSP) - Lets you set an advisory

SP value in PV engineering units, when Advisory SP


Processing is enabled. When PV exceeds or deviates
from this value, the block generates an advisory
deviation alarm.
Enable SP Ramping (SPTVOPT) - Lets you specify if an

operator can initiate a set point ramp action or not. It


provides a smooth transition from the current set point
value to a new one. The default selection is box
unchecked (disabled). See the Set point ramping section
for this block for more details.
Normal Ramp Rate (SPTVNORMRATE) - Lets you

specify a ramp rate in engineering units per minute for


the SP ramping function, when it is enabled. This lets an
operator start the SP ramping function without specifying
a ramp time. The default selection is Not a Number
(NaN). See the Set point ramping section for this block
for more details.
Max. Ramp Deviation (SPTVDEVMAX) - Lets you

specify a maximum ramp deviation value in engineering


units per minute for the SP ramping function, when it is
enabled. Keeps PV within the specified deviation range
for a ramping SP by stopping the SP ramp until the PV
input catches up with the SP value. The default value is
NaN, which means no ramp deviation check is made.
See the Set point ramping section for this block for more
details.
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

629

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
630

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
CVEU Range High (CVEUHI) -Lets you specify the high

output range value in engineering units that represents


100% full scale CV output for the block. The default
value is 100.
CVEU Range Low (CVEULO) - Lets you specify the low

output range value in engineering units that represents


the 0 full scale CV output for the block. The default value
is 0 (zero).
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Process Variable (PV) - Lets you view the actual ratio

between inputs X1 and X2.


OP Tolerance Limit in % - Lets you specify a tolerance

limit in percent for the OP output.


Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:

R110
February 2014

Safety Interlock (SIALM.FL)

Experion LX Control Builder Components Theory


Honeywell

631

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is a checked
box or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, OPLOALM.SV) as a number between 0
to 15, with 15 being the most severe. This determines
the alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
632

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALM.DBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

633

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC.

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (not applicable to this


block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (not applicable to this block).

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate (not
applicable to this block).

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

634

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration Tab

Description
upon Option Type selection, lets you specify an output or
set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).

Identification

Lets you view the template properties for the block. You
need the Template license to use this form.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
The block calculates the target value of the controlled flow (OP) and the actual ratio
between the flows (PV) as outputs. OP is the value of the controlled flow, which will
maintain the target ratio between itself and the uncontrolled flow.
The RATIOCTL block provides four user-selectable methods for calculating the ratio
between the flows (PV). The target value for the controlled flow (OP) is calculated
according to the selected method for calculating PV.
The block applies a user-specified bias to the output. It does not apply a user-specified
gain. The bias may be fixed (stored manually or by a program) or external (fetched from
another function block).
The block also lets you specify a scale factor and bias for each flow. These values may
also be fixed or external.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

635

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Configuration example
The following figure shows a sample configuration that uses a RATIOCTL block to form
a ratio control loop for quick reference. The view in the following figure depicts a
configuration in Project mode.
The output of the RATIOCTL block is normally used as the set point of a PID, which
controls the controlled flow, X1.

Figure 32 Example CB configuration using RATIOCTL block.


Possible fuel flow application
In a furnace, the air supply might be controlled as a ratio of the fuel supply. If more heat
is required to maintain combustion efficiency, the fuel flow is increased and the air flow
can be increased as a ratio of the fuel-flow increase.
Possible blend application
It a blend operation, you might want to mix an orange juice concentrate with water in a
controlled ratio. You can easily set a ratio value, which ranges from 0 to 50 gallons of
636

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

water for each gallon of juice concentrate. This algorithm helps to produce different
concentrations of orange juice by controlling the ratio set point.

Operating modes and mode handling


The RATIOCTL block supports the Manual, Automatic, and Cascade modes of
operation.
If Mode is . . .
Manual (MAN)

Then,
the block does not compute OP; it maintains the userspecified OP value and ignores all input.
When MODE is changed to Man, the block:

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 onnode or off.

Required inputs

A RATIOCTL block requires these three inputs:

X1 - the actual value of the controlled flow.

X2 - the actual value of the uncontrolled flow

SP - the target ratio between the controlled and uncontrolled flows.

The SP is an initializable input. This means the block can have one primary
depending upon whether the SP input is configured or not. There is one primary for
each initializable input.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

637

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

The X1and X2 inputs must come from other function blocks. You cannot store to
them.

If Mode is Cascade, SP is pulled from another function block. If Mode is Automatic,


it may be stored by the operator or a user program.

Input ranges and limits

You must specify X1 and X2 engineering unit range, XEUHI and XEULO.

XEUHI and XEULO define the full range of the X inputs in engineering units.
XEUHI represents the 100% of full scale value.
XEULO represents the 0% of full scale value.

This block assumes X inputs are within XEUHI and XEULO - it applies no range
check

You must specify SPHILM and SPLOLM to define the set point limits, expressed as
a ratio. The operator is prevented from storing a set point value that is outside these
limits. If the primary or a user program attempts to store a value outside the limits,
this block will clamp it to the appropriate limit and set the input windup status.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a RATIOCTL block to SP on a PID block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection.

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 noninitializable input, then this block does not have a secondary. (Note that the default OP
638

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

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.

Output ranges and limits


CVEUHI and CVEULO define the full range of CV in engineering units.
If this block has a secondary, it fetches the secondary's input range through BACKCALC
and sets its CV range to that. If it has no secondary, CVEUHI and CVEULO must be
specified by the user.
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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

639

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Control initialization
The RATIOCTL block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the RATIOCTL block:

initializes its output:

CV = initialization value from the secondary

Builds an initialization request for its primary based on CTLEQN selected as


follows:

If
CTLEQN
Is. . .

And,
Initialization
Request for
Primary
Is. . .

On

On

On

On

Then, Initialization Value for the Primary Is. . .

Where:
K1 = gain for X1
640

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

K2 = gain for X2
OPBIAS.FIX = fixed output bias
X1BIAS = bias for X1
X2BIAS= bias for X2

Equations
The RATIOCTL block provides four different equations for calculating the actual ratio
between the two flows (PV). The target value for the controlled flow (CV) is calculated
accordingly: - the CTLEQN parameter is used to specify the desired equation.
Equation A - For this equation, actual ratio = (controlled flow) / (uncontrolled flow).
Then:

Equation B - For this equation, actual ratio = (uncontrolled flow) / (controlled flow).
Then:

Equation C - For this equation, actual ratio = (controlled flow) / (controlled flow +
uncontrolled flow).
Then:
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

641

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Equation D - For this equation, actual ratio = (uncontrolled flow) / (controlled flow +
uncontrolled flow).
Then:

Where:

642

K1

scaling factor for X1

K2

scaling factor for X2

OPBIAS.FIX

fixed output bias

OPBIAS.FLOAT

floating output bias

X1BIAS

bias for X1

X2BIAS

bias for X2

X1 sb (scaled-and-biased value of X1)

K1

X1 + X1BIAS

X2 sb (scaled-and-biased value of X2)

K2

X2 + X2BIAS

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output.

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:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

643

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

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
CVUNBIASED
OPBIAS.FIX

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)
= 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.

644

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

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.

Timeout monitoring
If mode is CAScade, the block performs time-out monitoring of the initializable input,
SP. - if good SP value is not received within a predefined time (TMOUTTIME), the
block invokes timeout processing as noted in the following section.
The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If MODE is Cascade and SP times-out, the RATIOCTL block does the following:

Sets the "input timeout" flag (TMOUTFL)

Holds SP at its last good value

Changes the mode to a user-specified "timeout mode" (MODE = TMOUTMODE)

Requests the SP primary to initialize (via BACKCALCOUT)

If SP times-out and the block sheds to Auto mode, it sets the Cascade Request flag
(CASREQFL). When CASREQFL is set, it means the block is waiting to return to the
Cascade mode, and will do so as soon as it fetches a good SP value.
About CASREQFL processing

The RATIOCTL block only sets CASREQFL if the original mode was Cascade, the
SP input times-out, and TMOUTMODE = Auto.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

645

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

You may clear the CASREQFL but you cannot set it. This lets you disable the
automatic return to Cascade mode.

If you change mode, the CASREQFL is cleared, which disables the return to
Cascade mode.
ATTENTION
If the input is from a connection in another controller in a peer-to-peer
architecture, the actual timeout time equals the configured TMOUTTIME
plus the CDA timeout time. The CDA timeout time equals four times the
configured CEE subscription rate. For example, if the CEE subscription rate
is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.

Override feedback processing


If this block is in a cascade strategy with a downstream Override Selector block, it will
receive override feedback data when any of the following occur.

the block's windup state changes

the block is requested to do a one-shot initialization

the block's override status changes

The data consists of an override status, override feedback value and an override offset
flag. The status indicates if this block is in the selected or unselected strategy (as
determined by the Selector block). The offset flag only applies to PID-type function
blocks.
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.

When the override status changes from selected to unselected, this block does the
following:

646

Does not initialize its CV

Computes a feedback value for the SP primary depending on the CTLEQN selected
as follows:

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

If
CTLEQN
Is . . .

Then, Feedback Value for Primary Is . . .

Where:
K1 = gain for X1
K2 = gain for X2
OPBIAS.FIX = fixed output bias
X1BIAS = bias for X1
X2BIAS= bias for X2

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

R110
February 2014

Then, Its Function Is . . .

Experion LX Control Builder Components Theory


Honeywell

647

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

648

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

A Get of This Parameter . . .

Equals This . . .

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

649

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.

Windup handling
The RATIOBIAS block computes these three anti-reset windup status parameters.

650

ARWOP

ARWNET[1]

ARWNET[2]

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

The ARWOP parameter indicates if OP is woundup. OP is woundup, if it is clamped or


the secondary is in windup. ARWOP is computed as follows. (The secondary's windup
status comes through BACKCALC.)
If OP is. . .

And Secondary's
Windup = Normal;
then, ARWOP =. . .

And Secondary's
Windup = Lo; then,
ARWOP =. . .

And Secondary's
Windup = Hi; then,
ARWOP =. . .

not clamped

NORMAL

Lo

Hi

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,
ARWNET[2] =. . .

And ARWOP = Lo;


then,
ARWNET[2] =. . .

And ARWOP = Hi;


then,
ARWNET[2] =. . .

not clamped

NORMAL

Lo

Hi

clamped at its high


limit

Hi

HiLo

Hi

clamped at is low limit

Lo

Lo

HiLo

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

651

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

If the Value is . . .

Then, the Associated Parameter . . .

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

652

Hi

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

If Any of the Following are True . . .

Then, ARWOP Equals . . .

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

653

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

This block's output has reached its


positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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.

654

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.18. RATIOCTL (Ratio Control) Block

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

Restart or point activation


On a warm restart or when a RATIOCTL block is activated or inactivated, initialization
takes place.

Error handling
The RATIOCTL block performs the following error checking:

Check for Bad Control alarm conditions

Check if X1 and X2 are valid:

If X1 or X2 are bad (NaN), the block sets CV to NaN and PVSTS to Bad. Also,
the PV value is set to NaN.

When X1 and X2 return to normal, the block initializes CV to the following:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

655

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

RATIOCTL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference</HH> for a complete list
of the parameters used with the RATIOCTLblock.

13.19 REGCALC (Regulatory Control Calculator) Block


Description
Lets you write up to eight expressions for creating custom algorithms for Calculated
Variable (CV) calculations; primary block initialization status and value calculations
(PRIMDATA(1).INITSTS, PRIMDATA(1).INITVAL); and primary block override
initialization status and value calculations (PRIMDATA(1).ORFBSTS,
PRIMDATA(1).ORFBVAL).
Provides an interface to windup, initialization and override feedback processing, so you
can add user-defined control blocks to your control strategies.

656

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Each REGCALC block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

657

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
658

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Input

High Limit (XEUHI) - Lets you specify the high input

range limit that represents 100% full scale input for all
the block inputs (X[1..6]). The default value is 100.
Low Limit (XEULO) - Lets you specify the low input

range limit that represents 0 full scale input for all the
block inputs (X[1..6]). The default value is 0 (zero).
Timeout Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 100ms plus 5s or 5.1 seconds.
XK (XK[1..6]) - Lets you specify an individual gain value

for each of the six X inputs. The default value is 1.


XB (XB[1..6]) - Lets you specify an individual bias value

for each of the six X inputs. The default value is 0.00,


that is, no bias is added.
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

659

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), that is,
no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond. This check is not applied for a function block
660

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
that is in the MANual mode. The default value is 0, that
is, no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), that is,
the OP is held at its last good value.
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. See the Output Bias section
for this function block for details. The default value is 0,
that is no value is added.
Output Bias Rate (OPBIAS.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Gain (K) - Lets you specify a gain (K) value to be

factored into the equation for calculating the CV output


value. This value helps guarantee that the output is
"bumpless" following initialization or mode changes. The
default value is 1.
Gain High Limit (GAINHILM) - Lets you specify gain high

limit value. Gain (K) is clamped to this value, if the


specified gain exceeds it. The default value is 240.
Gain Low Limit (GAINLOLM) - Lets you specify gain low

limit value. Gain (K) is clamped to this value, if the


specified gain is less than it. The default value is 0.
CV (CVSRC) - Lets you assign an input or expression

result as the source for the CV. The default selection is


NONE.

ATTENTION
Be aware that selecting NONE causes the CV
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

661

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
value to default to NaN and the block to
generate a BadControl alarm.
CV Initialization (CVINITSRC) - Lets you assign an input

or expression result as the source of the CV initialization.


The default selection is NONE.

ATTENTION
Be aware that selecting NONE causes the
block to perform standard initialization using
the SECDATAIN.INITVAL as its initialization
value. A selection of NONE is usually
appropriate when the REGCALC block is
connected to an initializable input of its
secondary block.
CV Override (CVORFBSRC) - Lets you assign an input

or expression result as the source of the CV during


override. The default selection is NONE.

ATTENTION
Be aware that selecting NONE causes the
block to perform standard override
initialization using SECDATAIN.ORFBVAL as
its initialization value. A selection of NONE is
usually appropriate when the REGCALC block
is connected to an initializable input of its
secondary block.
Initialization Request (INITREQSRC) - Lets you assign

an input or expression result as the source of the


initialization request flag for the primary. The default
selection is NONE. The REGCALC block uses different
values for this parameter depending upon whether or not
a source is assigned and a secondary exists as follows.

662

If a source is assigned, this block uses the


assigned source flag to initiate initialization of its
output and to request initialization of its primary
block.

If no source is assigned (NONE configured) and

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
the block is connected to an initializable input of a
secondary block, this block uses the corresponding
value from the secondary (SECDATAIN.INITSTS).

If no source is assigned (NONE configured) and


there is no secondary or the secondary input is not
initializable, this block uses the default value of
OFF and will not propagate initialization to its
primary in CAS mode. In MAN, the block will
request initialization regardless of configuration.

ATTENTION
Be aware that selecting NONE causes the
block to perform initialization using the
SECDATAIN.INITSTS as the initialization
FLAG. The initialization value depends on the
configuration of INITVALSRC. A selection of
NONE is usually appropriate when the
REGCALC block is connected to an
initializable input of its secondary block.
Initialization Value (INITVALSRC) - Lets you assign an

input or expression result as the source of the


initialization value for the primary
(PRIMDATA(1).INITVAL). The default selection is
NONE. The REGCALC block uses different values for
this parameter depending upon whether or not a source
is assigned and a secondary exists as follows.

R110
February 2014

If a source is assigned, this block uses the


assigned source value to set the primary
initialization value (PRIMDATA(1).INITVAL).

If no source is assigned and a secondary does


exist and the block is connected to an initializable
input of a secondary block, this block copies the
corresponding value from the secondary
(SECDATA.INITVAL) to its primary initialization
parameter (PRIMDATA(1).INITVAL).

If no source is assigned and there is no secondary


or the secondary input is not initializable, this block
uses the OP value to set the primary initialization
parameter (PRIMDATA(1).INITVAL).

Experion LX Control Builder Components Theory


Honeywell

663

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description

ATTENTION
Be aware that selecting NONE causes the
block to perform initialization using
SECDATAIN.INITVAL as the initialization
value. A selection of NONE is usually not
appropriate. For proper initialization of the
primary block, an initialization expression of
the following form must be written and
selected by INITVALSRC.
If CV = f(x(1), .., X(n) , y,z)
Then x(1) = f(CV ,..X(n),y,z)
Where:
CV = SECDATAIN.INITIVAL
PRIMDATA(1).INITVAL = x(1)
Override Feedback Status (ORFBSTSSRC) - Lets you

assign an input or expression result as the source of the


override feedback status for the primary. The default
selection is NONE.
The REGCALC block uses different values for this
parameter depending upon whether a source is assigned
and a secondary exists as follows.

If a source is assigned, this block uses the


assigned source flag to set the primary override
initialization flag (PRIMDATA(1).ORFBSTS).

If no source is assigned and the block is connected


to an initializable input of the secondary block, this
block uses the corresponding status from the
secondary (SECDATA.OVFBSTS).

If no source is assigned and there is no secondary,


this block uses default values (NaN for values, OFF
for flags).

Override Feedback Value (ORFBVALSRC) - Lets you

assign an input or expression result as the source of the


override feedback value for the primary. If desired, you
can leave this parameter unassigned. The default
selection is NONE. The REGCALC block uses different
values for this parameter depending upon whether or not
a source is assigned and a secondary exists as follows.
664

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description

If a source is assigned, this block uses the


assigned source value even if a secondary exists.

If no source is assigned and a secondary exists,


this block uses the corresponding value from the
secondary.

If no source is assigned and there is no secondary


or the secondary input is not initializable, this block
uses default values (NaN for values, OFF for flags).

ATTENTION
Be aware that selecting NONE causes the
block to perform initialization using
SECDATAIN.ORFBVAL as the override
initialization value. A selection of NONE is
usually not appropriate. For proper override
initialization of the primary block, an override
initialization expression of the following form
must be written and selected by
ORFBVALSRC.
If CV = f(x(1), .., X(n) , y,z)
Then x(1) = f(CV ,..X(n),y,z)
Where:
CV = SECDATAIN.ORFBVAL
PRIMDATA(1)ORFBVAL = x(1)
The expression for the primary override input
value is usually identical to that for the primary
initialization value and the input to that
expression (SECDATAIN.ORFBVAL) is equal
to the input to the initialization expression
(SECDATAIN.INITVAL). That isthe
ORFBVALSRC can point to the same
expression as INITVALSRC.

Alarms

R110
February 2014

Type - Identifies the types of alarms this block


supports. Of course, these alarms also interact with
other block configuration options such as the
Safety Interlock Option (SIOPT) and Bad Control

Experion LX Control Builder Components Theory


Honeywell

665

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description

Option (BADCTLOPT). The types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. If it is checked then the


alarm is enabled. The default selection is checked or
enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, OPLOALM.SV) as a number between 0
to 15, with 15 being the most severe. This determines
the alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
666

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set to true. The default value is 0, that is the
alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALM.DBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM
R110
February 2014

SCM Mode Tracking Option (MODETRACK) - Lets you

Experion LX Control Builder Components Theory


Honeywell

667

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
select the desired Mode Tracking function for the SCM
associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based on
the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block takes when the SCM goes into an abnormal state.


The Starting State Option (STARTOPT) applies when
the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

668

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC (not


applicable to this block).

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (not applicable to this


block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (not applicable to this block).

RAMPEDSP - Set SPTVREQ = Configured Value

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Configuration Tab

Description
and SPRATEREQ = Configured Rate (not
applicable to this block).
Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

on the Option Type selected, lets you specify an output


or set point value within the respective range. For output,
within OPEXLOLM to OPEXHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Expr# 1 to Expr# 8

Expression (C[1..8]) - Lets you write up to eight desired


expressions for custom calculations. You can also write a
short descriptive text for each expression.
See the Guidelines for writing expressions section for this
block for more details.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function

Each expression can contain any valid combination of inputs, operators and
functions; and may perform arithmetic or logic operations.

You can write expressions for calculating CV under normal, initialization and
override feedback conditions. Or, you can write expressions which produce
initialization and override feedback values for this block and its primaries.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

669

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

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.

Operating modes and mode handling


The REGCALC block supports the Manual and Cascade modes of operation.
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.

Inputs
The REGCALC block can function without any inputs. The following inputs are optional
and they only accept real (Float 64) data types.

X[1] - An initializable input that must come from another block, an operator cannot
set it.

X[2] through X[6] general purpose inputs.

XK[1..6] individually configurable gain value for each input.

XB[1..6] individually configurable bias value for each input.

XKB[1..6] individual inputs with gain and bias values applied to them.

XWHIFL - An external windup high flag.

XWLOFL - An external windup low flag.

Since X[1] is an initializable input, the block can have one primary. There is one
primary for each initializable input.

Input ranges and limits

670

If this block has a primary, you must specify an X[1] engineering unit range,
XEUHI and XEULO. These only apply to initializable input.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

XEUHI and XEULO define the full range of X1 in engineering units.


XEUHI represents 100% of full scale value.
XEULO represents 0% of full scale value.

This block assumes X[1] is within XEUHI and XEULO - it applies no range check.
If this function is required, you must write an expression for it.

Initializable outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you do not have to
create them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a REGCALC block to SP on a PID block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection.

The REGCALC 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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.
For example, if you connect the output from a REGCALC block (REGCALC.OP) to the
set point of a PID block (PIDA.SP), the implicit/hidden connection is made to
REGCALC.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We
recommend that you do not make multiple connections from a single
REGCALC output.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

671

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Output ranges and limits


CVEUHI and CVEULO define the full range of CV in engineering units.
If this block has a secondary, it gets the secondary's input range through BACKCALC
and sets its CV range to that. If it has no secondary, you must specify the values for
CVEUHI and CVEULO.
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.

Assignable outputs
You can assign expression results and/or inputs to the following parameters.

CVSRC - CV output source selector.

CVINITSRC - CVINIT source selector.

CVORFBSRC - CVORFB source selector.

INITREQSRC - INITREQ (initialization request flag) source selector.

INITVALSRC - INITVAL (initialization value) source selector.

ORFBVALSRC - ORFBVAL (override feedback value) source selector.

ORFBSTSSRC - ORFBSTS (override feedback status) source selector.

For example, you can assign the result of the second expression to CVSRC and the result
of the fourth expression to CVINITSRC and CVORFBSRC. You may assign the same
672

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

input to multiple outputs. You may also assign inputs directly to outputs, such as
assigning X[1] and X[2] to INITVALSRC and INITREQSRC, respectively.
The assignable expression and input parameters are as follows:
C[1..8] - Expressions
CSTS[1..8] - Expression Status
X[1..6] - Inputs
XSTS[1..6] - Input Status

Output assignment rules


ATTENTION
The REGCALC block does perform data conversions, if the source and target
parameters are of different types. For example, if you assign the
INITREQSRC to X[2], the block converts the real type data from X[2] into
Boolean type data for INITREQ[1] that it sends to its primary. You must be
careful when making assignments that the resulting data conversions do not
make sense. For example, if you assign XSTS[1] to ORFBSTSSRC, the two
statuses are entirely different and they cause the block to produce
unexpected results.

The following parameters should be assigned to an input or an expression result.

CVSRC - Since this parameter controls CV under normal conditions, when the
block is not initializing and its mode is CAScade, always assign this parameter.
If this parameter is left blank or unassigned, the Control Module containing the
block is allowed to go Active, but CV is NaN and OP has a value of zero.

CVINITSRC - Since this parameter controls CV when the block is in its


initialization state, CV will get initialized with the initialization value from the
secondary, like the other regulatory control blocks, if this parameter is not
assigned. You should only need to assign CVINITSRC when CV needs to be
initialized with a customized value.
If the CV value based on CVINITSRC assignment computes to NaN, it will be
replaced by the INITVAL received from the secondary
If the CV value based on CVINITSRC assignment is used as the INITVAL for
the primary and you have assigned INITVALSRC to compute a customized
INITVAL, the INITVAL for the primary will be based on INITVALSRC.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

673

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

CVORFBSRC - Since this parameter controls CV when the block's override


status is "unselected", you should only need to assign CVORFBSRC when CV
needs to be set based on the block's override status. The PID block is the only
one that sets its CV to override the feedback value received from its secondary
when the block's override status is "unselected". For other regulatory control
blocks, CV is not affected by the block's override status.

The following parameters are provided to the primary through this block's
BACKCALC data.

INITREQSRC

INITVALSRC

ORFBVALSRC

ORFBSTSSRC

You can assign these parameters to an input or an expression result, or they can
be left unassigned. The following table summarizes possible outcomes for
specified parameter assignments. You may need to assign an INITVALSRC to
compute a customized initialization value for the primary based on the CVSRC
assignment.

If a Parameter is . . .

And, a Secondary. . .

Then, This Block. . .

assigned

does or does not exist

uses the assigned value.

unassigned

exists

uses the corresponding


value from the secondary.

unassigned

does not exist

uses default values, such


as NaN for values and Off
for flags.

Control initialization
The REGCALC block brings initialization requests from its secondary through
BACKCALC. In addition, the secondary may propagate one-shot initialization requests
to this block. (Note that SECINITOPT may be used to ignore initialization requests from
the secondary.)
If the secondary is requesting initialization, the REGCALC block:

674

initializes its output:


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

CV =CVINIT (an assignable output)

builds an initialization request for the designated primaries using the assignable
output parameters INITREQSRC and INITVALSRC. If you configure no
assignments for these parameters, the block behaves like other regulatory control
blocks, using the corresponding values brought from its secondary.

Be careful when making INITREQSRC and INITVALSRC assignments to avoid


producing the wrong results. For example, you assign the INITREQSRC parameter to
C[2], which produces a result of TRUE, and the REGCALC block's mode is CAScade
and its INITMAN parameter is OFF. Also, you have assigned CVSRC to C[1], which is
configured as "X[1] +10.0", and INITVALSRC to C[3], which is configured as this
block's CV. Assume at some moment that X[1] is 15.0 and it produces a C[1] of 25.0,
resulting in CV = INITVAL[1] = 25.0. The primary will initialize itself with the value
25.0. That is the next time the REGCALC block runs it receives an X[1] value of 25.0
from the primary, resulting in C[1] = CV = 35.0. Thus, each cycle that REGCALC runs,
its CV increments by 10.0, producing seemingly wrong results.
You can configure a REGCALC block to work like an AUTOMAN block by:

Connecting X[1] for input from the primary.

Assigning CVSRC to X[1] input.

Configuring all other parameters like OPBIAS.RATE the same as you would for an
AUTOMAN block.

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the REGCALC block only applies OPBIAS.FLOAT to the output
for the later two conditions, when it is the first initializable block.)

R110
February 2014

When the function block starts up (that is, goes Active).

Experion LX Control Builder Components Theory


Honeywell

675

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

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
CVUNBIASED

676

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

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 occurs, if the primary does not
accept this block's initialization value.

After initialization, the REGCALC block calculates the floating bias using the
following equation.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

677

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

OPBIAS.FLOAT

= CVINIT - (Cvunbiased + OPBIAS.FIX)

Where:
CVunbiased
OPBIAS.FIX

= unbiased CV (It equals K X[1], if X[1] is assigned to


CV.)
= fixed output bias (user specified)

Timeout monitoring
If mode is CAScade, the REGCALC block performs timeout monitoring on X[1]- if
good X[1] value is not received within a predefined time (TMOUTTIME), the
REGCALC block invokes timeout processing.
The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If X[1] times out, the REGCALC block does the following:

Sets the input timeout flag (TMOUTFL).

Sets the input value to Bad (NaN).

Requests the X[1] primary to initialize.

This block does not support mode shedding on timeout.


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.

Override feedback processing


If the REGCALC block is in a cascade strategy with a downstream OVRDSEL (Override
Selector) block, it receives override feedback data. The data consists of an override
678

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

status, override feedback value and an override offset flag. The status indicates if this
block is in the selected or unselected strategy (as determined by the OVRDSEL block).
The offset flag only applies to PID-type blocks.
When the override status changes from selected to unselected, the REGCALC block does
the following:

Initializes its output:


CV

= CVORFB (an assignable output)

Computes a feedback value for its primary:


feedback value for primary = ORFBVAL (an assignable output)
feedback status for primary = ORFBSTS (an assignable output)

If the ORFBVAL and ORFBSTS are not assigned and this block has a secondary, the
ORFBVAL and ORFBSTS received from the secondary are used to compute ORFBVAL
for the primary. When the override status from the secondary changes from selected to
unselected, this block does the following:
feedback value for primary = feedback value received from secondary.

ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.

You can customize the override feedback computation and propagation using the
following block parameters.
ORFBSTSSRC - If you make an ORFBSTSSRC parameter assignment, the REGCALC
block computes the override feedback status from the assignment and uses it for override
processing and propagation to the primary. If you do not make an assignment, the
REGCALC block uses the override status received from the secondary for override
processing, just like other regulatory control blocks do.
ORFBVALSRC - Like ORFBSTSSRC, if you make an ORFBVALSRC parameter
assignment, the REGCALC block computes the override feedback value for the primary
based on the assignment. Otherwise, the block uses the override status received from the
secondary for override processing , just like other regulatory blocks do.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

679

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

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 "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.

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.

680

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .


at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism gets the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and

Reverse of Actual OPHIALM.PR and

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

681

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

A Get of This Parameter . . .

Equals This . . .

OPLOALM.PR and .SV

.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.

682

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

OP windup status considerations


The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.

Windup handling
The REGCALC block derives the ARWOP from a combination of the following
parameters and the secondary's windup status.

CV

XWHIFL

XWLOFL

The following table summarizes how the block derives ARWOP for some given
conditions.
If XWLOFL and/or XWHIFL
are. . .

And a Secondary. . .

Then, the Block Derives


ARWOP from . . .

True

does or does not exist

CV, XWHIFL, and


XWLOFL.

False

exists

CV and secondary's windup


status.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

683

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

If XWLOFL and/or XWHIFL


are. . .
False

And a Secondary. . .
does not exist

Then, the Block Derives


ARWOP from . . .
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.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
684

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

R110
February 2014

Then, ARWNET Equals . . .


HiLo

Experion LX Control Builder Components Theory


Honeywell

685

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

686

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and control algorithm block (CAB) programs.
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 . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

R110
February 2014

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

687

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. Table 2 lists the expression operators
and functions supported by this block for reference as well as some case sensitive strings
that can be used for special value constants in expressions.
ATTENTION
Do not use equality operands = and <> to compare FLOAT64 and FLOAT32
floating point values in expressions. Use inequality operands Less Than (<),
Less Than or Equal To (<=), Greater Than (>), or Greater Than or Equal To
(>=) instead.

Table 2 Expression operators, functions, and strings reference


Operators

Description

Unary

+-

Binary Arithmetic

+ -

Logical

AND OR NOT

Relational

= <> <= >= < >

Conditional

? : (For example, X ?Y : Z; similar to IF, THEN, ELSE)

Parenthesis

()

Array Syntax

[]

/ MOD (x MOD y) ^ (x^y)

Unary Functions
ABS
ATN
1

COS

688

absolute value

LOG

Base 10 logarithm of a number

arc tangent

RND

round value

cosine

SGN

sign of value (returns -1,0 or +1)

EXP

e to the power of x

SIN

sine

INT

convert to integer

SQR

square of a number

ISFIN

is finite

SQRT

square root

ISNAN

is Not a Number

TAN1

tangent

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Operators
LN

Description

Natural logarithm of a
number (log to the base of
e)
Multiple Argument Functions

MIN

minimum of n arguments
(ignore bad values)

MID

medium value of n arguments


(average of middle values for
even n)

MAX

maximum of n arguments
(ignore bad values)

MUL

product of n arguments

AVG

average of n arguments

SUM

sum of n arguments

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 position and an
integer length. The
function returns the
specified portion of the
original string.

STRNUM

Takes the string input


parameter and converts it to a
Float64

Time Support Functions


ABSTOD Takes an absolute time
DTIMNUM
data type and strips off the
year and date and returns
a 64-bit float representing
the time of day in
milliseconds.

Takes a delta TIME data type


and returns a 64-bit float
representing the number of
milliseconds.

NUMDTIM

Takes a 64-bit float


representing some number of
milliseconds and converts it to
a delta TIME data type.

NOW

R110
February 2014

Returns the current local


date and time as an
absolute time data type

Experion LX Control Builder Components Theory


Honeywell

689

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Operators

Description
STRTIM

NUMTIM

Takes a 64-bit float


representing the number
of milliseconds since Jan
1, 1972 and converts it to
absolute TIME data type.

TOD

Returns the current local


TIMNUM
time of day as Time of Day
data type

UTCTOD Returns the current UTC


UTCNOW
time of day as Time of Day
data type

Takes a string input parameter


and converts it to an Absolute
time. The string must be in the
same format as an Absolute
time constant.
Takes an Absolute TIME data
type and returns a 64-bit float
representing the total number
of milliseconds since Jan 1,
1972.
Returns the current UTC date
and time of day as an absolute
time data type

Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and
not degrees.
Case Sensitive Strings for Special Value Constants
NAN

IEEE NaN value

+INF

IEEE + Infinity value

-INF

IEEE - Infinity value

PI

PI (3.14159. . .)

e (2.718. . .)

Parameters in Expressions
You must specify a parameter by its full tag name (for example,
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression.
Expression descriptor parameters (EXPRDESC[1..8]) are used with the expression
constant parameters (CONST[1..8]) for providing a short description for the expressions.
The EXPRDESC[1..8] parameter can be modified only during the strategy configuration,
and is available even if CONSTENABLE is set to FALSE.
690

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:

TagName.'text'

TagName is the name of the external reference component (i.e. an OPC Server). Text can
contain any characters, space, and special characters except for the delimiter character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
responsibility to ensure that the text is something that the external reference component
will understand. If this text is incorrect, runtime errors will occur.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.

Guidelines for Writing Expressions

Must include full tag.parameter name for X inputs in the expression and enclose
identification number in brackets instead of parentheses. For example,
CM151.REGCALC_1.X[1] CM151.REGCALC_2.X[2] is valid.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

691

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

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
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.

String data support in expressions


The following operators can have string constants and/or string references as operands.

692

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Operator
:=

Description
Assignment - used only in the SCM Step Output blocks to assign the
results of an expression to a reference.
Example:
CM.block.mystringparam := "This is a string constant"
CM.block.mystringparam := CM.desc

Concatenation
Example:
CM.block.mystringparam + CM.desc

Equal to
Example:
CM.block.mystringparam = CM.desc

<>

Not equal to
Example:
CM.block.mystringparam <> "This is a string"

Time support in expressions


Time data types
The following time data types are supported in expressions.

Absolute Time - Is stored as a 64-bit integer representing the number of tenths of


milliseconds since 1/1/1972.

Delta Time - Is also stored as a 64-bit integer and it represents an Absolute time
difference in tenths of milliseconds.

Time of Day - is an unsigned 32 -bit integer that represents a time of day in tenths of
milliseconds.

Time constants
You can use the following valid time constants in expressions.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

693

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

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.

Time related operators


The following operators can have time constants and/or time references as operands:
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.

MINS

Takes operand and returns equivalent delta time value.

SECS1

Takes operand and returns equivalent delta time value

The DAY, HOURS, MINS, SECS Operators are not case specific.

694

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.19. REGCALC (Regulatory Control Calculator) Block

Adding time data types


The following table shows results of adding the various time data types
Operand 2 Data Type

Operand 1 Data Type


Absolute Time

Delta Time

Time of Day

Absolute Time

Absolute Time

Absolute Time

Absolute Time

Delta Time

Absolute Time

Delta Time

Delta Time

Time of Day

Absolute Time

Delta Time

Time of Day

Subtracting time data types


The following table shows results of subtracting the various time data types
Subtrahend Data
Type

Minuend 1 Data Type


Absolute Time

Delta Time

Time of Day

Absolute Time

Delta Time

N/A

N/A

Delta Time

Absolute Time

Delta Time

N/A

Time of Day

Absolute Time

Delta Time

Time of Day

Time expression examples


The following are examples of some valid time expressions.

MYCM.block.elapsedtime > 5 MINS

CEE01.CURRTIME + 2 DAYS

CEE01.CURRTIME > 10/30/2002

CEE01.CURRTIME + CM.TIMER.SP SECS

(CEE01.CURRTIME - 1/01/2002 10:15:01)

STRTIM("12/01/2002") > CEE01.CURRTIME

TIMNUM(CEE01.CURRTIME)

NUMTIM(1000.0)

R110
February 2014

2.

Experion LX Control Builder Components Theory


Honeywell

695

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

NOW - MyCM.myblock.todparam

ABSTOD(CEE01.CURRTIME)

The following are examples of invalid expressions.

CEE01.CURRTIME + 2
CEE01.CURRTIME > 5.0
REFERENCE - INTERNAL
Refer to the section Time Support in Experion LX System for more
information about time support in the system

REGCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the REGCALC block.

13.20 REGSUMMER (Regulatory Summer) Block


Description
This function block calculates an output value which is the sum of up to four inputs.
Each of the inputs may be individually scaled. In addition, the output may be scaled by
an overall gain, and an overall bias may be added to the result. The REGSUMMER
block looks like this graphically:

696

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Each REGSUMMER block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
and 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Normal Mode (NORMMODE) - Lets you specify the

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

697

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
MODE the block assumes when the Control to Normal
function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block


assumes when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
698

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block is to assume upon a safety


interlock alarm. The selections are NO_SHED,
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE.
The default selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Input

High Limit (XEUHI) - Lets you specify the high input

range limit that represents 100% full-scale input for the


block. The default value is 100.
Low Limit (XEULO) - Lets you specify the low input

range limit that represents the 0 full-scale input for the


block. The default value is 0 (zero).
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

699

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
Timeout Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME and the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
XDESC[1..4] - Lets you specify a text string of up to 23

characters to identify inputs 1..4.


XK(1)..XK(4) - Lets you specify the scaling factors for

inputs 1..4
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
700

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, if the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value.
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. See the Output Bias section
for this function block for details. The default value is 0,
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

701

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
which means no value is added.
Output Tolerance (OPTOL) - Lets you specify a limit for

operator entered output changes in %. Operator-entered


values greater than OPTOL results in a warning to the
operator which must be overridden to permit the value to
be entered.
Output Bias Rate (OPBIAS.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. 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.
Gain (K) - Lets you specify a gain (K) value to be

factored into the equation for calculating the CV output


value. See the equation following this table for details.
The default value is 1.
Gain High Limit (GAINHILM) - Lets you specify gain high

limit value. Gain (K) is clamped to this value, if the


specified gain exceeds it. The default value is 240.
Gain Low Limit (GAINLOLM) - Lets you specify gain low

limit value. Gain (K) is clamped to this value, if the


specified gain is less than it is. The default value is 0.
Alarms

Type - Identifies the types of alarm this block supports.

These alarms also interact with other block configuration


options such as the Safety Interlock Option (SIOPT) and
Bad Control Option (BADCTLOPT). The types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. if it is checked then the


alarm is enabled. The default selection is checked or
enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
702

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, and OPLOALM.PR).
The default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, and OPLOALM.SV) as a number
between 0 and 15, with 15 being the most severe. This
determines the alarm processing order relative to other
alarms. The default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set to true. The default value is 0, which
means the alarm is set to true as soon as the value
exceeds the deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

703

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

704

None

ONESHOT

SEMICONT

CONTRTN

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description

CONT

Option Type - Lets you specify the action the function

block is to take when the SCM goes into an abnormal


state. The Starting State Option (STARTOPT) applies
when the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block.

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC (not


applicable to this block).

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV.

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN.

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate.

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

on the Option Type selection, lets you specify an output


or set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

705

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Configuration Tab

Description
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Template Defining

Lets you view and define parameters for associated


templates.

Equation
CV is calculated as follows:
For 2 to 4 inputs:
CV
= K * [XK(1) * X(1) + XK(2) * X(2) + XK(3) * X(3) + XK(4) * X(4)] +
OPBIAS
For one input:
CV

= K * X1 + OPBIAS

where:

706

CV

= Current full value of the output of this algorithm in EUs

= Overall gain for CV

XK(1..4)

= Individual gain for each input

OPBIAS

= total output bias (that is, OPBIAS.FIX + OPBIAS.FLOAT)

X(1..4)

= Current full values of each X-input in use.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Function
The REGSUMMER function block is typically used where two or more primary PIDs
are used to determine the set point of a secondary PID.

Configuration example
The following screen shot depicts the scenario wherein the REGSUMMER block is
used:

Inputs
The RegSummer block accepts up to four inputs -- X(1) through X(4).

X(1) is an initializable input; all others are non-initializable. The X[1] input can be
connected to non-initializable inputs also. In this case there is no primary for this
block.

The inputs must be pulled from other function blocks; the user cannot store in them.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

707

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

This block has one primary. (There is one primary per initializable input.)

X[1] input connection is mandatory. If X[1] is not connected and the block is
loaded, an error will be raised during load time mentioning "At least input one needs
to be connected".

NUMXINPT represents the number of input connections that has been made to this
block.

Outputs
The REGSUMMER block has the following initializable outputs:

OP

- Calculated output, in percent

OPEU

- Calculated output, in engineering units


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.

Initializable inputs and outputs


"Initializable output" and "Initializable input" are variable attributes, similar to data type
or access level. A parameter with the "initializable" attribute has an associated
BACKCALC parameter, and when the user creates a connection between an initializable
input and initializable output, the system will also create a BACKCALC connection. For
example, X1 is an initializable input with an associated X1BACKCALOUT, and OP is
an initializable output with BACKCALCIN. If the user creates a connection between X1
and OP, the system will also create a connection between X1BACKCALOUT and
BACKCALCIN.

Output Ranges

708

CVEUHI and CVEULO define the full range of CV, in engineering units.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

If this block has a secondary, it fetches the secondary's input range through
BACKCALC and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).
Note: This block fetches the secondary's input range regardless of SECINITOPT
(that is, regardless of whether the secondary's initialization and override data will be
used).

The user has to set the CVEUHI and CVEULO such that it should be the same as
that of its secondaries XEUHI and XEULO respectively, when the secondary is
connected to RegSummer, else if there's no secondary, the CV ranges of
RegSummer block should follow its own XEU ranges. In case, the CVEU ranges
differ from the XEU ranges, then the results can be unexpected.

OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.

OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds
them, or another function block or user program attempts to store an OP value that
exceeds them. However, the operator may store an OP value that is outside these
limits.

OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. These are user-specified values.

The operator is prevented from storing an OP value that exceeds these limits.

OPTOL allows the user to configure a tolerance limit for the manually entered OP.
If the difference between new OP value and current OP value is greater the OPTOL
then confirmation is required from the user to store this new value.

Output bias
The user may specify a fixed bias to be added to the output. In addition, the function
block calculates a floating bias to ensure a bumpless transition after initialization or
mode change. For details, see the "Output Bias" section under Common Regulatory
Control Functions.
After initialization, this block calculates the floating bias as follows:
CV

= initialization value from the secondary

OPBIAS.FLOAT

R110
February 2014

CV - [K * [ K(1) * X(1) + K(2) * X(2) + K(3) * X(3) + K(4) *


X(4)] + OPBIAS.FIX]

Experion LX Control Builder Components Theory


Honeywell

709

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

where:
OPBIAS.FIX

= fixed output bias

OPBIAS.FLOAT

= floating output bias

Mode handling
This function block supports the Cascade and Manual modes:

If MODE = Cascade, X[1] input must be pulled from another function block.

If MODE = Manual, OP may be stored by the operator or a user program. (All


inputs are ignored.).

The inputs X(2) to X(4) have to be pulled from other function blocks irrespective of
whether MODE is Cascade or Manual.

This block requests all primaries to initialize after any mode-change.

Control initialization
Input X1 is an initializable input and initialization is accomplished with an internal
ramping bias. The Bias OPBIAS is made up of two components, OPBIAS.FIX and
OPBIAS.FLOAT, where OPBIAS.FIX is the operator entered bias and OPBIAS.FLOAT
is the internal bias component. The decay rate parameter OPBIAS.RATE specifies the
decay rate of the internal bias OPBIAS.FLOAT.
This block fetches initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one shot initialization requests to this block.
Note: SECINITOPT may be used to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:

Initializes its output:

If the initialization value received from the secondary is within the output limits
of this function block:

CV

Otherwise, CV is clamped to the appropriate limit.

= initialization value from the secondary

Builds an initialization request for the X(1) primary as follows:


INITREQ
710

= On
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

INITVAL

CV - [K*(XK(2)*X(2) + XK(3)*X(3) + XK(4)*X(4)) + OPBIAS.FIX]


K*XK(1)

Where:
OPBIAS.FIX

= Fixed output bias

= 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
INITVAL

CV - [K*(XK(2)*X(2) + XK(3)*X(3) + XK(4)*X(4)) + OPBIAS.FIX]


K*XK(1)

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

Override feedback processing


If this block is in a cascade strategy with a downstream Override Selector block, it will
receive override feedback data. The data consists of an override status, override feedback
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

711

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

value and an override offset flag. The status indicates if this block is in the selected or
unselected strategy (as determined by the Selector block). The offset flag only applies to
PID-type function blocks.
Note: SECINITOPT may be used to ignore override requests from the secondary.
When the override status changes from selected to unselected, this block does the
following:

Calculates a feedback value for its primary:

primary feedback =
CV - [K * (XK(2) * X(2) + XK(3) * X(3) + XK(4) * X(4)) + OPBIAS.FIX+ OPBIAS.FLOAT]
K*XK(1)

where:
OPBIAS.FIX

= Fixed output bias

OPBIAS.FLOAT

= Floating output bias

= Overall gain for CV

XK(1..4)

= Individual gain for each input

When only the X1 input is used:


primary feedback

CV - (OPBIAS.FIX + OPBIAS.FLOAT)

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
712

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

713

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

A Get of This Parameter . . .

Equals This . . .

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.

714

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .
Normal

R110
February 2014

Then, the Associated Parameter . . .


is free to move in either direction.

Experion LX Control Builder Components Theory


Honeywell

715

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

If the Value is . . .

Then, the Associated Parameter . . .

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. That is, every block upstream in a cascade
strategy will set its windup status (ARWNET and ARWOP) to 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, similar to proportional and derivative control.
But, windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.

If Any of the Following are True . . .


This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo.
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
716

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.20. REGSUMMER (Regulatory Summer) Block

If Any of the Following are True . . .


A secondary exists and its windup state
equals Hi.

Then, ARWOP Equals . . .


Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status does is to stop integral action in
one or both directions on PID blocks. For any other regulatory control type block,
ARWNET is not used for any kind of limiting. The ARWNET is computed as follows,
assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)
R110
February 2014

Hi

Experion LX Control Builder Components Theory


Honeywell

717

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

If Any of the Following are True . . .

Then, ARWNET Equals . . .

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On)
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

REGSUMMER parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the REGSUMMER block.

13.21 REMCAS (Remote Cascade) Block


Description
The REMCAS block provides automatic switching between a remote cascade and a
backup cascade. It is typically used with a PID that normally gets its set point from a
remote source, but sheds to a local source if there is communication failure. It looks like
this graphically:

718

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

If this block can communicate with both sources, it always selects the remote source. If it
loses communications with the remote, it switches to the backup source; and when
communications are restored, it automatically switches back to the remote.
You may force the unselected input to track the selected input through the TRACKING
option:

If TRACKING is On, this block continually initializes the unselected input. That is,
on each cycle, it requests the unselected primary to initialize and set its output to the
selected input value.

If TRACKING is Off, this block does not initialize the unselected input.

This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.
Each REMCAS block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

719

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block


assumes when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

720

External request for MODE switching.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked) . A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
High Limit (XEUHI) - Lets you specify the high input

range limit that represents 100% full scale input for the
block. The default value is 100.
Low Limit (XEULO) - Lets you specify the low input

range limit that represents 0 full scale input for the block.
The default value is 0 (zero).
X1 (XDESC[1]) - X1 input descriptor of up to 15

characters long.
X2 XDESC[2]) - X2 input descriptor of up to 15

characters long.
Enable Tracking Option (TRACKING) - Lets you select if

the unselected input to track the selected input or not.


The default selection is checked, that is, TRACKING is
ON.

R110
February 2014

When TRACKING is ON, the block only propagates


to the selected input.

Experion LX Control Builder Components Theory


Honeywell

721

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description

When TRACKING is OFF, the block propagates


changes in the windup status and override
feedback data to all inputs.

Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block is to ignore initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Timeout Time (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, that is, the timeout
function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME and the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block to assume upon a safety interlock


alarm. The selections are NO_SHED, SHEDHOLD,
SHEDLOW, SHEDHIGH, and SHEDSAFE. The default
selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NO_SHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
722

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.

Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, if the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, if the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, if the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

723

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond to. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value.
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. See the Output Bias section
for this function block for details. The default value is 0,
that is, no value is added.
Output Bias Rate (OPBIAS.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. 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.
Alarms

Type - Identifies the types of alarms this block supports.

Of course, these alarms also interact with other block


configuration options such as the Safety Interlock Option
(SIOPT) and Bad Control Option (BADCTLOPT). The
types are:
724

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. A check in the box means


the alarm is enabled. The default selection is a checked
or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, OPLOALM.SV) as a number between 0
to 15, with 15 being the most severe. This determines
the alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

725

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, which means
the alarm is set true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


726

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description
associated with this block's Control Module. It defines
how the FB will set the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block takes when the SCM goes into an abnormal state.


The Starting State Option (STARTOPT) applies when
the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

R110
February 2014

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC (not


applicable to this block).

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (not applicable to this


block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (not applicable to this block).

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate (not

Experion LX Control Builder Components Theory


Honeywell

727

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Configuration Tab

Description
applicable to this block).
Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

on the Option Type selected, lets you specify an output


or set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information.

Function
This block receives two input values (X1 and X2), as shown in the following figure. X1
comes from the remote source and X2 comes from the backup or local source. The block
performs timeout monitoring on both inputs, and the function block normally operates in
the Cascade mode. Under normal conditions, this block passes input from the remote
source to the output, without change. When the remote input times out, this block
automatically switches to the backup source, and changes the mode to Backup Cascade.
If both inputs timeout, this function block sets CV to NaN, which forces "Bad Control"
processing.
It does not matter where the sources for X1 and X2 reside.

728

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Set by operator
or user program
DATAACQ
P1

PV

Set by operator
or user program
DATAACQ
P1 PV

Remote
SP

PID1

PV

OP
X1 REMCAS2

Local/Backup
PID3
SP
PV

X2

OP

OP

AOC4

OP

Figure 33 Functional block diagram of typical remote cascade operation.

Configuration example
The following figure (Views A and B) and its companion callout description table show
a sample configuration that uses a REMCAS block to form a cascade control loop with a
backup primary loop for quick reference. The views in the following figure depict loaded
configurations in the Monitoring mode.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

729

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

View A - Remote Primary Control Loop

730

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

View B - Backup Primary Loop


Figure 34 Example of CB configuration using REMCAS block
The following table includes descriptions of the callouts in Views A and B of the figure
above.
Callout

R110
February 2014

Description

Experion LX Control Builder Components Theory


Honeywell

731

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

732

Callout

Description

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.

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.

Use the parameter connector function to connect the output (OP) from this
loop to the input (X1) of the REMCAS_1 block in another Control Module
(CM). See callout 9 in View B for the parameter connector to the X1 pin.
The default OP connection is exposed, but the implicit/hidden connection
function automatically makes a connection to a value/status parameter
(OPX/OPEUX) when it is required.

Typically, the Analog Input Channel (AIC) block supplying the input for the
backup/local primary loop (PID_BACKUP) is field wired to the same
location as the AIC for the remote primary loop (PID_PRIMARY).

Use the PV parameter connection to carry data and status from the analog
input to the PID block. The default PV connection is exposed, but the
implicit/hidden connection function automatically makes a connection to a
value/status parameter (PVVALSTS) when it is required.

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.

The INITMAN function remains ON in the PID_BACKUP block.

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Callout

Description

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.

Inputs
The REMCAS block requires two inputs - X1 and X2. X1 comes from the remote
source and X2 is from the backup or local source.

X1 and X2 are both initializable inputs.

X1 and X2 must be pulled from other function blocks; they cannot be stored
manually.

This block has two primaries. (There is one primary per initializable input.)

Input ranges and limits

You must specify an X-input engineering unit range, XEUHI and XEULO.
XEUHI and XEULO define the full range of the inputs; XEUHI is the value that
represents 100% of full scale, and XEULO is the value that represents 0%.

XEUHI and XEULO apply to both inputs (X1 and X2).

This block assumes both inputs are within XEUHI and XEULO; it applies no rangechecks.

Input descriptors
You can define a descriptor (name) of up to 15 characters for each input. The descriptors
reside in the XDESC parameter, and when an input is selected, the corresponding
descriptor is copied to SELXDESC.
SELXDESC is automatically updated when SELXINP changes.

Outputs
The REMCAS block has the following initializable outputs:

OP = Calculated output, in percent.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

733

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.
For example, if you connect the output from a REMCAS block (REMCAS.OP) to the set
point of a PID block (PIDA.SP), the implicit/hidden connection is made to
REMCAS.OPX to provide value/status data.)

Output ranges and limits

CVEUHI and CVEULO define the full range of CV, in engineering units.
If this block has a secondary, it brings the secondary's input range through
BACKCALCIN and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).
This block brings the secondary's input range regardless of SECINITOPT. That is,
regardless of whether the secondary's initialization and override data will be used.

OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.
OP will be clamped to these limits, if the algorithm's calculated result (CV) exceeds
them or another function block or user program attempts to store an OP value that
exceeds them. However, the operator may store an OP value that is outside these
limits.

OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.

734

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

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.

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism gets the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

735

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

A Get of This Parameter . . .

Equals This . . .

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block is loaded with
REVERSE OUTIND configured. The reversal of values will be done only on a
subsequent change to the OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95
and 10, respectively.

736

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.
Examples of OUTIND coordination with OPTDIR and CTLACTN parameters
The OUTIND, OPTDIR and CTLACTN parameters affect the view of OP parameters,
the OP value sent to the valve, and control action where the OP should increase or
decrease as a result of change in the error value.
The following example scenarios show how OUTIND on a Regulatory Control
(REGCTL) block can be used in conjunction with the Output Direction (OPTDIR)
parameter of an AOCHANNEL block to achieve the desired configuration. The Control

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

737

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Action (CTLACTN) parameter on the REGCTL block is normally chosen independent


of the OUTIND and OPTDIR values, so CTLACTN is not included in the examples.
For This Scenario . . .
Fail close valve; air to open - normal
case

Typical Settings Are . . .


REGCTL OUTIND = Direct
AOCHANNEL OPTDIR = Direct
REGCTL OP 0% translated to 4 mA

by the AO, corresponding to the valve


closed
REGCTL OP 100% translated to 20

mA by the AO, corresponding to the


valve open
Unpowered state of AO results in 0

mA and valve closed


Fail open valve; air to close - reversal
handled in AO channel

REGCTL OUTIND = Direct


AOCHANNEL OPTDIR = Reverse
REGCTL OP 0% translated to 20 mA

by the AO, corresponding to the valve


closed
REGCTL OP 100% translated to 4 mA

by the AO, corresponding to the valve


open
Unpowered state of AO results in 0

mA and valve open


Fail open valve; air to close - display
indications highlight reverse acting valve

REGCTL OUTIND = ReverseDispInd


AOCHANNEL OPTDIR = Direct
REGCTL OP 0% translated to 4 mA

by the AO, corresponding to the valve


open
REGCTL OP 100% translated to 20

mA by the AO, corresponding to the


valve closed
Unpowered state of AO results in 0

mA and valve open

738

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Mode handling
This block supports the Cascade, Backup Cascade, and Manual modes:

If the remote source (X1) is the currently selected input, the MODE is CAScade

If the backup source (X2) is the currently selected input, the MODE is Backup
CAScade

If the MODE is MANual, an operator or user program may store OP. In this case,
X1 and X2 are ignored.

Regarding mode-changes:

This block requests both primaries to initialize after any mode-change except
MANual to CAScade and CAScade to Backup CAScade.

Timeout monitoring
If the MODE is CAScade or Backup CAScade, this block performs timeout monitoring
on both inputs (X1 and X2). If either input value is not updated within a predefined
time(TMOUTTIME), the block invokes timeout processing as outlined in the following
section.
The maximum time between updates is specified by TMOUTTIME (in seconds)

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If the MODE is CAScade and an input times out, this block does the following :

If X1 times out, but X2 is good, the block:

sets the "input timeout" flag (TMOUTFL)

sets the MODE to Backup Cascade

sets the currently selected input (SELXINP) to X2

requests the X1 primary to initialize

If X2 times out, but X1 is good, the block:

R110
February 2014

requests the X2 primary to initialize


Experion LX Control Builder Components Theory
Honeywell

739

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

If X1 is good, then the MODE is CAScade and X1 is already the currently selected
input.

If both inputs timeout, the block:

sets CV to NaN, which forces a "Bad Control" condition. You specify what
actions to take on Bad Control through the BADCTLOPT parameter.

sets the currently selected input (SELXINP) to None

requests both primaries to initialize

If X1 times out, and the block sheds to Backup Cascade, it sets the Cascade Request flag
(CASREQFL). When CASREQFL is set, it means the block is waiting to return to the
Cascade mode, and will do so as soon as it gets a good X1 value.
Processing notes on CASREQFL:

This block only sets CASREQFL if the original mode was Cascade, the X1 input
times out, and TMOUTMODE = Backup Cascade.

You cannot set the CASREQFL. However, it can be cleared by setting the block's
MODE to MANUAL.

If the MODE was Cascade and it changed due to timeout, the block does the following
the next time it receives data from a primary:

If SELXINP is X2, and X1 is good, (that is, X1 just changed from bad to good) , the
block:

sets SELXINP to X1

changes MODE to Cascade

Input switching
You may force the unselected input to track the selected input through the TRACKING
option:

740

If TRACKING is On, this block continually initializes the unselected input. That is,
on each cycle, it requests the unselected primary to initialize and set its output to the
selected input value.

If TRACKING is Off, this block does not initialize the unselected input.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

When TRACKING is Off, this block propagates changes in windup status and overrides
feedback data to both inputs. When TRACKING is On, it only propagates to the selected
input (because the unselected input is in the initialized state).
For Override Processing, the Override Status from the Override Selector secondary block
is propagated only to the selected primary of the REMCAS block regardless of whether
the TRACKING option is Off or On. See the following Override Feedback Processing
section for more details.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.

Equations
The REMCAS block computes CV as follows:
CV

= X(n) + OPBIAS.FIX + OPBIAS.FLOAT

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)

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated
floating bias (OPBIAS.FLOAT). The purpose of the floating bias is to provide a
bumpless transfer when the function block initializes or changes mode.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the REMCAS block only applies OPBIAS.FLOAT to the output
for the later two conditions, when it is the first initializable block.)

R110
February 2014

When the function block starts up (that is, goes Active).

Experion LX Control Builder Components Theory


Honeywell

741

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

When the function block initializes (for example, the secondary requests
initialization).

When the mode changes to 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 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
CVUNBIASED

742

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

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, 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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

743

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Control Initialization
This block brings initialization requests from its secondary through BACKCALCIN. In
addition, the secondary may propagate one-shot initialization requests to this block.
You may use SECINITOPT to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:

initializes its output:


CV

builds an initialization request for the X1 primary as follows:

= initialization value from the secondary

INITREQ[1]

= On

INITVAL[1]

= CV - OPBIAS.FIX

Parameters are defined below.

builds an initialization request for the X2 primary:


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

Override feedback processing


If this block is in a cascade strategy with a downstream Override Selector block, it will
receive override feedback data. The data consists of an override status, override feedback
value and an override offset flag. The status indicates if this block is in the selected or
744

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

unselected strategy (as determined by the Selector block). The offset flag only applies to
PID-type function blocks.
You may use SECINITOPT to ignore override requests from the secondary.
When the override status changes from selected to unselected, this block does the
following:

Computes a feedback value for the selected primary:


feedback value for selected primary = BACKCALOUT.ORFBVALOPBIAS.FIX - OPBIAS.FLOAT

The unselected primary is propagated with the "not connected" status.

The Selected input of the REMCAS block gets the propagated ORFBSTS status of either
'Selected or Not-Selected' from the Override Selector secondary while the unselected
primary of the REMCAS block always gets non-connected status for Override Feedback
status by the REMCAS block, regardless of whether TRACKING is On or Off.

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. That is, every block upstream in a cascade
strategy will set its windup status (ARWNET and ARWOP) to HiLo.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

745

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type
function blocks use ARWOP to restrict integral control. When ARWOP contains a value
other than Normal, the PID block stops integral control in the windup direction. Integral
control continues in the other direction, as does proportional and derivative control. But,
windup status has no impact on proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and
recomputes its ARWOP. The conditions within the function block, such as output being
at its high limit, also affect the ARWOP. The ARWOP is computed as follows, assuming
the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).
A secondary exists and its windup state
equals HiLo.
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
746

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man).
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN.
This block is connected to a noninitializable primary.
The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be opposite of ARWOP.)

Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On).
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be opposite of ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

747

13. Regulatory Control


13.21. REMCAS (Remote Cascade) Block

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and Control Algorithm Block (CAB) programs.
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.

748

ARWNETIN or ARWOPIN
Parameter Is. . .

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

NORMAL

NORMAL

NORMAL

NORMAL

HI

HI

NORMAL

LO

LO

NORMAL

HILO

HILO

HI

NORMAL

HI

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

REMCAS parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the REMCAS block.

13.22 SWITCH Block


Description
The SWITCH block accepts up to eight initializable inputs and operates as a single-pole,
eight-position rotary switch. The switch position may be changed by the operator, a user
program, or another function block. It looks like this graphically.

You may force the unselected inputs to track the selected input through the TRACKING
option:

If TRACKING is On, this block continually initializes the unselected inputs. That
is, on each cycle, it requests the unselected primaries to initialize and set their
output to the selected input value.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

749

13. Regulatory Control


13.22. SWITCH Block

If TRACKING is Off, this block does not initialize the unselected inputs.

This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.
Each SWITCH block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line context
sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Control Equation (CTLEQN) - Lets you select Equation

A, B, or C to define how the block is to select an input.


The default selection is EQA, which means you must
store the number of the input to be selected to the
SELXINP parameter. See the Function and Equation
sections for this block for more details about the
equations.
Enable Tracking Option (TRACKING) - Lets you select if

the unselected input is to track the selected input or not.


The default selection is checked, that is TRACKING is
ON.

750

When TRACKING is ON, the block continually


initializes the unselected inputs. That is, the block

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
requests the unselected primaries to initialize and
set their output to the selected input value.

When TRACKING is OFF, the block does not


initialize the unselected inputs.

Enable Secondary Initialization Option (SECINITOPT) -

Lets you specify if the block ignores initialization and


override requests from the secondary or not. The default
selection is Enabled (checked, do not ignore).
Normal Mode (NORMMODE) - Lets you specify the

MODE the block is to assume when the Control to


Normal function is initiated through the Station display.
Selections are MANual, AUTOmatic, CAScade,
BackupCAScade, and NONE. All selections are not valid
for a given block. The default selection is NONE.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR and PROGRAM. The default selection is
NONE.
Mode (MODE) - Lets you set the block's current MODE.

The selections are MANual, AUTOmatic, CAScade,


BackupCAScade, NONE, and NORMAL. All selections
are not valid for a given block. The default selection is
MANual. MODE identifies who may store values to the
block's initializable inputs or output. Blocks strictly
enforce the MODE assignment. Some function blocks
perform automatic mode switching (or mode shedding),
while others require manual intervention. The block's
MODE is derived at "runtime" based on current
conditions. MODE processing checks for the following
conditions, and changes the block's MODE as
appropriate.

External request for MODE switching.

Safety interlock request.

Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

751

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
MANual.
Permit Operator Mode Changes (MODEPERM) - Lets

you specify if operators are permitted to make MODE


changes or not. The default is Enabled (checked). A
store to MODE does not change the NORMMODE.
Permit External Mode Switching (ESWPERM) - Lets you

specify if external MODE switching through user


configured interlocks is permitted or not, if you have at
least an Engineering access level. The default is
Disabled (unchecked).
Enable External Mode Switching (ESWENB) - Lets you

specify if external MODE switching through user


configured interlocks is enabled or not, if ESWPERM is
checked (Permitted). The default is Disabled
(unchecked).
Safety Interlock Option (SIOPT) - Lets you specify

MODE and OP block to assume upon a safety interlock


alarm. The selections are NO_SHED, SHEDHOLD,
SHEDLOW, SHEDHIGH, and SHEDSAFE. The default
selection is SHEDHOLD.
Bad Control Option (BADCTLOPT) - Lets you specify

MODE and OP block is to assume if CV goes BAD. The


selections are NO_SHED, SHEDHOLD, SHEDLOW,
SHEDHIGH, and SHEDSAFE. The default selection is
NOSHED.
Bad Output Connection Option (BADOCOPT) Lets you

specify a time delay for the regulatory control blocks to


shed the control mode in the event of an IO
communication loss. The selections are NaN, 0, and 1
60 seconds. The default selection is 0. This is
configurable only if the Enable Bad Output Connection
Option is enabled.
Enable Bad Output Connection Option

(BADOCOPTENB) Lets you to optionally enable the


functionality of specifying a time delay for the regulatory
control blocks to shed the control mode in the event of
an IO communication loss. The default selection is
Disable.
Input

High Limit (XEUHI) - Lets you specify the high input

range limit that represents 100% full scale input for all
752

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
the block inputs (X[1..8]). The default value is 100.
Low Limit (XEULO) - Lets you specify the low input

range limit that represents the 0 full scale input for all the
block inputs (X[1..8]). The default value is 0 (zero).
Time (sec) (TMOUTTIME) - Lets you specify a time in

seconds that must expire before the block assumes that


its input update has timed out. The block must be in
CAScade mode for it to monitor its primary input for
timeout. The default setting is 0, which means the
timeout function is disabled.
If the input is from a connection in another controller in a
peer-to-peer architecture, the actual timeout time equals
the configured TMOUTTIME and the CDA timeout time.
The CDA timeout time equals four times the configured
CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the
TMOUTTIME is 5 seconds, the actual timeout time for
the block is 4 times 100ms plus 5s or 5.4 seconds.
Description - Lets you enter up to a 15-character

description for each input (X[1..8]). The description is


stored in the XDESC[1..8] parameter and is copied to the
SELXDESC parameter when the corresponding input is
selected. This means SELXDESC is automatically
updated whenever SELXINP is updated.
Bad Input Option (BADINPTOPT[1..8]) - Lets you specify

whether the block is to include or ignore an input with


bad values in its selection process. The default selection
is INCLUDEBAD, which means the block's CV value is
set to NaN (Not a Number).
Output

High Limit (%) (OPHILM) - Lets you specify the output

high limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, if the CV range is 50
to 500 and you enter a High Limit of 90%, the high limit
in engineering units is 90% times 450 or 405 + 50
(CVEULO) equals 455. This check is not applied for a
function block that is in the MANual mode. The default
value is 105%.
Low Limit (%) (OPLOLM) - Lets you specify the output

low limit as a percent of the Calculated Variable range


(CVEUHI - CVEULO). For example, If the CV range is 50
to 500 and you enter a Low Limit of 10%, the low limit in
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

753

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
engineering units is 10% times 450 or 45 + 50
(CVEULO) equals 95. This check is not applied for a
function block that is in the MANual mode. The default
value is -5%.
Extended High Limit (%) (OPEXHILM) - Lets you specify

the output extended high limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of 106.9%, the extended high limit in
engineering units is 106.9% times 450 or 481.05 + 50
(CVEULO) equals 531.05. This check is not applied for a
function block that is in the MANual mode. The default
value is 106.9%.
Extended Low Limit (%) (OPEXLOLM) - Lets you specify

the output extended low limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). For
example, If the CV range is 50 to 500 and you use the
default value of -6.9%, the extended low limit in
engineering units is -6.9% times 450 or -31.05 + 50
(CVEULO) equals 18.95. This check is not applied for a
function block that is in the MANual mode. The default
value is -6.9%.
Rate of Change Limit (%) (OPROCLM) - Lets you

specify a maximum output rate of change limit for both


the positive and negative directions of the output in
percent per minute. This lets you prevent an excessive
rate of change in the output so you can match the slew
rate of the control element to the control dynamics. We
recommend that you configure this value before you tune
the loop, so tuning can accommodate any slow down in
response time caused by this rate limiting. This check is
not applied for a function block that is in the MANual
mode. The default value is Not a Number (NaN), which
means no rate limiting is applied.
Minimum Change (%) (OPMINCHG) - Lets you specify

an output minimum change limit as a percent of the


Calculated Variable range (CVEUHI - CVEULO). This
lets you define how much the OP must change before
the function block outputs a new value. It filters out
changes that are too small for the final control element to
respond. This check is not applied for a function block
that is in the MANual mode. The default value is 0, which
754

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
means no change limiting is applied.
Safe OP (%) (SAFEOP) - Lets you specify the safe

output value as a percent of the Calculated Variable


range (CVEUHI - CVEULO). For example, If the CV
range is 0 to 500 and you enter a Safe OP of 50%, the
safe output value in engineering units is 50% times 500
or 250. The default value is Not a Number (NaN), which
means the OP is held at its last good value. '
Output Bias (OPBIAS.FIX) - Lets you specify a fixed bias

value in engineering units that is added to the Calculated


Variable (CV) output value. 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.RATE) - Lets you specify an

output floating bias ramp rate in engineering units per


minute. This bias rate is only applied when the floating
bias in 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.
Alarms

Type - Identifies the types of alarms this block supports.

These alarms also interact with other block configuration


options such as the Safety Interlock Option (SIOPT) and
Bad Control Option (BADCTLOPT). The types are:

Safety Interlock (SIALM.FL)

Bad Control (BADCTLALM.FL)

OP High (OPHIALM.FL)

OP Low (OPLOALM.FL)

Enable Alarm (SIALM.OPT) - Lets you enable or disable

Safety Interlock alarm type. Check the alarm to enable it.


The default selection is a checked or enabled (Yes).
You can also configure the SIALM.OPT parameter as a
block pin, a configuration and/or a monitoring parameter
so it appears on the block in the Project and Monitoring
tree view, respectively.
Trip Point - Lets you specify the OP High Alarm

(OPHIALM.TP) and OP Low Alarm (OPLOALM.TP) trip


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

755

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
points in percent. The default value is NaN, which
disables the trip point.
Priority - Lets you set the desired priority level

individually for each alarm type (SIALM.PR,


BADCTLALM.PR, OPHIALM.PR, OPLOALM.PR). The
default value is LOW. The levels are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (SIALM.SV, BADCTLALM.SV,


OPHIALM.SV, OPLOALM.SV) as a number between 0
to 15, with 15 being the most severe. This determines
the alarm processing order relative to other alarms. The
default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set true. The default value is 0, that is the
alarm is set to true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.TM and
OPLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


756

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Uncmd Mode Change (UNCMDCHGALM) Lets you

specify if an alarm is to be notified in the alarm summary


whenever a mode shed happens in the event of an IO
communication loss. The selections are:

Enable An alarm is notified in the alarm summary


whenever a mode shed happens in the event of an
IO communication loss. The alarm returns to
normal state after you revert the mode setting
manually.

Disable An alarm is not notified whenever a mode


shed happens in the event of an IO communication
loss.

Note: This parameter is available for configuration only if


the Enable Bad Output Connection Option is enabled.
SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB set the state of the MODEATTR based upon
the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

None

ONESHOT

SEMICONT

CONTRTN

CONT

Option Type - Lets you specify the action the function

block takes when the SCM goes into an abnormal state.


The Starting State Option (STARTOPT) applies when
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

757

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description
the SCM state is Checking, Idle, or Complete. The
Stop/Abort State Option (STOPOPT) applies when the
SCM state is Stopping or Stopped, Aborting or Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold. The Restart State Option
(RESTARTOPT) applies when the SCM state is Resume
or Run. The NONE and LASTREQ are the only
selections for the Restart State Option. You can select
from one of these types for the other options as
applicable for the given regulatory control function block:

NONE - No changes.

MAN - Set MODEREQ = MANUAL.

AUTO - Set MODEREQ = AUTOMATIC (not


applicable to this block).

CAS - Set MODEREQ = CASCADE.

FIXEDOP - Set OPREQ = Configured Value.

HOLDPV - Set SPREQ = PV (not applicable to this


block).

FIXED SP - Set SPREQ = Configured Value and


SPRATEREQ = NaN (not applicable to this block).

RAMPEDSP - Set SPTVREQ = Configured Value


and SPRATEREQ = Configured Rate (not
applicable to this block).

Value (STARTVAL, STOPVAL, HOLDVAL) - Depending

on the Option Type selected, lets you specify an output


or set point value within the respective range. For output,
within OPLOLM to OPHILM and within SPLOLM to
SPHILM, for set point. The default value is NaN (Not a
Number).

758

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Configuration Tab

Description

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations
for regulatory control blocks for more information

Function
This block lets you select one input from as many as eight, and outputs from the selected
value. It provides these three methods for selecting an input:

Equation A. You store the number of the input to be selected to SELXINP.

Equation B. You set one of the selection flags (SELXFL[1..8]) to On. Each flag
corresponds to an input. The block turns all of the other flags Off and updates
SELXINP.

Equation C. You set or reset one of the selection flags (SELXFL[1..8]). The block
does not change any of the other flags. Instead, it scans all flags in ascending order
(1 to 8) and selects the first one that is On.

You can use this block to assign a different primary to a secondary. The example
configuration shown in the following figure has five primary PID blocks connected to a
SWITCH block. The active primary is selected by turning ON the corresponding
SELXFL[1..5] input or storing the appropriate number to the SELXINP input, depending
on the SWITCH block equation selected. The SELXINP parameter requires an integer
data type and is usually set by an operator. The default SELXINP value is 1 and you
cannot change it until the Control Module containing the SWITCH and primary blocks is
activated at least once in the Monitoring mode.
Please note that the configuration shown in the following figure is incomplete and is
intended to only give you an idea of the general construction of a typical SWITCH block
configuration.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

759

13. Regulatory Control


13.22. SWITCH Block

Figure 35 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 must turn ON the same
SELXFL input or store the same number to the SELXINP input on each SWITCH block.
760

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Please note that the configuration shown in the following figure is incomplete and is
intended to only give you an idea of the general construction of a typical multiple
SWITCH blocks configuration.

Figure 36 Example CB configuration using multiple SWITCH blocks to


assign a primary to a different secondary.

Inputs
The SWITCH block accepts up to eight inputs - X[1] through X[8].

X[1] through X[8] are initializable inputs.

The inputs must be pulled from other function blocks; you cannot store them.

This block may have two to eight primaries, depending on the number of inputs that
are configured. (There is one primary per initializable input.)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

761

13. Regulatory Control


13.22. SWITCH Block

Input ranges and limits

You must specify an engineering unit range for the X inputs, by entering values for
XEUHI and XEULO.

XEUHI and XEULO define the full range of the inputs. XEUHI is the value that
represents 100% of full scale, and XEULO is the value that represents 0%.

XEUHI and XEULO apply to all the X inputs.

This block assumes all the X inputs are within XEUHI and XEULO; it applies no
range checks.

Input descriptors
This block lets you define a 15-character descriptor (name) for each X-input. The
descriptors resides in the XDESC parameter, and when an input is selected, the
corresponding descriptor is copied to SELXDESC.

Initializable Outputs
"Initializable output" and "initializable input" are variable attributes, similar to data type
or access level. A variable with the "initializable" attribute has an associated
BACKCALC variable, and when a connection is created between an initializable input
and initializable output, you can also create a BACKCALC connection. Control Builder
automatically builds the required BACKCALC connections, so you don't have to create
them manually. These "implicit" build connections are "hidden" from view and the
related parameter pins are not exposed on the control chart.
For example, if you connect OP from a SWITCH block to SP on a PID block, Control
Builder automatically creates the BACKCALCOUT to BACKCALCIN connection.

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 noninitializable input, then this block does not have a secondary. (Note that the default OP
connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection
when required.

762

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

For example, if you connect the output from a SWITCH block (SWITCH.OP) to the set
point of a PID block (PIDA.SP), the implicit/hidden connection is made to
SWITCH.OPX to provide value/status data.)

Output ranges and limits

CVEUHI and CVEULO define the full range of CV, in engineering units.
If this block has a secondary, it brings the secondary's input range through
BACKCALCIN and sets its CV range to that. If it has no secondary, CVEUHI and
CVEULO track the X-input range (XEUHI and XEULO).
This block brings the secondary's input range regardless of SECINITOPT. That is,
regardless of whether the secondary's initialization and override, data will be used.

OPHILM and OPLOLM define the normal high and low limits for OP, as a percent
of the CV range. These are user-specified values.
OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds
them, or another function block or user program attempts to store an OP value that
exceeds them. However, the operator may store an OP value that is outside these
limits.

OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a
percent of the CV range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.

Mode handling
This block supports the Cascade and Manual modes:

If MODE = Cascade, all inputs are pulled from other function blocks.

If MODE = Manual, OP may be stored by the operator or user program; inputs are
ignored.

Regarding mode-changes:

This block requests all primaries to initialize when mode changes from CAScade to
MANual.

Timeout monitoring
If MODE is Cascade, this block performs timeout monitoring on all inputs (X[1..8]). If
an input value is not updated within a predefined time(TMOUTTIME), the block invokes
timeout processing as described in the next section.
The maximum time between updates is specified by TMOUTTIME (in seconds).
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

763

13. Regulatory Control


13.22. SWITCH Block

Enable timeout monitoring by setting TMOUTTIME to a non-zero value.

Disable timeout monitoring by setting TMOUTTIME to zero.

Timeout processing
If MODE is Cascade and an input times out, this block does the following :

Sets the "input timeout" flag (TMOUTFL)

Sets the input value to Bad (NaN)

Requests the input's primary to initialize


ATTENTION
This block does not support mode shedding on timeout.

Equations
The SWITCH block supports three methods for selecting an input - Equation A, B or C.
You configure this method through the parameter CTLEQN:

Equation A: You select an input by storing to SELXINP. (SELXINP identifies the


input to be selected.) When SELXINP is updated, equation A:

updates all selection flags (SELXFL[1..8]) accordingly. That is, it sets the flag
for the selected input to On, and turns all others Off.

copies the selected input's descriptor to SELXDESC.

calculates CV as follows:
CV = X(n) + OPBIAS.FIX + OPBIAS.FLOAT

Where:
OPBIAS.FIX = fixed output bias
OPBIAS.FLOAT = floating bias
X(n) = currently selected input (n = 1 to 8)

Equation A prevents you from storing to the selection flags (SELXFL[1..8]).


764

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Equation B: You select an input by setting one of the selection flags (SELXFL[1..8])
to On. When this occurs, equation B turns all of the other flags Off.
Following a store to any selection flag, equation B:

turns all other selection flags Off,

updates SELXINP and SELXDESC, and

calculates CV as noted above for Equation A.

Equation B prevents you from storing to SELXINP.

Equation C: You can set one selection flag On without causing the others to be
turned Off. You may store On or Off to any flag and the others are not affected.
Following a store to any selection flag, equation C:

scans all flags in ascending order - from SELXFL[1] to SELXFL[8],

selects the first input whose flag is On depending on following conditions:


if BADINPTOPT(i) = IgnoreBad, a "bad" input is not selected, it will be
ignored.
if BADINPTOPT(i) = IncludeBad, a "bad" input may be selected.

updates SELXINP and SELXDESC.

calculates CV as noted above for Equation A.

The input selection is changed by storing On or Off to the selection flags as follows:
SELX SELX SELX SELX SELX SELX SELX SELX
FL[1] FL[2] FL[3] FL[4] FL[5] FL[6] FL[7] FL[8]

Given Selection Flag States


Select Input...

On

NA

NA

NA

NA

NA

NA

NA

X[1]

Off

On

NA

NA

NA

NA

NA

NA

X[2]

Off

Off

On

NA

NA

NA

NA

NA

X[3]

Off

Off

Off

On

NA

NA

NA

NA

X[4]

Off

Off

Off

Off

On

NA

NA

NA

X[5]

Off

Off

Off

Off

Off

On

NA

NA

X[6]

Off

Off

Off

Off

Off

Off

On

NA

X[7]

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

765

13. Regulatory Control


13.22. SWITCH Block

SELX SELX SELX SELX SELX SELX SELX SELX


FL[1] FL[2] FL[3] FL[4] FL[5] FL[6] FL[7] FL[8]

Given Selection Flag States


Select Input...

Off

X[8]

Off

Off

Off

Off

Off

Off

On

"NA" means On or Off does not affect the input selection.


Equation C prevents you from storing to SELXINP.

Bad input handling


The BADINPTOPT[1..8] parameter specifies the Bad Input handling option (InlcudeBad
or IgnoreBad) on a per input basis. The block uses BADINPTOPT[1..8] in a consistent
manner, regardless of the configured equation - A, B, or C.
If the selected input "i" goes Bad (either the value being fetched is NaN, or the Switch
sets the value to NaN because of a timeout), then the Switch does the following, based
on the value of BADINPTOPT(i):
BADINPTOP = IncludeBad:
T(i)

CV is set to NaN,
the selected input does not change (no automatic
switching).

BADINPTOP = IgnoreBad
T(i)

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:

766

Equations A and B: The next input is the next highest-input according to input
number. For example, the next input for input # 1, X[1], is input #2, X[2]; the next
input for X[2] is X[3], and so on; the next input for the last used input of the block is
X[1] - if 5 inputs are used with the Switch, then the next input for X[5] is X[1].

Equation C: The Switch block will only automatically switch to an input whose
SELXFL(i) is On. The same "next" order is used with Equations A and B.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Bypass processing
You may explicitly ignore bad inputs when Equation C is selected as the control
equation. The following parameter supports this:
BADINPTOPT - Bad Input Option
Indicates if the block should include bad inputs (NaN) in the selection process.
BADINPTOPT has the following options:

IgnoreBad (Ignore bad inputs)

IncludeBad (Include bad inputs)

For this block, a bad input will cause CV to go bad. This means Bad Control.

Input switching
You may force the unselected inputs to track the selected input through the TRACKING
option:

If TRACKING is On, this block continually initializes the unselected input. That is,
on each cycle, it requests the unselected primary to initialize and set its output to the
selected input value.

If TRACKING is Off, this block does not initialize the unselected input.

When TRACKING is Off, this block propagates changes in windup status to all inputs.
However, for the unselected inputs, the Function Block Override Status (FBORSTS)
parameter value is always NotCon irrespective of whether TRACKING is On or Off.
When TRACKING is On, it only propagates to the selected input (because the
unselected input is in the initialized state).
For Override Processing, the Override Status is propagated to only the selected primary
of the SWITCH block regardless of whether the TRACKING option is Off or On. See
the following Override Feedback Processing section for more details.
This block provides bumpless switching by applying a floating bias to the output,
regardless of whether TRACKING is On or Off.

Output bias
The output bias (OPBIAS) is added to the algorithm's Calculated Value (CV) and the
result is stored in CV. CV is later checked against OP limits and, if no limits are
exceeded, it is copied to the output.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

767

13. Regulatory Control


13.22. SWITCH Block

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.

OPBIAS is recomputed under the following conditions to avoid a bump in the


output. (Note that the SWITCH 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 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 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). That is, the total bias will eventually equal
the OPBIAS.FIX , if you configure OPBIAS.RATE to ramp down
OPBIAS.FLOAT.

You may store to OPBIAS.FIX only if the function block is inactive or the MODE is
Manual; or if it is a PID or PIDFF function block with the CTLEQN set to E. When
you store to OPBIAS.FIX, the following occurs:

768

The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new
value.

The floating bias (OPBIAS.FLOAT) is set to zero.

The OPBIAS.FLOAT is calculated as follows.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

OPBIAS.FLOAT

= CVINIT - (CVUNBIASED + OPBIAS.FIX)

Where:
CVINIT
CVUNBIASED
OPBIAS.FIX

= initialization value received from the secondary


= unbiased calculated value (based on input from the
primary)
= 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.FLOAT = OPBIAS.FLOAT - (OPBIAS.RATE / cycles_per_Min)

Where:
cycles_per_min = number of times the function block executes per
minute (calculated)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

769

13. Regulatory Control


13.22. SWITCH Block

NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is calculated.
This means a bump in the output will occur, if the primary does not accept this block's
initialization value.

Error handling
If a selected input is bad, this block sets the CV to Bad (NaN), and leaves the Mode
unchanged.
When the selected input is again good, this block recalculates CV, and requests the
primary to initialize.

Control initialization
This block brings initialization requests from its secondary through BACKCALC. In
addition, the secondary may propagate one-shot initialization requests to this block.
You may use SECINITOPT to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:

initializes its output:


CV

= initialization value from the secondary

builds an initialization request for the selected primary as follows:


INITREQ(s)

= On

INITVAL(s)

= CV - OPBIAS.FIX

where:
(s)

770

= identifies the selected input

INITREQ(s)

= initialization request flag for the selected input

INITVAL(s)

= initialization value for the selected input

If TRACKING is On, this block also builds an initialization request for the
unselected primaries as follows:

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

INITREQ(n)

= On

INITVAL(n)

= CV - OPBIAS.FIX

where:
(n)

= identifies the unselected inputs

INITREQ(n)

= initialization request flag for the unselected inputs

INITVAL(n)

= initialization value for the unselected inputs

Override feedback processing


If this block is in a cascade strategy with a downstream Override Selector block, it will
receive override feedback data. The data consists of an override status; override feedback
value and an override offset flag. The status indicates if this block is in the selected or
unselected strategy.
You may use SECINITOPT to ignore override requests from the secondary.
When the override status changes from selected to unselected, this block does the
following:

Computes a feedback value for the selected primary:


feedback value for selected primary

= BACKCALCOUT.ORFBVAL OPBIAS.FIX - OPBIAS.FLOAT

Propagates the unselected primaries with "not connected" status.

The Selected input of the SWITCH block gets the propagated ORFBSTS status of either
'Selected or Not-Selected' from the Override Selector secondary while the unselected
primary of the SWITCH always gets non-connected status for Override Feedback status
by the Switch block, regardless of whether TRACKING is On or Off.
If this block and a primary are on the same node, this block propagates the override data
to the primary. If a primary is on a different node, this block stores the data in the
BACKCALC packet for that primary, which the primary brings on its next execution.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

771

13. Regulatory Control


13.22. SWITCH Block

Output Indication Function


This block supports the Output Indication (OUTIND) parameter that lets you specify
how the output (OP) parameter is accessed and whether display indications are shown on
the block's faceplate display.
You choose from the following configuration selections to tailor the block's output to
meet your particular operation and display requirements.
If OUTIND Enumeration
Selection Is . . .

Then, Its Function Is . . .

Direct
(This is the default selection,
so legacy OP values remain
the same.)

No value reversal - output range is 0 to 100 percent,


and no display indications - neither Closed nor Open
is shown at the 0 and 100 percent points on the OP
bar graph on the faceplate display.

Reverse

Value reversal - output range is 100 to 0 percent, and


no display indications - neither Closed nor Open is
shown at the 0 and 100 percent points on the OP bar
graph on the faceplate display

DirectDispInd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 0 and 100 percent points on the OP bar graph
on the faceplate display, respectively.

ReverseDisplnd

No value reversal - output range is 0 to 100 percent,


and display indications Closed and Open are shown
at the 100 and 0 percent points on the OP bar graph
on the faceplate, respectively.

ATTENTION
The OUTIND parameter has no affect on the block's control operation. The
CTLACTN parameter on the Algorithm tab still supports the output direction of
the block, the OPTDIR parameter on the Main tab for the AOCHANNEL block
form applies the conversion of OP to OPFINAL. You can manipulate the
DIRECT/REVERSE selections for the OUTIND, CTLACTN, and OPTDIR
parameters to meet your process and operator needs.

772

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Considerations for OUTIND Reverse selection


When you set the OUTIND parameter to its REVERSE selection, access to the
parameters listed in the following table by any data mechanism get the reversed value as
shown.
A Get of This Parameter . . .

Equals This . . .

OP

100.0 - Actual OP

OPEU

Engineering Units of (100.0 - Actual OP)

OPHILM

100.0 - Actual OPLOLM

OPEXHILM

100.0 - Actual OPEXLOLM

OPLOLM

100.0 - Actual OPHILM

OPEXLOLM

100.0 - Actual OPEXHILM

OPHIFL and OPLOFL

Reverse of Actual OPHIFL and OPLOFL

OPHIALM.TP

100 - Actual OPLOALM.TP

OPLOALM.TP

100 - Actual OPHIALM.TP

OPHIALM.PR and .SV, and


OPLOALM.PR and .SV

Reverse of Actual OPHIALM.PR and


.SV, and OPLOALM.PR and .SV

OPHIALM.FL and OPLOALM.FL

Reverse of Actual OPHIALM.FL and


OPLOALM.FL

OPHIALM.DB, .DBU, and .TM, and


OPLOALM.DB, .DBU, and .TM

Reverse of Actual OPHIALM.DB and


.DBU, and OPLOALM.DB and .DBU

OPROCPOSFL AND OPROCNEGFL

Reverse of Actual OPROCPOSFL and


OPROCNEGFL

SAFEOP

100 - Actual SAFEOP

STARTVAL, STOPVAL, HOLDVAL

100 - Actual STARTVAL, STOPVAL,


HOLDVAL
(Applicable only when corresponding
option is FixedOp.)

The user store of an OP related parameter is intercepted and reversed when OUTIND
equals REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 80, so the OPHILM parameter get will then view OPHILM = 100 - 20.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

773

13. Regulatory Control


13.22. SWITCH Block

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.

Migration and Checkpoint support for OUTIND


On Migration from an legacy block without the OUTIND parameter support, the
OUTIND parameter defaults to its DIRECT selection and the existing OP values remain
the same. On Migration from a block with OUTIND support, the OUTIND parameter
value will be restored after migration.
The OUTIND parameter value will also be preserved on checkpoint; restored on Ram
Retention Restart and there will be no bump of OP on WarmStart. Alarm regeneration on
WarmStart, will be supported for these situations similar to other parameters.
OP windup status considerations
The values of the Anti Reset Windup Status on Output (ARWOP) and related windup
parameters (ARWNET/ARWNETIN/ARWOPIN) will not be reversed when the
OUTIND parameter is set to REVERSE.
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the
high or low CEE Output Alarms are reversed. In the Alarm Summary display, the OP
values of the high alarms and the low alarms are swapped. The Output Alarms display
shall track the value of displayed output parameters. An OUTIND value of REVERSE,
shall show the limit and value subjected to reversal. For example, an OPHI alarm will
have the displayed trip limit set to 100 - (output low limit).
If the OUTIND parameter setting is changed:

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.
774

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

Windup processing
Every regulatory control type block maintains anti-reset windup status for its output
(ARWOP) and each of its initializable inputs (ARWNET). The following table lists the
possible values for ARWOP and ARWNET parameters.
If the Value is . . .

Then, the Associated Parameter . . .

Normal

is free to move in either direction.

Hi

is at its high limit and it may only be lowered.

Lo

is at its low limit and it may only be raised.

HiLo

may not move in either direction.

Manual Mode Interaction


When the MODE of a regulatory control block is changed to Manual (Man), the block
sets its windup status (ARWNET) to HiLo. This means that every block upstream in a
cascade strategy will set its windup status (ARWNET and ARWOP) to 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.
If Any of the Following are True . . .
This block is inactive.

Then, ARWOP Equals . . .


HiLo

A secondary exists but this block cannot


fetch secondary data from it
(communications or configuration error).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

775

13. Regulatory Control


13.22. SWITCH Block

If Any of the Following are True . . .

Then, ARWOP Equals . . .

A secondary exists and its windup state


equals HiLo
This block is in initialization (INITMAN =
On).
A secondary exists and it is requesting
this block to initialize.
A secondary exists and its windup state
equals Hi.

Hi

This block's output is at its high limit


(OPHIFL = On).
A secondary exists and its windup state
equals Lo.

Lo

This block's output is at its low limit


(OPLOFL = On).

ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated
to the primary. The only limiting anti-reset windup status ever does is to stop integral
action in one or both directions on PID blocks. For any other regulatory control type
block, ARWNET is not used for any kind of limiting. The ARWNET is computed as
follows, assuming the block has only one output or that it is not a FANOUT block.
If Any of the Following are True . . .
This block is inactive.

Then, ARWNET Equals . . .


HiLo

The ARWOP equals HiLo.


This block is in Manual mode (MODE =
Man)
The calculated value (CV) range
(CVEUHI / CVEULO) is NaN.
The CV is NaN
This block is connected to a noninitializable primary
776

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

13. Regulatory Control


13.22. SWITCH Block

If Any of the Following are True . . .


The ARWOP equals Hi
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

Then, ARWNET Equals . . .


Hi

The input from the primary is at a high


limit. For example, SPHIFL = On.
This block's output has reached its
positive rate-of-change limit
(OPROCPOSFL = On).
The ARWOP equals Lo
(Pid function blocks have a configurable
Control Action option (CTLACTN). If
CTLACTN = Reverse , ARWNET will
track ARWOP; but if CTLACTN = Direct ,
ARWNET will be the opposite of
ARWOP.)

LO

Input from the primary is at a low limit.


For example, SPLO.FL = On.
This block's output has reached its
negative rate-of-change limit
(OPROCNEGFL = On)

Anti-Reset Windup Status


The anti-reset windup network in (ARWNETIN) and anti-reset windup output in
(ARWOPIN) parameters are added in the standard anti-reset windup (ARW)
computation logic. They are user configurable and allow stores from Sequential Control
Modules (SCMs) and Control Algorithm Block (CAB) programs.
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. . .
R110
February 2014

Standard Computation
Logic Is . . .

ARWNET or ARWOP
Parameter Is . . .

Experion LX Control Builder Components Theory


Honeywell

777

13. Regulatory Control


13.22. SWITCH 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

HI

HI

HI

HI

LO

HILO

HI

HILO

HILO

LO

NORMAL

LO

LO

HI

HILO

LO

LO

LO

LO

HILO

HILO

HILO

NORMAL

HILO

HILO

HI

HILO

HILO

LO

HILO

HILO

HILO

HILO

SWITCH parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the SWITCH block.

778

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.1 Auxiliary Function Blocks
Functional Overview
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 only be used with C300 Controllers.

Block

Function

Description

AUXCALC
(Auxiliary
Calculation)
Block

Compute a PV value

Lets you create custom algorithms by


writing up to eight expressions. Each
expression can contain any valid
combination of inputs, operators and
functions; and may perform arithmetic or
logic operations, test conditions, and so
on. Optionally, it can accept up to six
inputs.

AUXSUMMER
(Auxiliary
Summer) Block

Calculate a PV value
from up to ten inputs

Lets you configure up to ten inputs to


provide an overall result that can be
scaled and biased.

CTUD (Counter
Up/Down) Block

Counts the inputs values

Lets you configure the algorithm to start


functioning according to the status of
the count on level flag (CNTLVLFL).

DEADTIME
Block

Delay processing of input Lets you specify a fixed or a variable


value changes
"dead-time" before a change in input
value is calculated as a corresponding
change in PV.

ENHAUXCALC
(Enhanced
Auxiliary
Calculation)

Provide enhancements to Expands existing arrayed input


parameters PSTS and P from six to
AUXCALC block
ten.
functions

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

779

14. Auxiliary Functions


14.1. Auxiliary Function Blocks

Block

These arrayed parameters are added

to correspond to each of the ten


inputs.
Input Description

Scaling Factor

Enable/Disable Switch

PSUB Substitute Parameter

PP Scaled Input

ENHGENLIN
(Enhanced
General
Linearization)
Block

Generate a linearization
output for an input with
non-linear characteristics
and value of the
ACTLINSEG parameter.

Computes an output value in PV as a


function of values in inputs P1 and
ACTLINSEG based on configuration in
linearization segment table. Typically
used to provide a linearized PV (in
engineering units) for a sensor actuator,
or process with nonlinear
characteristics.

FLOWCOMP
(Flow
Compensation)
Block

Operates on
uncompensated flow
measurements of liquids,
steam, gases or vapors.

Computes a flow compensation factor


based on variations in parameters like
temperature, pressure, specific gravity,
and molecular weight. The block derives
a compensated flow value as its output.

GENLIN
(General
Linearization)
Block

Generate a linearized
Computes an output value that is a
output for an input with
user-defined function of the input. You
non-linear characteristics. may define 2 to 13 coordinates, which
together, approximate a continuous
non-linear function. Typically used to
provide a linearized PV (in engineering
units) for a sensor with nonlinear
characteristics.

LEADLAG Block

780

Provide lead and lag


compensation

Provides lead and lag compensation to


a change in input value calculation for
corresponding change in PV.

ROC (Rate of
Change) Block

Limits the rate of input


and provides the output
variable based on the
rate trip limits

Provides computational block intended


for use on the input side of function
blocks for limiting the input variable to
the block (typically SP).

SIGNALSEL
(Signal Selector)

Select one of up to six


input signals or calculate
the average of a set of

The Signal Selector function block


accepts as many as six input signals,
and may be configured to do one of the

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.2. AUXCALC (Auxiliary Calculation) Block

Block

inputs

following on these inputs:


Select the input with the minimum value.
Select the input with the maximum
value.
Select the median input.
Calculate the average of the inputs.
Select an input based on the value of an
external control signal; that is, act as a
multiplexer. With this option, the
function block accepts two to six inputs

TOTALIZER
Block

Accumulate total flows

Periodically adds an input value to an


accumulator value, sets status flags to
indicate when accumulator value is near
user-specified target values ("near",
"nearer", "actual target value"). Typically
used to accumulate total flows. Block
also supports warm restarts.

Common auxiliary block functions


Listed below are the major functions performed by auxiliary function blocks along with a
brief functional description. Functional descriptions for each block are given in the
following subsections.
Major Function

Description

Input Processing

Auxiliary blocks get input data from other function blocks.


Input processing gets this data, checks that its valid, and
updates the appropriate block parameters.

Algorithm Calculation

This involves calculations that are unique to each block.


The result or output is stored in PV.
Depending of the particular Auxiliary block, additional
functions may be included.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

781

14. Auxiliary Functions


14.2. AUXCALC (Auxiliary Calculation) Block

14.2 AUXCALC (Auxiliary Calculation) Block


Description
The AUXCALC (Auxiliary Calculation) block lets you write up to eight expressions for
computing a PV value. Each expression may perform arithmetic or logic operations, test
conditions, etc. Status information is made available for both the inputs, as well as the
expression results. Through configuration, you can assign the result of an expression, a
status, or an input to PV and PVSTS parameters. It looks like this graphically.

Function
The AUXCALC block evaluates user-defined expressions and conditions to compute the
desired output and status for the control strategy.
As shown in the following figure, the block may bring values from up to six inputs and
determines their statuses in every execution cycle of the Control Module. It evaluates up
to eight expressions and determines their statuses. It derives values for PV and PV status
based on the configuration choices for the PVSRC and PVSTSSRC block parameters.
You can enter expression strings and configure PV and PV status selections at build time
before the CM is loaded. The block performs syntax checking and conversion of the
expression string during entry. If any errors are detected, they are displayed to inform
you of the problem. You must re-enter the string to correct the error. You can only enter
an expression in the Project tab during block configuration. You cannot change an
expression online in Monitoring tab.
The block checks and accepts other configuration parameters when the Control Module
is active. If there are any invalid entries, it generates appropriate error messages to help
identify the cause.

782

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.2. AUXCALC (Auxiliary Calculation) Block

Fetch Analog Inputs


and Statuses

Calculate Expressions
and Derive Their Statuses

Derive Final PV and


PV Status Values
Figure 35 AUXCALC block major functions

Configuration example
The following figure shows a sample configuration that uses an AUXCALC block to
provide square root characterization for the analog input. The AIC block always provides
values in the range of 0 to 100. You can use the AUXCALC block to provide range
conversion, if required. In this example, expression number 1 is configured as follows
and C[1] is assigned to the PV output. The view in the following figure depicts a loaded
configuration in Monitoring mode.

exprn# 1 is: SQRT(PIDLOOP1.AUXCALC2.P[1])

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

783

14. Auxiliary Functions


14.2. AUXCALC (Auxiliary Calculation) Block

Figure 37 Example CB configuration using AUXCALC block for range


conversion.

Input
This function block accepts as many as six inputs (P[1..6]):

784

All inputs are optional.

Must fetch all inputs from other function blocks.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

14. Auxiliary Functions


14.2. AUXCALC (Auxiliary Calculation) Block

The number of process input connections are equal to the number of inputs; the
default is 1.

Output
This block produces the following outputs:

PV and its status, PVSTS

As many as eight expression results (C[1] through C[8]) and their statuses

Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. You can also write a short descriptive
text for each expression. Table 1(Expressions) in the REGCALC block section lists the
expression operators and functions supported by this block for reference.

Parameters in Expressions
You must specify a parameter by its full tag name (for example.
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression.
Expression descriptor parameters (EXPRDESC[1..8]) are used with the expression
constant parameters (CONST[1..8]) for providing a short description for the expressions.
The EXPRDESC[1..8] parameter can be modified only during the strategy configuration,
and is available even if CONSTENABLE is set to FALSE.
The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:

TagName.'text'

TagName is the name of the external reference component (that is, an OPC Server). Text
can contain any characters, space, and special characters except for the delimiter
character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

785

14. Auxiliary Functions


14.2. AUXCALC (Auxiliary Calculation) Block

responsibility to ensure that the text is something that the external reference component
understands. If this text is incorrect runtime errors occurs.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.

Guidelines for Writing Expressions

Must include full tag.parameter name for P inputs in the expression and enclose
identification number in brackets instead of parenthesizes. For example,
CM151.AUXCALC BLOCK.P[1] CM151.AUXCALC BLOCK.P[2] is valid.

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], and so on. 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.

ATTENTION
The constant values can be directly configured (using CONST[1..8]) in the
Calculator blocks and a short description for the expressions can also be
provided (using (EXPRDESC[1..8]).
786

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.3. AUXSUMMER (Auxiliary Summer) Block

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.

Assignable Outputs
Produces these outputs according to the values you assign to them.

PV and its status PVSTS

Up to eight expression results (C[1] to C[8]) and their statuses

You can assign an input, expression, result, or status value to PV and PVSTS through
block configuration. For example, you may assign the result of the second
expression(C[2]) to PV. You may also assign inputs directly to outputs; for example,
P[1] can be assigned to PV, and P[2] can be assigned to PVSTS.

AUXCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the AUXCALC block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

787

14. Auxiliary Functions


14.3. AUXSUMMER (Auxiliary Summer) Block

14.3 AUXSUMMER (Auxiliary Summer) Block


Description
The AUXSUMMER (Auxiliary Summer) block lets you configure up to ten separate
inputs to calculate a process variable (PV) value that can be scaled and biased. Status
information is made available for each input, as well as the PV value. Through
configuration, you can define a scale factor, bias value, and description for each input.
You can also choose to disable an input. All inputs are enabled by default. It looks like
this graphically.

Function
The AUXSUMMER block uses the following equation to calculate the PV value based
on up to ten configured inputs.
PV = CPV
Where:

{((C [1]

P[1]) + D [1] ) + ... ((C [i]

P[i] )+ D [i] )} + DPV

CPV = Overall scale factor for PV


DPV = Overall bias for PV
C [i] = Scale factor for input 'i'
D [i] = Bias for input 'i'
P [i] = Input value 'i'
i = 1 to 10

788

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.3. AUXSUMMER (Auxiliary Summer) Block

The AUXSUMMER block brings values from other function blocks and determines their
statuses in every execution cycle of the Control Module. It evaluates up to ten inputs and
determines their statuses. It derives values for PV and PV status based on its calculation
of the inputs and the configuration entries for the overall PV scale factor (CPV) and
overall PV bias factor (DPV) parameters.
You can also choose to disable an input (PENABLE[1..10]) and define a substitute value
(PSUB[1..10]) for the disabled input.

Configuration parameters
The following table provides a summary of the AUXSUMMER specific parameters that
you can configure through the Main tab of the block's properties form in Control
Builder. You must have an access level of at least Engineer to enter or modify values for
these parameters. The table does not include descriptions of the common parameters
such as block name and description.
Title

Parameter Name

Description

PV Display Format

PVFORMAT

Lets you define the decimal format to be used


to display the PV value. The choices are D0
(None), D1 (One), D2 (Two), or D3 (Three).
The default value is D1.

Overall Scaling
Factor for PV

CPV

Lets you define the scaling factor to be applied


to the PV value to meet your process
requirements. This parameter can be changed
at any time and can be changed by another
block in the same Control Module or another
one, if desired. The default value is 1.

Overall Bias for PV

DPV

Lets you define the bias factor to be applied to


the PV value to meet your process
requirements. This parameter can be changed
at any time and can be changed by another
block in the same Control Module or another
one, if desired. The default value is 0.

Input Description

PDESC[1..10]

Lets you define a specific description for each


input. This parameter can only be changed in
the Project mode in Control Builder before the
block is loaded or re-loaded.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

789

14. Auxiliary Functions


14.3. AUXSUMMER (Auxiliary Summer) Block

Title

Parameter Name

Description

Enable/Disable
Switch

PENABLE[1..10]

Lets you enable or disable a given input for the


block. This parameter can be changed at any
time and can be changed by another block in
the same Control Module or another one, if
desired. The default value is Enabled or On.

Scaling Factor for


Inputs

C[1..10]

Lets you define a scaling factor for the given


input to meet your calculation requirements.
This parameter can be changed at any time
and can be changed by another block in the
same Control Module or another one, if
desired. The default value is 1.

Input Substitute
Value

PSUB[1..10]

Lets you define a substitute value to be used


for the corresponding disabled input (P[1..10]).
This parameter can be changed at any time
and can be changed by another block in the
same Control Module or another one, if
desired. The default value is NaN (Not a
Number).

Bias Values for


Inputs

D[1..10]

Lets you define the bias value to be applied to


the corresponding input (P[1..10]). This
parameter can be changed at any time and can
be changed by another block in the same
Control Module or another one, if desired. The
default value is 0.

Number of Process
Input Connections

NUMPINPT

This is a read-only parameter that shows the


number of inputs connected to the block. This
parameter does not appear on the Main tab. It
can be configured as monitoring parameter on
the face of the block.

Configuration example
The following figure shows a sample configuration that uses an AUXSUMMER block to
fetch three separate inputs and calculate a PV value for a NUMERIC block.
You can use the AUXSUMMER block to find the rate at which a component of a raw
product is entering a process unit by summing the proportion of the component in each
of several input streams and by multiplying the stream flow rates.

790

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.3. AUXSUMMER (Auxiliary Summer) Block

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.

Figure 38 Example CB configuration using AUXSUMMER block to


calculate PV based on three inputs.

Input
This function block accepts as many as ten inputs (P[110]).

At least one input (P[i]) must be configured for the block to operate.

All inputs must be fetched from other function blocks.

The number of process input connections (NUMPINPT) that can be made to other
blocks is equal to the number of inputs. The default is 1.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

791

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Output
This block produces the following outputs:

PV and its status, PVSTS.

Error handling
If the status of at least one input is bad, the block sets PVSTS to Bad and PV to NaN. If
PENABLE[i] is disabled, then the input P[i] equals the value configured for the PSUB[i]
parameter.
Even if there are no inputs with a bad value (NaN), and the status of at least one of the
inputs is Uncertain, the block sets PVSTS to Uncertain.
If at least one input is not connected, the following error message will be returned while
loading At least Input one needs to be connected.

Restart or point activation


On a warm restart or when the AUXSUMMER block is inactivated the input P[i] is set to
NaN and its Status PSTS[i] is set to BAD.

AUXSUMMER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the AUXSUMMER block.

14.4 CTUD (COUNTER UP/DOWN) Block


Description
A new general purpose Up-Down Counter (CTUD) is introduced in the Auxiliary library
to simplify event count strategies. The CTUD Block supports pause (PAUSEFL), load
(LOADFL) and reset (RESETFL) operation for the counter. The input values are fetched
through wired connection from another function block, by a program, SCM, or CAB. In
addition, CTUD blocks may be cascaded to form larger counters.
The CTUD block can be used with the following control execution environments.

792

C300 Controller

SIM-C300
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

CTUD block is graphically represented in the following figure.

Function
The CTUD block is an up-down counter function block. The counter of the CTUD block
can change its state in either direction (Up or Down) depending on the configuration of
Count Up Flag (CNTUPFL) and Count Down Flag (CNTDNFL) parameter.
Internal counter value pre-load and comparison operations depends on a valid IN
(ININT32/INFLOAT64) configuration if the input is fed through a wired connection.
The Count Up Flag and Count Down Flag are evaluated as edge trigger or level trigger
quantities depending on the value configured for the Count On Level flag (CNTLVLFL)
parameter.
The CTUD Block supports pause (PAUSEFL), load (LOADFL) and reset (RESETFL)
operation for the counter.
ATTENTION
Counter equation selection (CNTEQN): Equation A is selected as the default
equation. You can select any equation based on your control strategy
requirements.

Inputs
CTUD block accepts the following input format.

Integer 32

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

793

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Float 64

Boolean

Enumeration

By default, FLOAT64 input format is supported.


Selecting ININT32/FLOAT64 input
By default, INFLOAT64 parameter is set as active. However, you can select which IN
parameter can be used for counter pre-load or comparisons by configuring the Input
Specifier parameter (SELINT32FL) parameter.

If SELINT32FL is set to FALSE, the float input (INFLOAT64) is used.

If SELINT32FL is set to TRUE, the integer input (ININT32) is used.

Storing input values


The following list illustrates how the different input values are stored.

Boolean value

If the input is 0, it is stored as 0.

If the input is non-zero and the input clamping option INCLAMPOPT is


TRUE, the input is stored as 1. Otherwise, an error is displayed.

Integer value

Full ranges of signed integer values (- 2,147,483,648 to + 2,147,483,647) are accepted.

Floating point value

INCLAMPOPT parameter determines whether special handling is required for out of


range values or invalid FLOAT64 values.
For more information on clamping float input parameter values (INFLOAT64), refer to
Input clamping for INFLOAT64 table.

Enumerations

The input values are clamped to the range of acceptable enumeration values.
Note: The valid enumeration values are clamped to a range of acceptable enumeration
values.
794

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Input clamping for INFLOAT64


If the selected input is in floating point format, the INCLAMPOPT is consulted to
determine whether special handling is required for out of range or invalid input values.
Value clamping, truncation, or substitution is illustrated in the following table.
Input fetched or
tried to store
(INFLOAT64)

INCLAMPOPT
status

+Infinity

TRUE

2,147,483,647.0

2,147,483,647

2,147,483,647

+Infinity

FALSE

NaN

Retain previous
internal counter
value and never
load the counter.

The limit
comparison is
always FALSE
(NaN).

Greater than
2,147,483,647.0

TRUE

2,147,483,647.0

2,147,483,647

2,147,483,647

Greater than
2,147,483,647.0

FALSE

NaN

Retain previous
internal counter
value and never
load the counter.

The limit
comparison is
always FALSE
(NaN).

Between
2,147,483,648.0
and
+2,147,483,647.0

TRUE/FALSE

Float value is
truncated to
integer equivalent.

Float value is
truncated to
integer
equivalent, then
cast to INT32.

Float value is
truncated to
integer
equivalent, then
cast to INT32.

Less than
2,147,483,648.0

TRUE

2,147,483,648.0

2,147,483,648

2,147,483,648

Less than
2,147,483,648.0

FALSE

NaN

Retain previous
internal counter
value and never
load the counter.

The limit
comparison is
always FALSE
(NaN).

-Infinity

TRUE

-2,147,483,648.0

-2,147,483,648

-2,147,483,648

-Infinity

FALSE

NaN

Load inhibited.

NaN

NaN

TRUE/FALSE

NaN

Retain previous
internal counter
value and never
load the counter.

The limit
comparison is
always FALSE
(NaN).

R110
February 2014

FLOAT64 value

Value for
Counter load
operation

Experion LX Control Builder Components Theory


Honeywell

Value for limit


checking

795

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Pause, Load, and Reset parameters

Pause (PAUSEFL) When this parameter is set to TRUE, the CTUD stops
counting.

Load (LOADFL) When this parameter is set to TRUE, the CTUD output value
(OUTIINT32/OUTFLOAT64) assumes the value of the IN parameter value
(INIINT32/INFLOAT64). For example, if the IN value (INIINT32/INFLOAT64) is
60, and the LOADFL is set to TRUE, the CTUD output value
(OUTIINT32/OUTFLOAT64) is set to 60.

Reset (RESETFL) When this parameter is set to TRUE, the CTUDs counter
value is set to zero.
ATTENTION
If RESETFL and LOADFL flags are set to TRUE at the block execution time,
the internal counter value is set to zero.

Outputs
The output can be fetched through a wired connection or read directly by a program.
Counter output values are available in Float64 and Integer32 formats. Float 64 value is
the floating point equivalent of the 32 bit integer internal count.

Edge or Level trigger mechanism


The Up and Down count input flags (CNTUPFL and CNTDNFL) can be evaluated as
edge trigger quantities or level quantities depending on the value of the count level flag
parameter, CNTLVLFL.
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.

796

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Figure 39 Example CNTUPFL parameter configuration using edge-triggered


The following diagram displays how the transition occurs in case of edge-trigger.

Figure 40 Example diagram for edge-triggered


ATTENTION
Input edge detection on the count up and count down 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
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

797

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

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
increments when the CNTUPFL is set to TRUE.. The counter value decrements when
the CNTDNFL is set to TRUE. The count input flag (CNTDNFL or CNTUPFL) is
cleared after the block execution. This allows for the recognition of individual
asynchronous value stores from programs, SCMs, CABs, or the Push block in between
counter block executions. The level value from wired input connections is fetched and
recognized each block execution even though Control Builder displays the cleared
input value.
ATTENTION
For wired connections, a visual mismatch or value mismatch between the
sourcing end of the connection and the receiving end of the connection for
up-down flags (CNTDNFL/ CNTUPFL) can be observed.

The following is an example configuration figure for level-triggered count.

Figure 41 Example CNTUPFL parameter configuration using level-triggered


798

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

The following diagram displays how the transition occurs in case of level trigger.

Figure 42 Example diagram for level-triggered

Supported algorithms
The CTUD block supports the following algorithms.
Equation A

Equation B

Equation C

Equation D

Equation E

Equation F

Equation G

Equation H

The internal counter overflow, underflow, and rollover behavior is governed by which
counter algorithm has been specified.

Counter overflow and underflow conditions


The following table lists the range of each equation, scenarios in which the counter
overflow and underflow conditions occur, and also the results of these conditions for
each equation.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

799

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Algorithm

Range

Overflow conditions
and results

A, B, E, F

2,147,483,647 to
+2,147,483,647

Condition: If the

counter value is
greater than
+2,147,483,647.

Underflow conditions
and results
Condition: If the

counter value is lesser


than -2,147,483,647.
Result: The Counter

Result: The

value is set to the


+2,147,483,647 and
the counter operation
continues.

Counter value is
set to the 2,147,483,647
and the counter
operation
continues.
C

D
Note: This
equation
requires
IN >0 for
counting
correctly

800

0 to
+2,147,483,647

0 to IN

Condition: If the

counter value is
greater than the
value
+2,147,483,647.

Result: The
counter value is
set to zero and
continues the
operation.

Condition: If the
counter value is
greater than the
IN parameter
values
(ININT32/INFLOA
T64).

Condition: If the

counter value is lesser


than zero.
Result: The counter

value is set to
+2,147,483,647 and
continues the
operation.

Condition: If the

counter value is lesser


than zero.
Result: The counter

Result: The
Counter value is
set to zero and
continues the
operation.

Experion LX Control Builder Components Theory


Honeywell

value is set to the IN


parameter values
(ININT32/INFLOAT64)
and continues the
operation.

R110
February 2014

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Algorithm

Range
2,147,483,648
to 0

IN to 0.

H
Note: This
equation
requires
IN < 0 for
counting
correctly.

Overflow conditions
and results

Condition: If the
counter value is
greater than zero.

Result: The
Counter value is
set to 2,147,483,647
and continues the
operation.

Condition: If the
counter value is
greater than the
IN value
(ININT32/INFLOA
T64).

Result: The
counter value is
set to the IN value
(ININT32/INFLOA
T64) continues
the operation.

Underflow conditions
and results

Condition: If the
counter value is
lesser than 2,147,483,647.

Result: The Counter


value is set to zero
and continues the
operation.

Condition: If the
counter value is lesser
than the IN parameter
(ININT32/INFLOAT64)
value.

Result: The counter


value is set to zero
continues the
operation.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

801

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

Monitoring counter using QUFL and QDFL


The following table illustrates the scenarios in which the QUFL or QDFL parameters are set for
each algorithm.
Algorithm

802

QUFL (TRUE)

QDFL(TRUE)

OUT >= IN

OUT <= 0

OUT >= IN

OUT ==-2,147,483,648

OUT >= IN

OUT == 0

OUT == IN

OUT == 0

OUT >= 0

OUT <= IN

OUT == +2,147,483,647

OUT <= IN

OUT == 0

OUT <= IN

OUT == 0

OUT == IN

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

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.

Effects of restart or point activation on CTUD


The counter flag outputs are held on inactivation, Warm Start, and RAM Retention
Restart (RRR). The floating point output is initialized to NaN to match the failsafe value
to downstream blocks on communication loss. For an inactive counter, or a counter
undergoing Warm restart or RRR, the previous value is held and can be retrieved. The
integer output is defaulted to zero and retains its previous value on inactivation, Warm
Start, and RRR.

Effects of Import or Export on CTUD


The counter function block strategies can be imported or exported to files using
command line, program, and Windows import/export tools.

Effects of Checkpoint operations CTUD


The counter function block structural data is handled in a similar manner to other
function blocks for load and Checkpoint Restore. Loading order of structural data is

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

803

14. Auxiliary Functions


14.4. CTUD (COUNTER UP/DOWN) Block

designed to accommodate interrelated parameters without warnings for valid data load in
anticipation of following related information, as displayed in the table.
Initialization Values after Checkpoint Restore
Parameter Name

Value

Input Parameters
ININT32

INFLOAT64

0.0

Count Flags
CNTUPFL

FALSE (0)

CNTDNFL

FALSE (0)

RESETFL

FALSE (0)

PAUSEFL

FALSE (0)

LOADFL

FALSE (0)

Configuration parameters
CNTLVLFL

Configuration entry

CNTEQN

Configuration entry

SELINT32FL

Configuration entry

INCLAMPOPT

Configuration entry

Output Flags
QDFL

FALSE (0)

QUFL

FALSE (0)

CARRYUPFL

FALSE (0)

CARRYDNFL

FALSE (0)

Output parameters

804

OUTINT32

OUTFLOAT64

NaN

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.5. DEADTIME Block

Parameter error handling

The CTUD evaluates parameter stores on two levels,

User entries from Property dialogs boxes are assessed against entry limits and
immediately reported.

Parameter stores that occur from load, Checkpoint Restore, Program operations,
or normal fetch operations are assessed in the store methods and error or
warning return values are supplied.

Warnings or errors that occur during load or Checkpoint Restore, and parameter
store are displayed in a dialog box and stored in the Error log.

Warnings are displayed while storing out-of-range or NaN floating point values.

You can see errors while entering configuration values or dialog entry failures due
to access lock. (For example, while trying to store a parameter with insufficient
access level.)

Error or warning is notified to the entity, (can be SCM, PushBlock, program store,
and so on) which provides an invalid input to the counter function block.

CTUD parameters
REFERENCE INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the CTUD block.

14.5 DEADTIME Block


Description
The DEADTIME block provides a user configurable fixed or variable dead-time delay in
processing changes in its input (P1). The variable dead-time function varies as the
inverse of a second input (P2) to the block. The block looks like this graphically:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

805

14. Auxiliary Functions


14.5. DEADTIME Block

Each DEADTIME block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Overall Scale Factor (CPV) - Lets you specify the

overall-scaling factor for the PV output. The default value


is 1.
Factor for P1 (C1) - Lets you specify the scaling factor

for the P1 input. The default value is 1.


Factor for P2 (C2) - Lets you specify the scaling factor

for the P2 input. This only applies for the Variable delay
type selection. The default value is 1.
Overall Bias (DPV) - Lets you specify an overall bias for

the PV output. The default value is zero (0).


806

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.5. DEADTIME Block

Configuration Tab

Description
Bias for P1 (D1) - Lets you specify a bias for the P1

input. The default value is zero (0).


Bias for P2 (D2) - Lets you specify a bias for the P2

input. This only applies for the Variable delay type


selection. The default value is zero (0).
Delay Type (DELAYTYP) - Lets you select the delay type

as either Fixed or Variable. The default selection is


Fixed.
Delay Time (minutes) (DELAYTIME) - Lets you specify

the fixed delay time in minutes. This only applies for the
Fixed selection. The default value is zero (0).
Delay Table Size (NUMLOC) - Lets you specify the

number of locations to be used in the delay table. This


only applies for the Variable selection. The default value
is 60.
Cutoff Limit (CUTOFF.LM) - Lets you specify the zero-

flow cutoff limit for the P2 input. When the P2 input is


below the limit, the block sets the delayed P1 value to
0.0. The default value is NaN (Not-a-Number), which that
is, there is no cutoff limit.
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
the Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
the Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in the Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Function
The DEADTIME block is typically used in a feedforward control loop. It provides its
delayed PV output as the input to a LEADLAG block which feeds its output to the

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

807

14. Auxiliary Functions


14.5. DEADTIME Block

feedforward (FF) input of the PIDFF block. This helps condition the control response to
the actual process characteristics.
The cutoff feature with the variable dead time lets you simulate conditions like the
stopping of a conveyor belt. If the flow or speed value the P2 input represents drops
below the value you configured for the CUTOFF.LM parameter, the value of the delayed
P1 input goes to zero. When P2 again exceeds the Cut Off Limit value, the delayed P1
input resumes a value.

Input
The block requires one or two inputs depending on the type of delay action selected.

If delay type is Fixed or Variable, P1 must be brought from another block.

If delay type is Variable, P2 must also be brought from another block.

Output
The block produces an output value (PV), a status (PVSTS), and a status flag
(PVSTSFL).

PV status
PV status (PVSTS) may have one of the following values:

Bad - which means that PV is NaN (Not a Number).

Normal - which means PV is OK.

Manual - which means P1 source (for example, DATAACQ block) is in manual PV


source.

Uncertain - which means that PV is OK but P1 or P2 status is uncertain.

The following Boolean flags (typically used with Logic and Alarm blocks) also reflect
the value of PVSTS:

808

PVSTSFL.BAD - if PVSTS = Bad, this flag is on; otherwise it is off.

PVSTSFL.NORM - if PVSTS = Normal, this flag is on; otherwise it is off.

PVSTSFL.MAN - if PVSTS = Manual, this flag is ON; otherwise it is off.

PVSTSFL.UNCER - if PVSTS = Uncertain, this flag is on; otherwise it is off.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.5. DEADTIME Block

Error handling
If the P1 input status (P1STS) or the P2 input status (P2STS) is Uncertain, this block sets
PV status (PVSTS) to Uncertain.
If the P1 input status (P1STS) or the P2 input status (P2STS) is Bad, this block sets the
PV status (PVSTS) to Bad and the PV output to NaN.

Delay type
The DEADTIME block gives you choice of either a Fixed or Variable delay type.

For the Fixed delay, a change in the input value (P1) is delayed by the user
configured delay time (DELAYTIME) as follows.
DPt = P1(t - DELAYTIME)
PV = CPV DPt + DPV
Where:
CPV = Overall scale factor for PV
DELAYTIME = Fixed delay time in minutes
DPV = Overall bias for PV
DPt = Delayed P1 value (internal variable, not user accessible)
t

= Present time notation only (not a parameter)

For the Variable delay, a change in the P1 input value is delayed by a time period,
which varies as the inverse of the P2 input value. A combination of the P2 value, the
scaling factors (C1, C2) and the bias values (D1, D2) determines the variable time
period as follows.
If CUTOFF.LM is not NaN and P2 is less than CUTOFF.LM:
DPt = 0
Otherwise:
DELAYTIME = [C1 / (C2 P2 + D2)] + D1
DPt = P1(t - DELAYTIME)
And:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

809

14. Auxiliary Functions


14.5. DEADTIME Block

PV = CPV DPt + DPV


Where
C1 = Scaling factor in the calculation of the DELAYTIME
C2 = Scaling factor for P2
CPV = Overall scale factor for PV
CUTOFF.LM

= Cutoff limit, for example, corresponding to zero flow or zero


conveyor belt speed.

D1 = Bias in the calculation of the DELAYTIME, equivalent to a


fixed delay
D2 = Bias for P2
DELAYTIME = Fixed delay time in minutes
DPV = Overall bias for PV
DPt = Delayed P1 value (internal variable, not user accessible)
P1 = Input value to which the delay is applied
P2 = Input value that changes the variable delay
t

= Present time notation only (not a parameter)

Delay table
The block uses a delay table (DELAYTABLE) to produce the desired delays in the P1
input. It stores and shifts P1 values through the table at a rate that is calculated to
produce the desired deadtime. The following information is used to derive the table-shift
rate.

810

The sample rate of the P1 input value. This is the execution rate of the block.

The delay time (DELAYTIME). For Fixed delay, delay time is user configured. For
Variable delay, the delay time is derived from the P2 input.

The number of entries (NUMLOC) to use in the delay table. The table has a
maximum of 60 entries. You can change the number of entries by configuring the
desired smaller value through the Delay Table Size (NUMLOC) entry in the block's
configuration form.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.5. DEADTIME Block

The following relationship exists between DELAYTIME, Period (FB execution period in
minutes) and NUMLOC.
DELAYTIME >= Period

NUMLOC

DELAYTIME <= Period

3200

In the simplest case, where the scaling factors C1 and C2 equal 1 and the bias factors D1
and D2 equal 0, the variable delay time input signal P2 has the following limits.
P2 <= 1 / (Period

NUMLOC)

P2 >= 1 / (Period

3200)

In all other cases, use the scaling and bias factors to make sure the calculated delay time
remains within the range defined above.
ATTENTION

Using delays greater than two minutes or reducing the delay table size,
will distort the input signal as it appears at the PV output. Input signals
with high frequency content will cause samples to be missed, even at the
maximum sample rate, resulting in reduced output fidelity.

When the delay time exceeds the product of the sample rate and the
delay table size, the input value, which lies between other sampled
inputs, is interpolated. This means the PV output is either a true sampled
value or an interpolated value.

You can connect DEADTIME blocks in series to achieve longer delays.

Restart condition
When this block experiences a Restart condition, all the entries in the delay table are set
equal to P1. The PV status is set to Normal and the PV is calculated as follows.
PV = CPV

P1 + DPV

When the INITREQ parameter is True, the block's algorithm produces the same result as
the Restart condition.

DEADTIME parameters

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

811

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the DEADTIME block.

14.6 ENHAUXCALC (Enhanced Auxiliary Calculation)


Block
Description
The ENHAUXCALC block provides the following enhancements over the AUXCALC
block.

Expands existing arrayed input parameters PSTS and P from six to ten.

These arrayed parameters are added to correspond to each of the ten inputs.

Input Description

Scaling Factor

Enable/Disable Switch

PSUB Substitute Parameter

PP Scaled Input

Both the ENHAUXCALC and AUXCALC blocks are optimized so that expressions
use memory based on the number of expressions configured, pcode size of each
expression, the number of references in the expression and the offset needed for
each expression.

It looks like this graphically.

812

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

Function
The ENHAUXCALC block evaluates user-defined expressions and conditions to
compute the desired output and status for the control strategy.
As shown in the following figure, the block may bring values from up to 10 inputs and
determines their statuses in every execution cycle of the Control Module. It evaluates up
to eight expressions and determines their statuses. It derives values for PV and PV status
based on the configuration choices for the PVSRC and PVSTSSRC block parameters.
An input switch parameter (PENABLE[1..10]) lets you enable or disable each
corresponding input (P[1..10]). You can also configure a scaling factor (CP[1..10] for
each corresponding input (P[1..10] to provide a corresponding scaled input (PP[1..10]).
The scaled input is computed as follows.

If PENABLE = 0 (Disable), then:


PP[i] = PSUB[i]

CP[i]

Else: If PENABLE = 1 (Enable), then:


PP[i] = P[i]
Where:

CP[i]

i = 1 to 10

A configurable input substitute parameter (PSUB[1..10]) lets you define an input value
to be substituted for a corresponding disabled input (P[1..10])/scaled input (PP[1..10]).
The logic works as follows.

If PENABLE = 1 (Enable), then:


P[I] = The original input
PP[i] = P[I]

CP[I]

Else: If PENABLE = 0 (Disable), then:


P[i] = PSUB[I]
PP[i] = PSUB[i]
Where:

R110
February 2014

CP[i]

i = 1 to 10

Experion LX Control Builder Components Theory


Honeywell

813

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

A configurable input description parameter (PDESC[1..10]) lets you type your own
descriptive text for each corresponding input (P[1..10]).
You can enter expression strings and configure PV and PV status selections at build time
before the CM is loaded. The block performs syntax checking and conversion of the
expression string during entry. If any errors are detected, they are displayed to inform
you of the problem. You must re-enter the string to correct the error. You can only enter
an expression in the Project tab during block configuration. You cannot change an
expression online in the Monitoring tab.
The block checks and accepts other configuration parameters when the Control Module
is active. If there are any invalid entries, it generates appropriate error messages to help
identify the cause.

Fetch Analog Inputs


and Statuses

Calculate Expressions
and Derive Their Statuses

Derive Final PV and


PV Status Values
Figure 35 ENHAUXCALC block major functions

Configuration parameters
The following table provides a summary of the ENHAUXCALC specific parameters that
you can configure through the Main tab of the block's properties form in Control
814

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

Builder. You must have an access level of at least Engineer to enter or modify values for
these parameters. The table does not include descriptions of the common parameters
such as block name and description.
Title

Parameter Name

Description

PV

PVSRC

Lets you assign the result of an expression


(C[1..8]), a status value (CSTS[1..8]), an input
(P[1..10]) or an input status (PSTS[1..10]) to
output (PV). The default is P[1].

PVSTS

PVSTSSRC

Lets you assign the result of an expression


(C[1..8], a status value (CSTS[1..8]), an input
(P[1..10]) or an input status (PSTS[1..10]) to
output status (PVSTS[1]).

Input

P[1..10]

Lets you fetch values from other function


blocks.

Input Description

PDESC[1..10]

Lets you type your own description for each


input.

Enable

PENABLE[1..10]

Lets you Enable or Disable a corresponding


input.

Scaling Factor

CP[1..10]

Lets you define a scaling factor for a


corresponding input. The default value is 1.

Input Substitute
Value

PSUB[1..10]

Lets you define a substitute value for


corresponding input/scaled input when the
input is disabled. The default is NaN.

Scaled Input

PP[1..10]

Lets you use a scaled input value in your


expressions. This is a read-only parameter with
a NaN value in the Project tab.

Input
This function block accepts as many as ten inputs (P[1..10]):

All inputs are optional.

Must fetch all inputs from other function blocks.

The number of process input connections are equal to the number of inputs; the
default is 1.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

815

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

Output
This block produces the following outputs:

PV and its status, PVSTS

As many as eight expression results (C[1] through C[8]) and their statuses

Expressions
You can write up to eight expressions, each expression can contain any valid
combination of inputs, operators, and functions. You can also write a short descriptive
text for each expression. Table 1(Expressions) in the REGCALC block section lists the
expression operators and functions supported by this block for reference.

Parameters in Expressions
You must specify a parameter by its full tag name (for example.
"CM25.PumpASelect.PVFL", or "CM57.PID100.MODE"). In effect, tag names allow
expressions to have an unlimited number of inputs, and work with any data type.
However, do not use more than six parameter references in an expression. Also, the size
of each expression in the ENHAUXCALC block is limited to 255 characters. If the size
of the expression exceeds 255 characters, the following message appears.

You can use the following additional arrayed parameters in expressions.


CP[1..10]

PP[1..10]

PENABLE[1..10]

PSUB[1..10]

PCODESIZE[1..8
]

NUMSRCCONN[1
..8]

You do not need to associate the PENABLE[1..10] parameter with the corresponding
input (p[1..10]) explicitly in an expression.
816

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

For example: MIN(CM.ENHAUXCALCA.P[1],value2,value3)

The expression syntax has been expanded. Delimiters (') can be used in an expression
containing an external reference component. The format for the delimiter usage is as
follows:

TagName.'text'

TagName is the name of the external reference component (that is, an OPC Server). Text
can contain any characters, space, and special characters except for the delimiter
character.
When entering this format, only the syntax and TagName are checked for accuracy. The
correct syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is
verified to be an external reference component. If either of these stipulations is incorrect,
an error is issued. The text between the delimiters is not checked. It is the users
responsibility to ensure that the text is something that the external reference component
will understand. If this text is incorrect runtime errors will occur.
ATTENTION
When the expression is sent to the external reference component, the
delimiters are removed: TagName.'text' becomes TagName.text.

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.

Guidelines for Writing Expressions

Must include full tag.parameter name for P inputs in the expression and enclose
identification number in brackets instead of parenthesizes. For example,
CM151.AUXCALC BLOCK.P[1] CM151.AUXCALC BLOCK.P[2] is valid.

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], and so on. 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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

817

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

You can mix and nest all operators and functions (including conditional
assignments) in any order as long as types match or can be converted.

You can use blanks between operators and parameter names, but they are not
required.

You can use all data types in expressions, including enumerations. They are all
treated as numeric types.
TIP
You can use the integer parameters YEAR, MONTH, DAY HOUR, MINUTE,
and SECOND that provide local date and time for the controller in all
expressions, just like other integer parameters.

ATTENTION
The constant values can be directly configured (using CONST[1..8]) in the
Calculator blocks and a short description for the expressions can also be
provided (using (EXPRDESC[1..8]).

The expression constant parameters (CONST[1..8]) are used with the expressions as
follows:

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.

Enable/Disable switch example expression


The Enable/Disable switch is used as a flag in the following user expressions.
818

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.6. ENHAUXCALC (Enhanced Auxiliary Calculation) Block

Example 1
MIN((CM.ENHAUXCALCA.PENABLE[10] = 1) ? CM.ENHAUXCALCA.P[10]: userentered value ,value2,value3).
Example 2
CM.ENHAUXCALCA.P[1] CM.ENHAUXCALCA.P[2] and say P[1] is disabled then the
CEE will evaluate the expression as
CM.ENHAUXCALCA.PSUB[1] CM.ENHAUXCALCA.P[2].
In this case, if an input is disabled, the corresponding substitute value is used in the
expressions.

Scaled Input example expression


The following are examples of expressions using the scaled input parameter (PX).
Example 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]
Example 2
MIN(PP[10],P[2],C[1])
Example 3
(PP[7] <> 12)? 10 : PP[7]
Example 4
SQRT(PP[5])

Assignable Outputs
Produces these outputs according to the values you assign to them.

PV and its status PVSTS

Up to eight expression results (C[1] to C[8]) and their statuses

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

819

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

You can assign an input, expression, result, or status value to PV and PVSTS through
block configuration. For example, you may assign the result of the second
expression(C[2]) to PV. You may also assign inputs directly to outputs; for example,
P[1] can be assigned to PV, and P[2] can be assigned to PVSTS.

ENHAUXCALC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the ENHAUXCALC block.

14.7 ENHGENLIN (Enhanced General Linearization) Block


Description
The ENHGENLIN block calculates a linearized output PV value (in engineering units)
based on configured linear coefficients for a sensor having nonlinear characteristics. The
linearized output PV value is calculated as a function of an input value (P1) and
ACTLINSEG parameter value. The function is typically represented by a maximum of
12 continuous, linear segments defined with 13 monotonic value pairs. The
ENHGENLIN block is supported on the following platforms.

C300 (50 ms CEE)

The ENHGENLIN block is graphically represented in the Control Module as follows:

820

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

The ENHGENLIN block processes the input value (P1) based on the linearization
segment table selected by the ACTLINSEG parameter. The number of configured
linearization segment tables is defined by NUMLINSEG parameter.
The block compares the input value (P1) with each segment based on a coordinate pair.
ATTENTION
ENHGENLIN block has two dimensional input (IN[i][j]) and output (OUT[i][j])
parameters.
i = represents the linearization segment table number determined by
ACTLINSEG.
j = represents the co-ordinate number. The j value is determined by the P1
value.
n = represents the number of segment in the active curve. The n value is
determined by NUMSEGS [ACTLINSEG].

When it finds a segment that intersects with the input, the block displays the respective
output value (PV) as follows:

If P1 is exactly equal to the input value at the beginning of any segment (that is, P1
= IN[i][j], for j in the range of 0 to n, where i = ACTLINSEG-1 and n= NUMSEGS
[i]):
PV = OUT[i][j]

If P1 is less than IN value in the first linearization point (IN[i][0]), the first segment
is extrapolated:

If P1 is greater than the IN value in the last linearization point (IN[i][n]), the last
segment is extrapolated:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

821

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

If P1 is within the configured range, the smallest j value is used where IN[i][j] is less
than P1 and the linearized value is interpolated:

where:
IN[i][j] = input value at the beginning of the intersecting segment.
IN[i + 1][j + 1] = input value at the end of the intersecting segment
OUT[i][j]= output value at the beginning of the intersecting segment
OUT[i + 1][j + 1] = output value at the end of the intersecting segment
ACTLINSEG = number of active linearization segment table for the curve based on
number of segment tables in which user has configured the segment coordinates.

Function
The ENHGENLIN block is used to characterize functions of a single parameter, such as
heat transfer vs. flow rate, or efficiency as a function of load. It is particularly useful
when the relationship of the input to engineering units is empirically determined.
The ENHGENLIN block support a maximum of 4 input-output relationship curves,
allowing the selection of one of them for PV calculation. The ACTLINSEG parameter is
used to select the input-output relationship curve in the block and to control the run-time.
The VIEWLINSEG parameter is used for Control Builder (CB) access of the tables. The
ENBTUNE parameter enables the tuning of input and output co-ordinates in the
Monitoring View.
The linearization segments collectively define an input-output relationship curve on a
single linearization segment table, which is represented with values of IN and OUT
parameters. The IN and OUT parameter values of the linearization segment table selected
by the ACTLINSEG parameter are used for PV calculation. If the ACTLINSEG
parameter is used as a block pin, a TYPECONVERT block is used in cascade with
ENHGENLIN block to provide an integer input to ACTLINSEG parameter.
822

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

Note: The IN/OUT parameter values can be edited only through the TEMPIN and
TEMPOUT parameter values when the system is running. TEMPIN and TEMPOUT
parameter is enabled when ENBTUNE parameter is ON.
If you try to modify the IN/OUT parameter value when the CM is ACTIVE and CEE is
RUN, an error follows: ENBTUNE parameter must be used to change IN/OUT
parameter values.
A single ENHGENLIN block is similar with four GENLIN blocks by providing 4 inputoutput relationship curves. The ENHGENLIN block provides only one output for inputs
rather the GENLIN blocks provide 4 outputs.

Configuration Parameters
A summary of the ENHGENLIN block specific parameter is explained in the following
table. You must have the access level as OPERATOR or ENGINEER to enter or
configure or modify these parameter values from the Main tab of the Control Builder
(CB). This table does not include the description of the common block parameters such
as block description, engineering unit, and so on.
Title

Parameter Name

Description

Number of Tables

NUMLINSEG

Let you select the maximum number


of allowed linearization segment
tables. Maximum four linearization
segment tables are supported.

Active Linearization
Segment Table

ACTLINSEG

Lets you assign the linearization


segment table based on the number
of segment tables for PV calculation.

Number of Segments

NUMSEGS[INDEX1
]

Lets you select the number of


segments for the linearization
segment table.

View Table

VIEWLINSEG

Lets you to select the linearization


segment table represented by IN,
OUT, TEMPIN, and TEMPOUT for
engineering view in Control Builder.

Input Co ordinate

IN [INDEX1]
[INDEX2]

Lets you to type the input values for


the linearization segment table.

Output Co ordinate

OUT [INDEX1]
[INDEX2]

Lets you to type the output values for


the linearization segment table.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

823

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

Input
Two input values are required:

P1 must be fetched from another function block.

ACTLINSEG parameter value must be given by the user or it can be fetched from
the TYPECONVERT block.

Output

PV.

Boolean flag (PVSTSFL.BAD) set by PV to indicate to other function blocks, that


this block's PV status is bad.

Error Handling

The ENHGENLIN block modifies the PVSTSFL.BAD status to ON if the following


conditions are satisfied:

P1input status (P1STS) is Bad.


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.

Strategy Optimization using ENHGENLIN block


A single ENHGENLIN block can replace up to four GENLIN blocks. This results in
optimization of the project engineering and modification of ENHGENLIN parameters
from Monitoring View.
Following is an example of a Governor Valve Sequencing operation where a single
ENHGENLIN block replaces three GENLIN block and two SELREAL blocks.
824

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

The logic explained in the figure is replaced using a single ENHGENLIN block.

ENHGENLIN block Usage Scenario


TIP
The usage scenario presented here is to explain the ENHGENLIIN block
concept. The number of turbine control valves and the characteristics are
different for each turbine.

There are different Non Linearization Relations between the percentages of generated
Load with the percentage of Valve opening for different sequences. The sequence curve
varies based on the operation sequence selection by the OPERATOR.
There are two different modes of Governor Valve (GV) operations performed by the
ENHGENLIN block.

Full Arc mode of governing (Uniform Operations)

Partial Arc mode of governing (Sequence Operations)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

825

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

Full Arc mode of governing


All the Governor Valves operate simultaneously with the same percentage of opening
with respect to the percentage of the load. The following graph displays the six Governor
Valves operation with respect to the load percentage.

The relation between the load percentage and the Governor Valves opening is gradually
increases and it is listed in the following table.
GVI SING DMD

826

X Co-ordinates

Y Co-ordinates

-1

-1

12.5

11.6

35.65

17.6

56.37

23

68.94

26.5

79.5

30

85.16

32.43

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

91.23

37.83

95.3

46.36

98.56

62.92

100

101

101

101

Partial Arc mode of governing


The Governor Valves open in a sequence defined by the manufacturer. There are three
different Governor Valves opening sequence.
Sequence Number

Governor Valves (GV) Opening Sequence

Sequence 1 (SEQ1)

GV 3, 5 and 6 open together then, GV4, GV1, and


GV2 open in sequence.

Sequence 2 (SEQ2)

GV 3, 5 and 6 open together then, GV1, GV2, and


GV4 open in sequence.

Sequence 3 (SEQ3)

GV 3, 5 and 6 open together then, GV2, GV4, and


GV1 open in sequence.

The sequences and the related operation of the Governor Valves operation with respect
to the load are explained in the following table.
Sequence Number
SEQ 1

Description
First, the Governor Valves 3, 5, and 6 operation starts in
the initial load, then the Governor Valves 4, 1, and 2
operation starts sequentially in order as the load
increases. The following graph displays, when the load is
60 percentage:
Governor Valves 3, 5, and 6 are fully opened
GV4 is opened 25 % (approx)
GV1 is opened 8% (approx.)
GV2 is opened 0%

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

827

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

Sequence Number

SEQ 2

Description

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%

SEQ 3

828

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:

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

Sequence Number

Description
Governor Valves 3, 5, and 6 are fully opened
GV2 is opened 25 % (approx)
GV4 is opened 8% (approx.)
GV1 is opened 0%

The co-ordinates for the Governor Valves for each sequence are explained in the
following table.
For Governor Valves 1:
Governor Valve 1 (GV1)
SEQ1

SEQ2

SEQ3

X - COR

Y - COR

X - COR

Y - COR

X - COR

Y - COR

-1

-1

-1

-1

-1

-1

52

-1

36

70

63.67

12.55

47

12.56

81

12.55

68.67

17.6

52

17.6

84.83

17.6

73.67

26.5

57

26.5

89.83

26.5

76.77

32.43

60.1

32.43

92.93

32.43

78.96

37.83

62.29

37.83

95.12

37.83

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

829

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

80.99

46.36

64.32

46.36

97.15

46.36

82

54.21

65.335

54.21

98.17

54.21

82.57

62.9

65.9

62.9

98.73

62.9

83.23

81.57

66.56

81.57

99.39

81.57

83.34

100

66.67

100

100

101

100

101

100

101

101

101.1

For Governor Valve 2:


Governor Valve 2 (GV2)
SEQ1

SEQ2

SEQ3

X - COR

Y - COR

X - COR

Y - COR

X - COR

Y - COR

-1

-1

-1

-1

-1

-1

70

-1

52

36

81

12.55

63.67

12.55

47

12.56

84.83

17.6

68.67

17.6

52

17.6

89.83

26.5

73.67

26.5

57

26.5

92.93

32.43

76.77

32.43

60.1

32.43

95.12

37.83

78.96

37.83

62.29

37.83

97.15

46.36

80.99

46.36

64.32

46.36

98.17

54.21

82

54.21

65.335

54.21

98.73

62.9

82.57

62.9

65.9

62.9

99.39

81.57

83.23

81.57

66.56

81.57

100

101

83.34

100

66.67

100

101

101.1

100

101

100

101

For Governor Valve 4:


830

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.7. ENHGENLIN (Enhanced General Linearization) Block

Governor Valve 2 (GV2)


SEQ1

SEQ2

SEQ3

X - COR

Y - COR

X - COR

Y - COR

X - COR

Y - COR

-1

-1

-1

-1

-1

-1

36

-1

70

52

47

12.56

81

12.55

63.67

12.55

52

17.6

84.83

17.6

68.67

17.6

57

26.5

89.83

26.5

73.67

26.5

60.1

32.43

92.93

32.43

76.77

32.43

62.29

37.83

95.12

37.83

78.96

37.83

64.32

46.36

97.15

46.36

80.99

46.36

65.335

54.21

98.17

54.21

82

54.21

65.9

62.9

98.73

62.9

82.57

62.9

66.56

81.57

99.39

81.57

83.23

81.57

66.67

100

100

101

83.34

100

100

101

101

101.1

100

101

For Governor Valves 3, 5, and 6:


The Governor Valve 3, 5 and 6 operations with the different sequence represent same
Valve opening percentage at the different load percentage.
Governor Valve 3, 5, and 6 (GV 3, 5, and 6)

R110
February 2014

X - COR

Y - COR

-1

-1

-1

8.9

12.55

17.825

17.6

Experion LX Control Builder Components Theory


Honeywell

831

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

Governor Valve 3, 5, and 6 (GV 3, 5, and 6)


X - COR

Y - COR

34.47

26.5

42.58

32.43

45.62

37.83

47.65

46.36

48.665

54.21

49.23

62.92

50

100

100

101

101

102

ENHGENLIN parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the GENLIN block.

ATTENTION
The ENHGENLIN block is typically applicable in the C300 (50ms CEE)
controllers.

14.8 FLOWCOMP (Flow Compensation) Block


Description
The FLOWCOMP (Flow Compensation) block operates on uncompensated flow
measurements of liquids, steam, gases or vapors. It computes a flow compensation factor
based on variations in parameters like temperature, pressure, specific gravity, and
molecular weight. The block derives a compensated flow value as its output. It looks like
this graphically.
832

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

The parameters for a FLOWCOMP block should be fetched from another function block,
by block wiring or through a parameter connector.
At every execution cycle the parameter will be fetched to calculate the compensation
term and compensated flow.

Function
The FLOWCOMP block uses the following basic equation to calculate a compensated
flow value as its output.
Compensated flow = (uncompensated flow)
Where:

COMPTERM

uncompenated flow = An input


COMPTERM = A calculated compensation term

The FLOWCOMP block offers five different equations for calculating the flow
compensation term (COMPTERM). There is one equation for liquids, one for steam, and
three for gases and vapors. Each equation may require different inputs. For example,
depending on which gases and vapors equation you choose, one requires temperature and

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

833

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

pressure measurements, another requires temperature, pressure and specific gravity, and
a third requires temperature, pressure and molecular weight.

Configuration parameters
The following table provides a summary of the FLOWCOMP specific parameters that
you can configure through the Main tab of the block's properties form in Control
Builder. You must have an access level of at least an Engineer to enter or modify values
for these parameters. The table does not include descriptions of the common parameters
such as block name and description.
Title

Parameter Name

Description

PV Display Format

PVFORMAT

Lets you define the decimal format to be used


to display the PV value. The choices are D0
(None), D1 (One), D2 (Two), or D3 (Three).
The default value is D1.

Overall Scaling
Factor for PV

CPV

Lets you define the overall scaling factor to be


applied to the PV value to meet your process
requirements. The default value is 1.

Flow Compensation
Factor 1

CF1

Lets you define a compensation factor to use


for converting units of measurement for the
uncompensated flow to units for the
compensated flow, or correcting for assumed
design conditions The default value is 1.

Flow Compensation
Factor 2

CF2

Lets you define a compensation factor to use


for converting units of measurement for the
uncompensated flow to units for the
compensated flow, or correcting for assumed
design conditions The default value is 1.

Compensation Term
High Limit

COMPHILM

Lets you define a high limit for the flow


compensation term The default value is 1.25.

Compensation Term
Low Limit

COMPLOLM

Lets you define a low limit for the flow


compensation term. The default value is 0.8.

PV Equation Type

PVEQN

Lets you select the flow compensation equation


type the block is to use. The default value is
EQA (Equation A).

PV Characterization
Option

PVCHAR

Lets you specify square root as the PV


characterization to use. The default value is
SQUAREROOT.

834

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

Title

Parameter Name

Description

Bad Comp Term


Alarm Priority

BADCOMPTERM.PR

Lets you specify the priority level for a bad


COMPTERM alarm. The default value is LOW.

Bad Comp Term


Alarm Severity

BADCOMPTERM.SV

Lets you specify the severity level for a bad


COMPTERM alarm. The default value is 0.

Alarm Filter Cycles

MAXCYCLE

Lets you specify the number of filter cycles


before a bad COMPTERM alarm is generated.
The default value is 0. If the value is NaN, the
COMPTERM is frozen at its last good value for
indefinite period.

Zero Ref. for


Pressure

P0

Lets you specify the zero pressure reference


value for equations that require it. The default
value is 0.

Zero Ref. for


Temperature

T0

Lets you specify the zero temperature


reference value for equations that require it.
The default value is 0.

Specific Gravity

RG

Lets you specify the specific gravity reference


value for equations that require it. The default
value is 1.

Pressure

RP

Lets you specify the absolute pressure


reference value for equations that require it.
The default value is 1.

Steam Quality

RQ

Lets you specify the steam quality reference


value for equations that require it. The default
value is 1.

Temperature

RT

Lets you specify the temperature reference


value for equations that require it. The default
value is 1.

Steam
Compressibility

RX

Lets you specify the steam compressibility


reference value for equations that require it.
The default value is 1.

Reference Molecular
Weight

RMW

Lets you specify the molecular weight


reference value for equations that require it.
The default value is 1.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

835

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

Input
The PV Equation Type (PVEQN) selection determines the number of inputs that the
FLOWCOMP block requires as outlined in the following table. All inputs must be
fetched from other function blocks.
If PVEQN is . . .

Then, It Requires These


Inputs . . .

And, It Is Used For . . .

Equation A (EQA)

uncompensated flow (F)


and
specific gravity (G).

mass-flow or volumetricflow compensation of


liquids.

Equation B (EQB)

uncompensated flow (F),


pressure (P), and
temperature (T).

mass-flow compensation
of gases or vapors.

Equation C (EQC)

uncompensated flow (F),


pressure (P),
temperature (T), and
specific gravity (G).

mass-flow compensation
of gases or vapors.

Equation D (EQD)

uncompensated flow (F),


pressure (P),
temperature (T), and
molecular weight (MW).

volumetric-flow
compensation of a gas or
vapor.

Equation E (EQE)

uncompensated flow (F),


pressure (P),
temperature (T),
steam quality factor (Q),
and
steam compressibility (X).

mass-flow compensation
of steam.

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.

Output
This block produces the following outputs:

836

PV and its status, PVSTS

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

You can configure the COMPTERM parameter as an output pin on the FLOWCOMP
block for connection to another block.

Equations
The FLOWCOMP block uses the following basic equation.
PV = CPV

CF1 / CF2

COMPTERM

Where:
CPV

= Overall scale factor for PV

CF1

= Compensation factor

CF2

= Compensation factor

F
COMPTERM

= Uncompensated flow input


= A calculated flow compensation term

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:

Else: If PVCHAR = NONE, then:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

837

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

See Symbol definitions below.

Additional considerations for FLOWCOMP Equation A


Consider the following when converting uncompensated, standard volumetric-flow to
compensated, standard volumetric-flow.

838

If the variation in density caused by fluid-composition changes is not significant,


then:

G = Gravity of the actual fluid at flowing conditions

RG = Gravity at flowing conditions used in design basis

If the variations in density caused by fluid-composition changes are significant, C1


and C2 of the FLOWCOMP should be manipulated as follows:

C1 is set to the Gravity at reference conditions used in the design basis.

If the measured value of specific gravity at flow conditions is available, the


actual specific gravity, referenced to standard conditions, is calculated from that
measurement by another function block (using the flowing temperature and
expansion formulas) this is pulled by the FLOWCOMP block into the C2 pin.

If actual specific gravity is measured by a lab, a numeric block could be used to


hold the value and can be pulled by the FLOWCOMP block into the C2 pin. In
this case, another function block may use the lab value and flowing temperature
to calculate specific gravity at flowing conditions and the result is used as the G
input.

For these cases:

G = Gravity of the actual fluid at flowing conditions

RG = Gravity at flowing conditions used in design basis

C1 = Gravity at reference conditions used in design basis

C2 = Gravity of the actual fluid at reference conditions

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

Equation B
Used primarily for mass-flow compensation of gases and vapors.

If PVCHAR = SQUAREROOT, then:

Else: If PVCHAR = NONE, then:

See Symbol definitions below.


Equation C
Used for mass-flow compensation of gases and vapors.

If PVCHAR = SQUAREROOT, then:

Else: If PVCHAR = NONE, then:

See Symbol definitions below.


Equation D
Used typically for volumetric-flow compensation of gases and vapors.

If PVCHAR = SQUAREROOT, then:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

839

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

Else: If PVCHAR = NONE, then:

See Symbol definitions below.


Equation E
Used for mass-flow compensation of steam.

If PVCHAR = SQUAREROOT, then:

Else: If PVCHAR = NONE, then:

See Symbol definitions below.


Symbol definitions
Where:

840

= Specific gravity

MW

= Molecular weight

= Pressure (input)

= Temperature (input)

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

= Steam quality (input)

= 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)

Error handling
If the status of any input is bad, the FLOWCOMP block handles the situation as
explained in the Alarm handling section below.
If there are no bad inputs, but the status of one or more inputs is Uncertain, the
FLOWCOMP block sets PVSTS to Uncertain.
If you do not connect the required inputs to the FLOWCOMP block for the selected PV
Equation Type (PVEQN), the error message All required Inputs Not Connected will be
displayed when you try to load the FLOWCOMP block.

Alarm behavior
The logic used for BAD COMPTERM behavior is as follows.
If any of the inputs used in the configured PV Equation Type for computing
COMPTERM goes BAD, then:

If Cycle is less than MAXCYCLE or MAXCYCLE = NaN, then:

Freeze the COMPTERM to last good value

Set PVSTS to UNCERTAIN

If MAXCYCLE = NaN

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

841

14. Auxiliary Functions


14.8. FLOWCOMP (Flow Compensation) Block

Increment Cycle count

Else, if after MAXCYCLE cycles or if MAXCYCLE equals 0, then:

Trigger a BAD COMPTERM alarm

Set COMPTERM to NaN, PVSTS to BAD and PV to NaN.

Where:
MAXCYCLE

Is the configured number of alarm filter cycles during which the last
good value for the COMPTERM is to be held before becoming
NaN.
MAXCYCLE can take three possible values:
NaN - In this case:

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 BAD and PV is
set to NaN.

Greater than 0 - In this case

Cycle

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.

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.

Alarm example
In case of EQNA, if Specific Gravity (G) is BAD for longer than acceptable number of
cycles (MAXCYCLE cycles) then BADCOMPTERM alarm will be raised.
842

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.9. GENLIN (General Linearization) Block

Fail-Safe values
If any of the input status signals F Status, X Status, P Status, T Status, Q Status, G
Status, and MW Status become BAD, the corresponding input values are set to NaN.
There are no fail-safe values for these variables

FLOWCOMP parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the FLOWCOMP block.

14.9 GENLIN (General Linearization) Block


Description
The GENLIN (General Linearization) block calculates an output value (PV) as a
function of the input value (P1) based on a separate function that can be represented by 2
to 13 user-defined coordinates. (You specify the IN and OUT values of each coordinate
to make a segment.) The input value (P1) is then compared with the input range of each
segment and the output is set at the intersection of the input with the appropriate
segment. The GENLIN block looks like this graphically:

Each time the GENLIN block runs, it compares the input value (P1) with each segment
based on a coordinate pair - starting with the first and continuing until it finds a segment
that intersects with the input. When that segment is found, the block derives the output
(PV) as follows:

If P1 is exactly equal to the input value at the beginning of any segment (that is, P1
= IN[i], for i in the range of 0 to NUMSEGS):

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

843

14. Auxiliary Functions


14.9. GENLIN (General Linearization) Block

PV = OUT[i]

If P1 intersects the first segment (that is, P1 < IN[1]):

PV =

OUT(1) - OUT(0)

* [P1 - IN(0)] + OUT(0)

IN(1) - IN(0)

If P1 intersects the last segment (that is, P1 > IN[i] for i = NUMSEGS - 1)):

PV =

OUT(NUMSEGS) - OUT(i)
IN(NUMSEGS) - IN(i)

* [P1 - IN(i)] + OUT(i)

If P1 intersects any other segment (that is, IN[i] < P1 < IN[i + 1] for i =1 to
NUMSEGS -2):

PV =

OUT(i + 1) - OUT(i)
IN(i + 1) - IN(i)

* [P1 - IN(i)] + OUT(i)

where:
IN[i] = input value at the beginning of the intersecting segment.
IN[i + 1] = input value at the end of the intersecting segment
OUT[i] = output value at the beginning of the intersecting segment
OUT[i + 1] = output value at the end of the intersecting segment
NUMSEGS = total number of segments in the curve based on 2 to 13 user defined
coordinate pairs.

844

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.9. GENLIN (General Linearization) Block

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.

Function
The GENLIN block is typically used to provide a linearized PV (in engineering units) for
a sensor with nonlinear characteristics. The GENLIN block can also be used to
characterize functions of a single parameter, such as heat transfer versus flow rate, or
efficiency as a function of load. It is particularly useful when the relationship of the input
to engineering units is empirically determined.

Inputs
The GENLIN block requires one input value (P1):

P1 must be brought from another function block.

P1STS represents the status of P1.

Outputs
The GENLIN block produces the following output:

PV and its status, PVSTS. It also sets Boolean flags PVSTSFL to reflect the status
of PVSTS for logical use.

Error handling

If P1STS is Uncertain, the GENLIN block sets PVSTS to uncertain.

If P1STS is Bad, or if any of the segment coordinates (IN[i] or OUT[i]) contains


NaN (Not a Number), this block sets PVSTS to Bad.

If any of the segment coordinates (IN[i] or OUT[i]) contains NaN (not a Number,
the Control Module that contains the GENLIN block will not be allowed to go
Active (EXECSTATE = Active).

GENLIN parameters
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

845

14. Auxiliary Functions


14.10. LEADLAG Block

REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the GENLIN block.

14.10 LEADLAG Block


Description
The LEADLAG block provides dynamic lead-lag compensation for changes in its input
(P1). It subjects a change in the input value (P1) to one lead compensation and two lag
compensation factors.
There is a user configurable time constant for each compensation factor. You can
suppress a compensation factor by setting its corresponding time constant to zero (0).
The block looks like this graphically:

Each LEADLAG block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

846

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.10. LEADLAG Block

Configuration Tab

Description
characters long.
PV Format (PVFORMAT) - Lets you select the decimal

format to be used to display the PV values. The


selections are D0 for no decimal place (-XXXXXX.), D1
for one decimal place (-XXXXX.X), D2 for two decimal
places (-XXXX.XX), and D3 for three decimal places (XXX.XXX). The default selection is D1 for one decimal
place.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
Lead Time (min) (LEADTIME) - Lets you specify the lead

time constant in minutes. The default value is 0, which


means the lead time compensation is suppressed. .
Lag 1 Time (min) (LAG1TIME) - Lets you specify the first

order lag time constant in minutes. The default value is


0, which means the first order lag time compensation is
suppressed.
Lag 2 Time (min) (LAG2TIME) - Lets you specify the

second order lag time constant in minutes. The default


value is 0, which means the second order lag time
compensation is suppressed.

Overall Scale Factor (CPV) - Lets you specify the


overall-scaling factor for the PV output. The default value
is 1.

Overall Bias (DPV) - Lets you specify an overall bias for

the PV output. The default value is zero (0).


Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
the Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
the Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

847

14. Auxiliary Functions


14.10. LEADLAG Block

Configuration Tab

Description
tab in the Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Function
The LEADLAG block is typically used in a feedforward control loop. It provides its
compensated PV output as the input to the feedforward (FF) input of the PIDFF block.
This helps condition the control response to the actual process characteristics.

Input
The block requires one input. P1 must be brought from another block.

Output
The block produces an output value (PV), a status (PVSTS), and a status flag
(PVSTSFL).

PV status
PV status (PVSTS) may have one of the following values:

Bad - which means that PV is NaN (Not a Number)

Normal - which means PV is OK.

Manual - which means P1 source (for example, DATAACQ block) is in manual PV


source.

Uncertain - which means that PV is OK but P1 status is uncertain.

The following Boolean flags (typically used with Logic and Alarm blocks) also reflect
the value of PVSTS:

848

PVSTSFL.BAD - if PVSTS = Bad, this flag is on; otherwise it is off.

PVSTSFL.NORM - if PVSTS = Normal, this flag is on; otherwise it is off.

PVSTSFL.MAN - if PVSTS = Manual, this flag is ON; otherwise it is off.

PVSTSFL.UNCER - if PVSTS = Uncertain, this flag is on; otherwise it is off.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.10. LEADLAG Block

Error handling
If the P1 input status (P1STS) is Uncertain, this block sets PV status (PVSTS) to
Uncertain.
If the P1 input status (P1STS) is Bad, this block sets the PV status (PVSTS) to Bad and
the PV output to NaN.

Equation
The LEADLAG block applies the following equation.
PV = L-1 [CPV (1 + LEADTIME s) / {(1 +LAG1TIME
(1 + LAG2TIME s)} P1(s)] +DPV

s)

Where:
CPV = Overall scale factor for PV
DPV = Overall bias for PV
L-1

Inverse of the LaPlace transform

LAG1TIME

= First order lag time constant (If 0, no first order lag)

LAG2TIME

= Second first order lag time constant (If 0, no second order lag).

LEADTIME = Lead time constant (If 0, no lead time)


P1 = Input value to which lead and lag compensation is applied
PV = Output of this block
s

= LaPlace operator notation only (not a parameter)

Time constant recommendations


The execution rate of the LEADLAG block should be greater than the lowest break-point
period of the block as follows.

The first order lag time (LAG1TIME) should be greater than or equal to 2
Where TS is the sample time in minutes.

The second order lag time (LAG2TIME) should be greater than or equal to 2

The absolute lead time (|LEADTIME|) should be greater than or equal to 2 TS.
(Note that the absolute value of lead time is used, since both positive and negative
lead times can be specified.)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

TS.
TS.

849

14. Auxiliary Functions


14.11. ROC (Rate of Change) Block

Restart condition
When this block experiences a Restart condition, the lead-lag dynamics are set to a
steady state and the PV is calculated as follows.
PV = CPV

P1 + DPV

When the INITREQ parameter is True, the block's algorithm produces the same result as
the Restart condition.

LEADLAG parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the LEADLAG block.

14.11 ROC (Rate of Change) Block


Description
The Rate of Change (ROC) function block, available under the Auxiliary function block
library, is a computational block intended for use on the input side of function blocks for
limiting the input variable to the block (typically SP). This block is especially useful in
case where it is desirable to prevent a random change in the output sequence. In power
plants, for instance, speed control of HT motors requires control without exceeding the
rate of change of current. The following is an illustration of an ROC function block:

850

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.11. ROC (Rate of Change) Block

The Rate of Change block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Low Range in EUs - Lets you specify the low input range

value in engineering units that represents the 0 full scale


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

851

14. Auxiliary Functions


14.11. ROC (Rate of Change) Block

Configuration Tab

Description
PV input for the block. The default value is 0 (zero).
High Range in EUs - Lets you specify the high input

range value in engineering units that represents 100%


full scale PV input for the block. The default value is 100.
Positive ROC Limit (EUs/min) - Lets you specify a

maximum output rate of change limit for the positive


direction of the output in percent per minute. This lets
you prevent an excessive rate of change in the output
allowing you to match the slew rate of the control
element to the control dynamics. We recommend that
you configure this value before you tune the loop, so
tuning can accommodate any slow down in response
time caused by this rate limiting. The default value is Not
a Number (NaN), which means no rate limiting is
applied.
Negative ROC Limit (EUs/min) - Lets you specify a

maximum output rate of change limit for the negative


direction of the output in percent per minute. This lets
you prevent an excessive rate of change in the output
allowing you to match the slew rate of the control
element to the control dynamics. We recommend that
you configure this value before you tune the loop, to
enable tuning to accommodate any slow down in
response time caused by this rate limiting. The default
value is Not a Number (NaN), which means no rate
limiting is applied.

852

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
the Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in the Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in the Control Builder.

Block Preferences

Lets you change several block-viewing preferences

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.11. ROC (Rate of Change) Block

Configuration Tab

Description
including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

Limits the rate of input and provides the output variable based on the rate trip limits.

Limits the rate of change of output to the specified rate trip limit when the input
variation is greater than the rate trip limit in either direction. The output is changed
at the specified rate limit until the value is equal to the input variable.

Uses the PVROCBYPASSFL parameter to BYPASS the rate trip limit.

Provides a Bad PV alarm based on the status of the output.

Rate limit is not applied and PV is set to P1 if the rate limits are NaN.

For an invalid input (=NAN), rate limiting is not done and the output is NaN.
ATTENTION

The ROC block is basically a Math block.

The use of a ROC block is not recommended in case the OP of a PID


block is connected to the P1 of a 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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

853

14. Auxiliary Functions


14.11. ROC (Rate of Change) Block

Execution
If the input variation is more than the specified limit, the output is limited to the change
specified using PVROCLM (Rate of Change's Trip Point) and it is applicable to input
variation in either direction. For each block execution cycle, the output is incremented by
the rate of change until the output is equal to the original input. PVROCPOSFL indicates
if the limit is exceeded in the positive direction and PVROCNEGFL indicates if the limit
is exceeded in the negative direction. If P1= NAN, rate limiting is not done and PV is set
to NaN and PVROCPOSFL and PVROCNEGFL are reset. If the limit is NaN, then limit
is not applied and PV is set to P1.

Configuration examples
User scenario 1
The following configuration is recommended if the input has to be rate limited in the
positive direction at the rate of 60 EUs/min.
854

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.11. ROC (Rate of Change) Block

PVROCPOSLM = 60
PVROCNEGLM = NaN
PVEULO = 0
PVEUHI = 100
User scenario 2
The following configuration is recommended if the input has to be rate limited in the
negative direction at the rate of 60 EUs/min.
PVROCPOSLM = NaN
PVROCNEGLM = 60
PVEULO = 0
PVEUHI = 100

Inputs

P1 - Process Input 1.

PVROCPOSLM - PV Rate of Change limit in the positive direction.

PVROCNEGLM - PV Rate of Change limit in the negative direction.

Outputs

PVROCPOSFL - This flag turns ON when rate limiting is done in the positive
direction.

PVROCNEGFL - This flag turns ON when rate limiting is done in the negative
direction.

PV - Output of ROC.

BADPVFL - This flag is set when a bad input is received at the block.

Error handling

Access lock and index are verified during Load and Store of the block's parameters.

If the positive limit is greater than span in EUs/min or less than 0, then a
"LimitOrRangeCrossover" Error is reported.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

855

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

If P1 is set to NaN, then, PV is set to NaN and BADPVFL is set to TRUE.

If negative limit is greater than the span in EUs/min or less than 0 %, then
"LimitOrRangeCrossover" Error is reported.

If PVEULO has a value NaN, then "InvalidValue" Error is reported.

If PVEULO is greater than PVEUHI, then "LimitOrRangeCrossover" Error is


reported.

If new PVEULO causes the positive/negative trip limits to go beyond the range of 0
- Span in EUs/min, then "LimitOrRangeCrossover" error is reported.

If PVEUHI is NaN, then "InvalidValue" error is reported.

If PVEUHI is lesser than PVEULO, a "LimitOrRangeCrossover" error is reported.

If new PVEUHI causes the positive/negative trip limits to go beyond the range of 0 Span in EUs/min, then "LimitOrRangeCrossover" Error is reported.
ATTENTION
BADPVALM.FL and BADPVFL parameters essentially provide the same
functionality of indicating a bad PV. Either of the two parameters may be used
to achieve the functionality.

ROC parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Rate of Change block.

14.12 SIGNALSEL (Signal Selector) Block


Description
The Signal Selector function block accepts as many as six input signals, and may be
configured to do one of the following on these inputs:

856

Select the input with the minimum value.

Select the input with the maximum value.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Select the median input.

Calculate the average of the inputs.

Select an input based on the Multiplex value; that is, act as a multiplexer.

It looks like this graphically:

Function
This function block supports the following methods for selecting an input:
Method

Processing

MIN

Select the input with the minimum value. Ignored inputs are excluded.

MAX

Select the input with the maximum value. Ignored inputs are excluded.

MED

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; that is, act as a multiplexer.
Inputs are not ignored.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

857

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Configuration parameters
The following table provides a summary of the SIGNALSEL specific parameters that
you can configure through the MAIN tab of the block's properties form in Control
Builder. The table does not include descriptions of the common parameters such as block
name and description.
Title
Selection Method

Parameter Name
SELMETHOD

Description
Lets you define the method to be
used to select the input to the
block. The choices are
MIN: Select the input with the

minimum value.
MAX: Select the input with the

maximum value.
MED: Select the median input.
AVG: Calculate the average of

the inputs.
MUX: Select an input based on

the Multiplex value.

858

Minimum Valid Inputs

NMIN

Lets you select the number of


minimum valid inputs for the
algorithm to execute. The
parameter is enabled only when
the SELMETHOD is other than
MUX.

Median Option for Middle


Two Inputs

MEDOPT

Lets you select the operation to


perform with the middle two inputs
when even number of inputs is
valid. This parameter is enabled
only when SELMETHOD is MED.

Mux Selection method.

BOOLMUX

Lets you choose between Integer


MUX selection and Boolean Mux
selection.

Boolean Mux Selection


flags.

SELXFL

Lets you set the selection flags for


Boolean Mux selection.

Integer Mux Selection.

MUXSEL

Lets you establish the control


signal value to select as input

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Title

Parameter Name

Description
when the selection method is
MUX.

Rate for Bumpless


Transfer

PVRATE

Lets you set the rate of change


per minute to provide bumpless
transfer of PV value.

Ignore Highest Inputs

IGNORHI

Lets you select the number of


highest inputs to be ignored.

Ignore Lowest Inputs

IGNORLO

Lets you select the number of


lowest inputs to be ignored.

Ignore Limit

IGNORLM

Ignore Time

IGNORTM

Lets you set the time limit beyond


which inputs that are outside the
IGNORLM value will be ignored.

Deviation Alarm Trippoint

DEVALM.TP

Lets you set the trip point for the


deviation alarm.

Deviation Alarm Time

DEVALM.TM

Lets you set the time in seconds


after which a deviation alarm will
be declared. if the lowest and
highest input values exceed the
deviation trip point

Deviation Alarm Priority

DEVALM.PR

Lets you set the priority of the


deviation alarm.

Deviation Alarm Severity

DEVALM.SV

Lets you set the severity of the


deviation alarm.

Deviation Alarm
Deadband

DEVALM.DB

Lets you set the deadband for the


deviation alarm.

Deviation Alarm
Deadband Units

DEVALM.DBU

Lets you set the deadband units


for the deviation alarm as
PERCENT or EU

Forced Select Permissive

FRCPERM

Lets you allow the operator to


force select an input.

R110
February 2014

Lets you set the maximum


allowable range between the
lowest and highest input.

Experion LX Control Builder Components Theory


Honeywell

859

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Configuration examples
Example 1: Selection method is MED
A strategy configured for a SIGNALSEL block with four inputs configured to find the
median value of the valid inputs would function as follows:

Case 1:
Here, as shown in the figure above the block is configured for "Middle Two Inputs
(MEDOPT): MIN".
Hence, the selected input shall be the Minimum of the middle two input values (P[1] and
P[3]) which is P1. Hence P1 is selected and PV of SIGNALSEL is 9, the value of P[1].

Case 2:
860

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

If the block were configured for "Middle Two Inputs (MEDOPT): MAX", then
following parameters would be
PV: 11
PVSTS: UNCERTN
SELIN: Select P3
Now, maximum of the middle two input values (P[1] and P[3]) is selected. Hence P3 is
selected and PV is 11, the value of P[3]. PVSTS is UNCERTN because P[3] is the
selected input and the status of P[3] is uncertain.
Case 3:
If the block were configured for "Middle Two Inputs (MEDOPT): AVG", then following
parameters would be
PV: 10
PVSTS: UNCERTN
SELIN: None
Now average of the middle two input values (P[1] and P[3]) is selected. Hence none is
selected and PV is 10. PVSTS is UNCERTN because selected input is an average of
P[1] and P[3], one of which (P[3]) has status as uncertain.
Case 4:
Say input P[3] goes Bad. Now only three (odd) inputs are valid and hence the middle
value (P[1]) of the three is taken as the PV directly whatever be the MEDOPT
(applicable only for even number of valid inputs). The strategy would look as below

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

861

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Case 5:
Say input P[1], P[3], P[4] are ignored, then the respective IGNORDFL[ ] parameters are
set. Now only one input is valid and CURINPT goes less than the NMIN and hence the
blocks output is set to Bad and SELIN is None.
Case 6:
Now, the user could override the selection using force-select, that is, both FRCPERM
and FRCREQ are set, then the input denoted by the FRCSEL shall be the selected input.
The user can force-select ignored inputs also.
Selection method is MUX
If the block is configured with Selection Method MUX, then NMIN, Ignore Inputs
would not be applicable and cannot be edited. CURPINPT would be equal to
NUMPINPT. Also, bad inputs could be selected. Now the block would function as
follows:

862

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

If the block is configured with Selection Method = MUX and BOOLMUX= On, it would
function as follows.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

863

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Input

864

This function block accepts between two to six selectable inputs, P[1] through P[6].
Minimum two inputs are required (P[1] and P[2]).

All inputs shall be fetched from other function blocks.

If less than two inputs are connected a warning "At least two inputs needs to be
connected" shall be given during load and activation of the block shall be prevented.

If the total number of valid inputs goes less than the configurable parameter
Minimum Valid Inputs(NMIN) value, then the output of the block shall go bad.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

The NMIN parameter applies only to the following selection methods: MIN, MAX,
MED, or AVG and is not applicable if the selection method is MUX or Force
selection is performed.

Ignore Inputs
The function block always ignores Bad inputs, such as NaN, which are connected to any
upstream block. Unconnected inputs do not participate in the selection processing. In
addition, the user may choose to ignore the "n" highest (IGNORHI) or/and "m" lowest
(IGNORLO) inputs. These values can be from Logic blocks and user programs may also
store to it, so the number of ignored inputs may be dynamic.

If all the inputs are ignored, output shall go Bad.

If the total number of inputs to be ignored (n+m) is equal to or greater than the total
number of connected inputs, a warning message "IGNORHI+IGNORLO should be
less than the number of connected inputs" shall be given during load and activation
of the block shall be prevented. During running state for the same above case, a noncritical error with the same error message is displayed and the previous value of
IGNORHI or IGNORLO (whichever is configured) is retained.

The user may also choose to ignore inputs that are outside a user-specified ignore limits.

Ignore Limit Checking


Ignore Limit is the maximum allowable range between the lowest and highest input.
Inputs that are outside this range (IGNORLM) for more than a specified
time(IGNORTM) are ignored.
The SIGNALSEL block performs ignore limit checking as follows:

It ignores Bad inputs (NaN), and the highest and lowest inputs (defined by
IGNORHI and IGNORLO).

If there are no remaining inputs, ignore limit checking is not done for the block.

It calculates a "center value" from the inputs that remain:

If the number of remaining inputs is odd, the "center value" = the median input.

If the remaining inputs is even, "center value" = the average of the middle two
inputs.

It calculates a high and low ignore limit from specified limit (IGNORLM):

R110
February 2014

High ignore limit = "center value" + IGNORLM / 2


Experion LX Control Builder Components Theory
Honeywell

865

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Low ignore limit = "center value" - IGNORLM / 2

It compares each of the remaining inputs with the high and low ignore limits.

If an input is outside the ignore limits for more than IGNORTM (the ignore time)
seconds, the function block updates the appropriate parameters (the ignored input
flags IGNORD, IGNORDFL[16] and the current number of valid inputs
CURPINPT). As a result, the input will be ignored in future processing (that is,
Input Selection).

The center value, high and low ignore limits shall be computed every cycle of
execution of the block.

Inputs that have been ignored on exceeding ignore limits, shall become valid again
when their value returns back within the high and low ignore limits.
TIP
If there are only two remaining inputs, and the difference between them
exceeds the ignore limit, the block's output (PV) is set to NaN.

The IGNORHI, IGNORLO and ignore limit checking shall not be applicable for the
MUX selection method.

Output

This auxiliary PV block shall have output PV and its status PVSTS.

It shall have a parameter SELIN denoting which input, if any has been selected as
the output.

The block shall have the following output flags.

One flag denoting if any of the inputs is ignored or not (IGNORD).

Individual flags for each input indicating if it was ignored (IGNORDFL[16]).

Selection Methods
This function block supports the following methods for selecting an input:
Method

Processing

MIN

Select the input with the minimum value. Ignored inputs are excluded.

MAX

Select the input with the maximum value. Ignored inputs are excluded.

866

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Method

Processing

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 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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

867

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

MED

All the valid inputs are arranged in ascending order and median value is taken as
PV.

If odd number of valid inputs is present then the middle value will be the PV and the
selected input shall be the respective input.

If even number of valid inputs is present then the PV shall be any one of the
following depending on the parameter 'Median Option for Middle Two Inputs
(MEDOPT)'.

If MEDOPT is MIN, then PV shall be the minimum of the middle two values and
the respective input shall be selected input.

If MEDOPT is MAX, then PV shall be the maximum of the middle two values and
the respective input shall be selected input.

If MEDOPT is AVG, then PV shall be the average of the middle two values and
selected input shall be none because average is computed.
TIP
While arranging in ascending order, if two inputs have same value; then the
input that comes first in order 1 to 6 precedes the other.

MUX

868

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 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.

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

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.

Force-Select

The operator or a user program may override the selection method and "force select"
a particular input.

Force-select may override only the following selection methods: MIN, MAX, MED,
or AVG and is not applicable if the selection method is MUX.

If the force selected input is not connected, then the PV value goes Bad (NaN) and
the respective unconnected input remains selected

Ignore Inputs, Ignore limit checking, NMIN and deviation alarming are not
applicable during force selection. Also, the deviation alarm state should return to
normal.

Bumpless Input Switching


The function block may be configured to provide bumpless switching between inputs. If
so configured, the block will ramp to the new input value when any of the following
occur:

The selected input changes.

The number of valid inputs changes.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

869

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

Ramping rate is specified in rate of change per minute. PV shall ramp at this rate to the
new value. If the ramp rate is zero, bumping occurs. Ramping can be disabled by setting
ramp rate to NaN.

Deviation Alarming

The SIGNALSEL block may be configured to generate an alarm, if the range


between the lowest and highest inputs exceeds the deviation trip point
(DEVALM.TP) for more than a specified time.

If the deviation trip point is set to be NaN, deviation alarming is disabled; and if it is
set to be greater than or equal to zero, deviation alarming is enabled.

Once deviation alarm is triggered, a deviation alarm flag is set. When the alarm goes
off, the flag is reset.

Deviation Alarm Deadband

The SIGNALSEL block also has a deadband (DEVALM.DB) for the deviation
alarm.

The purpose of this parameter is to prevent recurring alarms and returns-to-normal


due to noise.

The deadband is applied only when the alarm return-to-normal state. Once inputs are
alarmed, it must return to a range of DEVALM.TP - DEVALM.DB, before it is
considered "normal".

Also, the alarm is triggered only when the deviation range (difference between the
highest and lowest inputs) exceeds DEVALM.TP for more than the specified time.

Deviation Alarm Deadband Units

The SIGNALSEL block also has a parameter called deadband units


(DEVALM.DBU) for the deviation alarm.

The purpose of this parameter is to specify whether the deadband given by the user
is in engineering units or in percentage of the trip point.

Error handling
The SIGNALSEL block sets PV state to Uncertain under any of the following
conditions:

870

An input selection is forced and the status of that input is Uncertain.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.12. SIGNALSEL (Signal Selector) Block

The selection method is MIN, MAX, or MUX, and the status of the selected input is
Uncertain.

The selection method is AVG, and the status of any input is Uncertain.

The selection method is MED and the status of the selected middle input (odd
number of valid inputs) or any of the middle two inputs (even number of valid
inputs) is Uncertain.

The block sets the PV state to Manual under any of the following conditions:

An input selection is forced and the status of that input is Manual.

The selection method is MIN, MAX, or MUX, and the status of the selected input is
Manual.

The selection method is AVG, and the status of any input is Manual.

The selection method is MED and the status of the selected middle input (odd
number of valid inputs) or any of the middle two inputs (even number of valid
inputs) is Manual.

PV becomes NaN and PV state becomes Bad under either of the following conditions:

Forced selection is in effect, and the status of that input is Bad.

The number of valid inputs goes less than NMIN (Minimum Valid Inputs) value.

Except when force-selected or selection method is MUX, inputs with a Bad status are
ignored.

Restart or point activation


On a Warm restart, Cold restart or when this block is inactivated the following
parameters are initialized

PV is set to NaN.

P(1) through P(6) values are set to NaN.

PSTS(1) through PSTS(6) are set to BadValSts.

CURPINPT is set to zero.

DEVALM.FL and INALM alarming flags are set to OFF.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

871

14. Auxiliary Functions


14.13. TOTALIZER Block

Cycle time counters used for DEVALM.TM and IGNORTM parameters are reset so
that the counting starts from the beginning when the SIGNALSEL block goes to
active again.

Parameters for Checkpoint


The following parameters are checkpointed.
DEVALM.DB

FRCREQ

IGNORLO

NMIN

DEVALM.TM

FRCSEL

IGNORTM

PVRATE

DEVALM.TP

IGNORHI

MEDOPT

SELIN

FRCPERM

IGNORLM

MUXSEL

SELMETHOD

SIGNALSEL parameters
REFERENCE - INTERNAL
Refer to Control Builder Components Reference for a complete list of the
parameters used with the SIGNALSEL block.

14.13 TOTALIZER Block


Description
The TOTALIZER block periodically adds an input value (P1) to an accumulator value
(PV). It looks like this graphically:

872

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.13. TOTALIZER Block

You specify a target value for the accumulator, and up to four trip points, which are
"near" and "nearer to" the target value. The TOTALIZER block sets status flags to
indicate when the accumulator value is near (and nearer to) the user-specified target
values. A trapezoidal-integration method of accumulation is used to improve accuracy.
Accumulation proceeds even when the target value is exceeded. An external operator or
program command is required to stop the block from further accumulating.

Function
The TOTALIZER block is typically used to accumulate total flows. For situations where
the flow transmitter may not be precisely calibrated near the zero-flow value, a zero-flow
cutoff feature is provided such that when P1 is below the cutoff value it clamps to zero.

Configuration example
The following figure and its companion callout description table show a sample
configuration that uses a TOTALIZER block in a flow control loop for quick reference.
The view in the following figure depicts a loaded configuration in Monitoring mode.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

873

14. Auxiliary Functions


14.13. TOTALIZER Block

Figure 43 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.

874

Callout

Description

Use the PV parameter connection to carry data and status from the analog
input, DATAACQ, and TOTALIZER blocks to the PID block. The default PV
connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter
(PVVALSTS) when it is required.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.13. TOTALIZER Block

Callout

Description

When monitoring, you can use the COMMAND parameter on the block to
issue Start, Stop, or Reset command. You must configure COMMAND as a
monitoring parameter through the block configuration form.
You can also use logic inputs to STARTFL, STOPFL, and RESETFL pins
on the block to initiate Start, Stop, and Reset commands, respectively.

When the accumulated value (PV) reaches the accumulated target value
(ACCTV), the accumulated target value flag (ACCTVFL) turns ON.

In this example, the following values were configured for the Trip Points 1
to 4 through the parameter configuration form based on a configured target
value of 100.
Trip Point 1 (ACCDEV.TP[1] = 10
Trip Point 2 (ACCDEV.TP[2] = 20
Trip Point 3 (ACCDEV.TP[3] = 30
Trip Point 4 (ACCDEV.TP[4] = 40

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

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.

Input
The TOTALIZER block requires one input (P1):

P1 is the value to be accumulated - the input value may be Real, Integer, or Boolean,
but is always stored as a real number.

P1 must be brought from another block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

875

14. Auxiliary Functions


14.13. TOTALIZER Block

Outputs
The TOTALIZER block produces the following outputs:

The accumulated value (PV) and its status (PVSTS).

Flags, indicating if the accumulated value has reached the user-specified target value
or one of the accumulator deviation trip points (ACCTVFL and ACCDEV.FL [14]).

TOTALIZER states
The TOTALIZER block has two possible states: Stopped and Running. The STATE
parameter identifies the current state and the following parameters may be used to
change the state:

COMMAND: The operator or a user program may command the accumulator to


Start, Stop, or Reset by storing it to the COMMAND parameter. Since COMMAND
is a write-only parameter, its displayed value does not reflect the last entered
command.
Possible choices are:

Start - requests the TOTALIZER to start the accumulation (change STATE to


Running). The Totalizer block must be reset using the reset pin (RESETFL)
prior to counting.

Stop - requests the TOTALIZER to stop the accumulation (change STATE to


Stopped).

Reset - requests the TOTALIZER to reset the accumulated value (PV) with a
user-specified reset value (RESETVAL). STATE will not change; if the
accumulator is running, it continues from the reset value.
Totalizer must be reset using the reset pin before the totalizer can start counting.
Otherwise P1 will have a good value, but PV will remain at zero.
When the TOTALIZER receives a reset command, it copies the current value of
PV to OLDAV (old accumulation value), and then sets PV equal to
RESETVAL. This allows other system functions using the totalized value to
reset the TOTALIZER without losing any "accumulation".

876

CMDATTR: Specifies who may store it to COMMAND (that is, either the operator
or a user program through another function block). CMDATTR is used to prevent
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

14. Auxiliary Functions


14.13. TOTALIZER Block

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 it 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
it to COMMAND.

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 Running.

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.

Accumulator target value


Prior to starting the TOTALIZER, you may specify a target value for the accumulator
(ACCTV). The TOTALIZER block compares PV with ACCTV on each cycle and sets
the target-value-reached flag (ACCTVFL) to ON when the accumulation is complete
(that is, when PV is greater than or equal to ACCTV).

Deviation trip points


The TOTALIZER block provides trip points and flags to signal when the accumulated
value is "getting close" to the target value. You may specify as many as four trip points,
and the TOTALIZER block sets a corresponding flag when each trip point is reached.
The flags are typically monitored by another function block that can initiate some sort of
control action (for example, changing a valve position from full open to trickle when a
TOTALIZER trip point is reached).
The trip point values (ACCDEV.TP[1-4]) are expressed as deviations from the target
value. The TOTALIZER block compares the actual deviation (ACCTV - PV) with each
trip point, and sets a flag (ACCDEV.FL[1-4]) when the deviation is less than or equal to
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

877

14. Auxiliary Functions


14.13. TOTALIZER Block

a trip point. For example, if the user sets ACCTV = 50 and ACCDEV.TP[1] = 10, the
TOTALIZER block sets ACCDEV.FL[1] to ON when PV is greater than or equal to 40.

Equations
PVEQN is a user-configured parameter, which specifies how the TOTALIZER should
handle bad inputs and warm restarts. One of the following equations is specified using
PVEQN:
Equation

Bad Input Handling

Warm Restart Handling

Use zero if input is bad.

Continue after input turns


valid.

Use last good value if input


is bad.

Continue after input turns


valid.

Stop if the input is bad and


set PV to NaN.

Continue after input turns


valid.

Use zero if input is bad.

Stop after a warm restart.

Use last good value if input


is bad.

Stop after a warm restart.

Stop if the input is bad and


set PV to NaN.

Stop after a warm restart.

The following table summarizes block actions associated with a given PVEQN handling
option relative to the accumulator state and the input status.
If Accumulator is . . .
Running (STATE =
RUNNING) and the input
status (P1STS) is BAD

878

And Option is . . .
Use zero if input is
bad.

Then, block . . .
Sets the input value (P1) to zero
and sets PVSTS to Uncertain.
When the input status (P1STS)
returns to normal, PVSTS
remains Uncertain until a Reset
command is received.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.13. TOTALIZER Block

If Accumulator is . . .

And Option is . . .

Then, block . . .

Running (STATE =
RUNNING) and the input
status (P1STS) is BAD

Use last good value if Sets the input value (P1) to its
input is bad.
last good value and sets PVSTS
to Uncertain.
When the input status (P1STS)
returns to normal, PVSTS
remains Uncertain until a Reset
command is received.

Running (STATE =
RUNNING) and the input
status (P1STS) is BAD

Stop if the input is


bad.

Sets the input value (P1) to NaN


(Not a Number) and sets PVSTS
to Bad.
When the input status (P1STS)
returns to normal, PVSTS
remains Bad until the operator
restarts the accumulation.
To restart the accumulator, the
operator must estimate the
accumulated value, issue a
Reset command to establish that
value, and then issue a Start
command. The last accumulated
value before the status went bad
is designated as LASTGOOD.

Running (STATE =
RUNNING)

Continue after a warm Sets PVSTS to Uncertain and


continues accumulation from last
restart.
value of PV.
PVSTS remains Uncertain until a
Reset command is received.

Running (STATE =
RUNNING)

Stop after a warm


restart.

Sets the accumulated value (PV)


to NaN (Not a Number), sets
PVSTS to Bad, and stops the
accumulation. The operator must
intervene to restart the
accumulator.

Accumulated value calculation


For equations A through F, the accumulated value (PV) is calculated as follows:
PVI = PV(i-1) + C1

R110
February 2014

time_scale

(P(i-1) + [Pi - P(i-1)] / 2)

Experion LX Control Builder Components Theory


Honeywell

879

14. Auxiliary Functions


14.13. TOTALIZER Block

Where:
PVi
PV(i-1)
C1
Pi
P(i-1)
time_scale

= TOTALIZER block output from the current pass


= accumulated value at the end of block's last processing pass
= scale factor for P1; used to convert to different engineering units
= input value from current pass
= input value from last pass
= (TS 60) if TIMEBASE = seconds
(TS) if TIMEBASE = minutes
(TS / 60) if TIMEBASE = hours
where TS = TOTALIZER block's processing interval, in minutes

Error handling

PVSTS is set to UNCERTAIN when:

The status of the input (P1STS) is Uncertain.

The input status is Bad and the "use zero" or "use last good value if input is bad"
option is configured (Equation A, B, D, or E).

The TOTALIZER block is in warm restart and the "continue" option is


configured (Equation A, B, or C).

PV is set to NaN (Not a Number) and PVSTS is set to Bad, when:

The status of the input (P1STS) is Bad and the "stop if input is bad" option is
configured (Equation C or F).

The TOTALIZER block is in warm restart and the "stop" option is configured
(Equation D, E, or F).

When PVSTS is Bad, the TOTALIZER block sets ACCTVFL and ACCDEV.FL[14] to Off.
ATTENTION
When the input status returns to normal, a Reset command is needed to
return PVSTS to Normal.

880

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

14. Auxiliary Functions


14.13. TOTALIZER Block

Restart and activation


When a TOTALIZER block is activated:

PV is set to NaN (Not a Number).

PVSTS is set to Bad.

The accumulator is stopped (that is, STATE = Stopped).

TOTALIZER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TOTALIZER block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

881

14. Auxiliary Functions


14.13. TOTALIZER Block

882

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1 DATAACQ (Data Acquisition) Block
Description
The DATAACQ (Data Acquisition) block processes a specified process input value (P1)
into a desired output value (PV). It looks like this graphically.

Each DATAACQ block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab. This data is only provided
as a quick document reference, since this same information is included in the on-line
context sensitive Help.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

883

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Configuration Tab

Description
blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information.
PV Source Option (PVSRCOPT) - Lets you select

whether you want to limit the PV source to AUTO only or


allow other PV source selections. The default selection is
ONLYAUTO.
PV Source (PVSOURCE) - Lets you select the source of

the PV as SUB for a user program, MAN for an operator,


or AUTO for process input connection. Only applicable
with PV Source Option selection of ALL. The default
selection is AUTO.
PV Format (PVFORMAT) - Lets you select the decimal

format to be used to display the PV values. The


selections are D0 for no decimal place (-XXXXXX.), D1
for one decimal place (-XXXXX.X), D2 for two decimal
places (-XXXX.XX), and D3 for three decimal places (XXX.XXX). The default selection is D1 for one decimal
place.
PV Character (PVCHAR) - Lets you select whether or

not you want to apply Linear or Square Root PV


characterization conversion to the input (P1). The default
selection is NONE, which means no characterization
conversion is applied.
PVEU Range High (PVEUHI) - Lets you specify the high

input range value in engineering units that represents


100% full scale PV input for the block. The default value
is 100.
PVEU Range Low (PVEULO) - Lets you specify the low

input range value in engineering units that represents the


0 full scale PV input for the block. The default value is 0
(zero).
PV Limits Hi (PVEXHILM) - Lets you specify a high limit

value for the PV in engineering units. If the PV value


exceeds this limit, the block clamps the PV to the limit
value and sets the PV high limit flag (PVEXHIFL). The
default value is 102.9.
PV Limits Low (PVEXLOLM) - Lets you specify a low

limit value for the PV in engineering units. If the PV value


884

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Configuration Tab

Description
falls below this limit, the block clamps the PV to the limit
value and sets the PV low limit flag (PVEXLOFL). The
default value is -2.9.
Low Signal Cut Off (LOCUTOFF) - - Lets you specify the

low signal cutoff limit for the P1 input after filtering and
clamping. When PVAUTO is below the limit, the block
sets the PVAUTO value to the PVEULO value. Only
applicable with PV character selection of Linear or
Square Root. The default value is NaN (Not-a-Number),
which means there is no cutoff limit.
Clamping Option (P1CLAMPOPT) - Lets you specify

whether or not you want P1 to be clamped within the PV


high (PVEXHILM) and low (PVEXLOLM) limits. The
default setting is DISABLE, which means no clamping is
applied.
Lag Time (P1FILTTIME) - Lets you specify a first order

filter time in minutes for the P1 input. When time is nonzero (1 to 1440 minutes), a first-order filter is applied to
P1EU and the result is stored in an intermediate
parameter called FilteredP1 (not a visible parameter). As
long as FilteredP1 is within PV limits, it is copied to
PVAUTO. See Input Filtering in this section for more
details. The default value is 0.
Alarms

Alarm Limits - Identifies the types of alarms this block

supports. Of course, these alarms also interact with


other block configuration values such as PVEU Range Hi
and PVEU Range Lo. The types are:

R110
February 2014

PV High High (PVHHALM.FL)

PV High (PVHIALM.FL)

PV Low (PVLOALM.FL)

PV Low Low (PVLLALM.FL)

Positive Rate of Change (ROCPOSALM.FL)

Negative Rate of Change (ROCNEGALM.FL)

Bad PV (BADPVALM.FL)

High Significant Change (PVHISIGCHG.TP)

Low Significant Change (PVLOSIGCHG.TP)

Experion LX Control Builder Components Theory


Honeywell

885

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Configuration Tab

Description
Trip Point - Lets you specify the following trip points for

the given alarm. The default value is NaN, which


disables the trip point.

PVHHALM.TP (PV High High Alarm Trip Point)

PVHIALM.TP (PV High Alarm Trip Point)

PVLOALM.TP (PV Low Alarm Trip Point)

PVLLALM.TP (PV Low Low Alarm Trip Point)

ROCPOSALM.TP (Positive Rate of Change Alarm


Trip Point)

ROCNEGALM.TP (Negative Rate of Change Alarm


Trip Point)

PVHISIGCHG.TP (High Significant Change Alarm


Trip Point)

PVLOSIGCHG.TP TP (Low Significant Change


Alarm Trip Point)

Priority - Lets you set the desired priority level

individually for each alarm type (PVHHALM.PR,


PVHIALM.PR, PVLOALM.PR, PVLLALM.PR,
ROCPOSALM.PR, ROCNEGALM.PR, and
BADPVALM.PR). The default value is LOW. The levels
are:

NONE - Alarm is neither reported nor annunciated.

JOURNAL - Alarm is logged but it does not appear


on the Alarm Summary display.

LOW, HIGH, URGENT - Alarm is annunciated and


appears on the Alarm Summary display.

Severity - Lets you assign a relative severity individually

for each alarm type (PVHHALM.SV, PVHIALM.SV,


PVLOALM.SV, PVLLALM.SV, ROCPOSALM.SV,
ROCNEGALM.SV, and BADPVALM.SV) as a number
between 0 to 15, with 15 being the most severe. This
determines the alarm processing order relative to other
alarms. The default value is 0.
Deadband Value (ALMDB) - Lets you specify a

deadband value that applies to all analog alarms to


prevent nuisance alarms due to noise at values near the
886

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Configuration Tab

Description
trip point. The default value is 1.
Note that this value is loaded to the individual alarm
parameters (for example, PVHIALM.DB and
PVLOALM.DB) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Filter Time (ALMTM) - Lets you specify a time in

seconds to define how long an analog alarm must exist


before it is set to true. The default value is 0, that is, the
alarm is set to true as soon as the value exceeds the
deadband value.
Note that this value is loaded to the individual alarm
parameters (for example, PVHIALM.TM and
PVLOALM.TM) when the CM is loaded. If you configure
the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Deadband Units (ALMDBU) - Lets you specify if the

deadband value represents percent or engineering units.


The default value is percent.
Note that this value is loaded to the individual alarm
parameters (for example, PVHIALM.DBU and
PVLOALM.DBU) when the CM is loaded. If you
configure the individual alarm parameters as Monitoring
Parameters for the block, you can change the individual
alarm value while monitoring the loaded block in CB.
Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Insertion Type

Lets you include an insertion type from a CAB instances in


the block. See CAB insertion configuration considerations

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

887

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Configuration Tab

Description
for regulatory control blocks for more information.

CAB Insertions for DATAACQ block parameters


The access level/lock for the following DATAACQ block parameters is now Continuous
Control (CONTCONTROL). This provides write access for CAB programs to these
parameters. This means you can modify and/or enhance other built in DATAACQ
features by inserting user written CAB programs for one or more of these parameters.
The CAB programs must be configured for an access level of Continuous Control
(CONTCONTROL).
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

CAB insertion configuration considerations

888

You can insert up to 10 CAB programs in DATAACQ block.

You must insert CAB instances in the same Control Module that contains the
DATAACQ block.

You can use CAB instances for standalone operation or as programs whose
execution is inserted into the flow of other compatible blocks. For standalone
operation, you must configure the CAB for an Access Level of PROGRAM. For
insertion program operation, you must configure the CAB for an Access Level of
CONTCONTROL.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

If you insert multiple CAB programs at the same point, the order in which the
insertions are configured determines their execution order. During configuration, the
ORDERINCM parameter of the inserted CAB instance changes automatically to
match that of the calling DATAACQ block and the INSERTION parameter of the
inserted CAB instances is set to TRUE.

CAB instances configured for insertion execute only when they are called during
DATAACQ block execution and are not executed as part of the normal Control
Module execution.

CAB instances configured for insertion should normally have no outside pin
connections configured. If you need to share CAB instance data with blocks other
than the one with inserted CAB programs, you can use parameter connectors or
direct wire connections to configured pin connections for custom data parameters on
the CAB instance. See the Pin connections to inserted CAB instances section for
more information.

The Control Builder application will not allow you to configure the same CAB
instance as an insertion by more than one DATAACQ block.

Insertion type functional characteristics


The following table summarizes the functional characteristics for a given insertion type.
Insertion Type
Process Variable Algorithm (PV_Alg)

R110
February 2014

Function
Provides the capability of performing a
calculation on the fetched input value. The
user-written algorithm must store the computed
value into the process input value (P1). The
configured parameter references in the CAB
instance acquire inputs for the CAB program.
The value placed in P1 goes through the rest
of the processing namely PV characterization,
filtering, PV source selection and alarm
processing. The user-written CAB program
stores the calculated value in P1 and must also
store the status into parameter P1STS based
on the value of P1. If the calculated value is
NaN, the status is set to BAD. If calculated
value is good, the status is set to Normal The
CAB program should also handle the scenario
where the input recovers from a BAD status.
Note that the value of P1STS can never be set
to Manual or Uncertain, in a simple strategy.

Experion LX Control Builder Components Theory


Honeywell

889

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Insertion Type

Function

Post PV Characterization (Post_PVchar)

Provides the capability of implementing a


custom filtering function. The filtered value is
stored in P1EU. You can also implement
custom clamping and cutoff functions in a
Post_PVchar insertion program. Another option
is to use the built-in filtering value under certain
process conditions by setting the parameter
P1FILITINIT to TRUE (ON) in the CAB
program.

Post Clamping and Filtering (Post_Clampfilt)

Provides the capability of implementing custom


source selection strategies and bypass the built
source selection. The final value is stored in
PV. The CAB program should also set PVSTS,
PVEXHIFL, and PVEXLOFL parameters to the
appropriate states.

Post PV Source (Post_PVsrc)

Provides the capability of implementing custom


PV calculations. The CAB program can also
selectively enable or disable alarms based on
process conditions.
For example, if you need to disable the PV high
alarm, the trip point for PV high alarm
(PVHIALM.TP) is set to NaN in the insertion
program and the PV high alarm will not be
processed in the alarm processing routine

Post Alarm Processing (Post_Alarmproc)

Provides the capability of modifying the built-in


alarm processing.
For example, selected alarms can be disabled
in the next execution cycle by setting their trip
points to NaN.

Pin connections to inserted CAB instances


Normally, inserted CAB instances do not have outside pin connections to their Custom
Data Parameters (CDPs). Inserted CAB instances usually share data only with their
calling block, which is the block that is using the CAB as an insertion program. In this
case, block connections are created between the calling block and the inserted CAB
blocks, during the load of insertion points configuration for 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.
890

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

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).

CAB Insertion status and fail alarm


When the DATAACQ block calls out the CAB instance program, the CAB instance
returns an execution status as follows.

If the program execution runs till completion, the status will read NORMAL.

If the program does not run till completion, it returns a non-normal status.

If the program terminates, it returns a termination status.

When any of the insertions return a non normal status, the insertion fail flag
(INSFAILFL) in the DATAACQ block is set to TRUE (ON). The flag is reset to FALSE
(OFF), when all the insertions recover and return a normal status.

Handling of insertion failure


If any insertion except Post_Alarmproc returns a non -normal status, the DATAACQ
block takes the following actions.

PVAUTO is set to NaN

IF PVSOURCE = AUTO, the PV status is set to bad and a BADPV alarm condition
is set to TRUE

P1FILTINIT is set to TRUE. This will reset the P1 value during filtering

Insertion fail alarm condition is set to TRUE, if the status is not a termination

The BADPV alarm, Insertion fail alarm and any other alarms detected in the current
cycle are processed

If a Post_Alarmproc insertion fails and there are no other errors, the PV is left as is and
the PV status is left in Normal state.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

891

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

CAB insertion configuration examples


Single CAB insertion
The following figure and its companion callout description table show a sample
configuration that uses a DATAACQ block with an insertion type from a single CAB
instance.

Figure 44 Configuration example using single CAB insertion.


Callout

892

Description

The Control Module contains a DATAACQ block named daca.

The daca block is configured to include an insertion type PV_Alg from


a CAB instance named CAB_1A.

The CAB instance named CAB_1A is added to the Control Module


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Callout

Description
containing the daca block.

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.

Once the Control Module and its components is loaded to a C300


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.

Multiple CAB insertions


The following figure and its companion callout description table show a sample
configuration that uses a DATAACQ block with insertion types from four CAB
instances.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

893

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Figure 45 Configuration example using multiple CAB insertions


Callout

894

Description

The Control Module contains a DATAACQ block named daca.

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.

The CAB instances named CAB_1A, CAB_2A, CAB_3A, and CAB


4A are added to the Control Module containing the daca block.

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
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Callout

Description
True.

Once the Control Module and its components is loaded to aC300


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


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.

Two CAB insertions of same type


The following figure and its companion callout description table show a sample
configuration that uses a DATAACQ block with the same insertion type from two CAB
instances.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

895

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Figure 46 Configuration example using two CAB insertions of the same


type
Callout

896

Description

The Control Module contains a DATAACQ block named daca.

The daca block is configured to include insertion type Post_PVsrc


from CAB instances named CAB_1A and CAB_2A

The CAB instances named CAB_1A and CAB_2A are added to the
Control Module containing the daca block.

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
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Callout

Description
both CAB instances are turned On or set to True.

Once the Control Module and its components is loaded to an C300


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 nonnormal status, the following action takes place:
The value of PVAUTO and PV are set to NaN.
If PVSOURCE is configured as AUTO, PV status is set to BAD and BADPV alarm

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.

Input
The DATAACQ block requires one process input value - P1. P1 must be brought from
another block.

Input ranges and limits


PVEUHI and PVEULO define the full range of P1 in engineering units.

PVEUHI represents the 100% of full-scale value.

PVEULO represents the 0% of full-scale value.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

897

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

PVEXHILM and PVEXLO.LM define the high and low limits of P1 in engineering
units.

If P1 clamping is desired (P1CLAMPOPT = Enable), the DATAACQ block clamps


the input within the range defined by PVEXHILM and PVEXLOLM.

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.

Otherwise, P1STS = Normal.

If P1 cannot be fetched (for example, due to a communications error), P1 is set to


NaN and P1STS is set to Bad.

PV Characterization
You can configure the PV Characterization option to have the DATAACQ block provide
one of the following conversion functions.

LINEAR: Converts P1 to Engineering Units based on the 0 to 100 input span (100)
and the configured PV span in Engineering Units (PVEUHI - PVEULO). The linear
conversion is calculated as follows.
P1EU

(P1 /100)

(PVEUHI - PVEULO) + PVEULO

where:
P1
898

= Process input value from another block

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

P1EU

= P1 value in Engineering Units

PVEUHI

= User configured PV high range value in Engineering


Units for 100% full scale

PVEULO

= User configured PV low range value in Engineering


Units for 0% full scale

100

= Span for 0 to 100 input range

For example, If you want to convert the P1 input to a range of 0 to 1200 degrees,
configure PVEULO as "0" and PVEUHI as "1200". In this case, if P1 input is 50%,
P1EU equals (50 / 100) (1200 - 0) + 0 or 0.5 1200 equals 600 degrees.

SQUARE ROOT: Applies a square root calculation to the P1 input such that 100%
of span equals 1.0. Then, convert the square root value to Engineering Units based
on the configured PV span in Engineering Units (PVEUHI - PVEULO). The Square
Root conversion is calculated as follows.

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))


PVEULO

(PVEUHI - PVEULO) +

For example, If you want to convert the P1 input to a range of 0 to 1200 gallons per
hour, configure PVEULO as "0" and PVEUHI as "1200". In this case, if P1 input is 40%,
P1EU equals the square root of (40 / 100) (1200 - 0) + 0 or 0.632 1200 equals 758.4
gallons per hour.

NONE: Applies no conversion to the P1 input.

Input filtering
The P1 FILTTIME parameter indicates if P1 should be filtered. If a non-zero filter time
(P1FILTTIME) is specified, a first-order filter is applied to P1EU and the result is stored
in an intermediate parameter called FilteredP1 (not a visible parameter). As long as
FilteredP1 is within PV limits, it is copied to PVAUTO.

FilteredP1 is computed as follows:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

899

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

FilteredP1 = FilteredP1LAST + (P1 - FilteredP1LAST) Ts / (Ts + P1FILTTIME)


where:
FilteredP1LAST

= previous filtered value

Ts

= elapsed time in minutes

P1FILTTIME

= filter lag time in minutes

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.

Input clamping
The P1CLAMPOPT parameter is used to clamp a filtered P1 within PV high/low limits
(PVEXHILM and PVEXLOLM). If filtering is not configured, then P1CLAMPOPT is
used to clamp P1 as follows:

900

If P1CLAMPOPT = Enable, the block clamps the filtered P1 to the PV limits and
stores the result in PVAUTO. If the filtered input is outside the PV limits:

P1 = Actual input value

P1STS = Normal

PVAUTO = Exceeded limit

PVAUTOSTS = Uncertain (because the value was clamped)


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

Appropriate "limit exceeded" flag is set (PVEXHIFL or PVEXLOFL)

If P1CLAMPOPT = Disable and the filtered P1 is outside the limits, the block sets
PVAUTO to Bad. If the filtered input is outside the PV limits:

P1 = Actual input value

P1STS = Normal

PVAUTO = NaN

PVAUTOSTS = Bad

Appropriate "limit exceeded" flag is set (PVEXHIFL or PVEXLOFL).

Low signal cut off


If you configure PV Characterization as LINEAR or SQUARE ROOT, you can
configure a low cut off value to be applied to PVAUTO after filtering and clamping.
If the low cut off value is not NaN (Not-a-Number) and PVAUTO is less than the user
configured low cut off value, PVAUTO is set to the PVEULO range value.
If the low cut off value is NaN, no cut off action is applied.
If you configure the PV Characterization as NONE, the low signal cut off function is not
applicable.

Output
The DATAACQ block produces an output value (PV) and status (PVSTS) as well as a
status flag (PVSTSFL).

PV source selection
PVSOURCE (which may be changed by the operator or user program) provides the
following values to specify where the block's output should come from:

AUTO (Automatic) - indicates that PVAUTO is used as the PV (where PVAUTO


contains the clamped and filtered value of P1) and PVSTS tracks PVAUTOSTS.

MAN (Manual) - indicates that the operator may enter the PV and:

sets PVSTS to Manual.

rejects any attempts by the operator to store a value that exceeds the PV limits
(PVEXHILM and PVEXLOLM.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

901

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

applies no filtering on operator-entered values.

SUB (Substitution) - indicates that a user program may enter the PV and

sets PVSTS to uncertain

if the program attempts to store a value that exceeds the PV limits (PVEXHILM
and PVEXLOLM), the value is clamped to the appropriate limit and the "limit
exceeded" flag (PVEXHIFL and PVEXLOFL) is set.

applies no filtering on program-entered values.

PV status
PV status (PVSTS) may have one of the following values:

Bad - which means that PV is NaN (Not-a-Number).

Normal - which means PV is OK.

Manual - which means that PV is OK, but was stored by an operator.

Uncertain - which means that PV is OK but was stored by a program.

The following Boolean flags (typically used with Logic and Alarm blocks) also reflect
the value of PVSTS:

PVSTSFL.BAD - if PVSTS = Bad, this flag is on; otherwise it is off.

PVSTSFL.NORM - if PVSTS = Normal, this flag is on; otherwise it is off.

PVSTSFL.MAN - if PVSTS = Manual, this flag is ON; otherwise it is off.

PVSTSFL.UNCER - if PVSTS = Uncertain, this flag is on; otherwise it is off.

Alarm processing
The DATAACQ block may be configured to generate an alarm when PV exceeds one of
the following trip points for more than a specified time:

PV High trip point (PVHIALM.TP) - if PV exceeds this trip point for more than
PVHIALM.TM seconds, a PV High alarm is generated and the PV High alarm flag
(PVHIALM.FL) is set.
PV High alarming is enabled by setting PVHIALM.TP to a value which is not
IEENaN, and disables it by setting PVHIALM.TP = NaN.

902

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

PVHIALM.TP must be <= PVHHALM.TP.

PV High High trip point (PVHHALM.TP) - if PV exceeds this trip point for more
than PVHHALM.TM seconds, a PV High High alarm is generated and the PV High
High alarm flag (PVHHALM.FL) is set.
PV High High alarming is enabled by setting PVHHALM.TP to a value which is not
IEENaN, and disabled by setting PVHHALM.TP = NaN.
PVHHALM.TP must be <= PVEUHI.

PV Low trip point (PVLOALM.TP) - if PV falls below this trip point for more than
PVLOALM.TM seconds, a PV Low alarm is generated and the PV Low alarm flag
(PVLOALM.FL) is set.
PV Low alarming is enabled by setting PVLOALM.TP to a value which is not
IEENaN, and disabled by setting PVLOALM.TP = NaN.
PVLOALM.TP must be >= PVLLALM.TP.

PV Low Low trip point (PVLLALM.TP) - if PV falls below this trip point for more
than PVLLALM.TM seconds, a PV Low Low alarm is generated and the PV Low
Low alarm flag (PVLLALM.FL) is set.
PV Low Low alarming is enabled by setting PVLLALM.TP to a value which is not
IEENaN, and disabled by setting PVLLALM.TP = NaN.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

903

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

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

904

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

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.

Alarm priority (PVHIALM.PR, PVHHALM.PR, ROCNEGALM.FL, etc.) Indicates the relative priority of the alarm.

Alarm severity (PVHIALM.SV, PVHHALM.SV, ROCNEGALM.SV, etc.) Indicates the relative severity of the alarm (from 0 to 15).

PV significant-change alarming
If PV is between the high and high-high alarm trip points and continues to rise, the
following parameters may be used to reannunciate the high alarm:

PV High Significant-Change Trip Point (PVHISIGCHG.TP) - reannunciates the


high alarm when PV is between the PV high and high-high limits (PVHIALM.TP
and PVHHALM.TP) and keeps rising.
For example, consider a temperature input with PVHIALM.TP = 800 degrees,
PVHHALM.TP = 850 degrees and PVHISIGCHG.TP = 10 degrees. When the
temperature rises to 800 degrees, the PV high alarm is annunciated and, if the
temperature continues to rise, the alarm is reannunciated at 810 degrees, 820
degrees, and so on.

PV High Significant-Change Count (PVHISIGCHG.CT) - which is a count of the


number of times PV has exceeded its high significant change trip point. Other blocks
and user programs may monitor it.
When PV falls below the high alarm trip point (and deadband), the count is reset to
zero.

Similarly, if PV is between the low and low-low alarm trip points and continues to
decrease, the following parameters may be used to reannunciate the low alarm:

PVLOSIGCHG.TP - the PV Low Significant-Change Trip Point.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

905

15. Data Acquisition Functions


15.1. DATAACQ (Data Acquisition) Block

PVLOSIGCHG.CT - the PV Low Significant-Change Count.

Bad PV alarm
The DATAACQ block may be configured to generate a "Bad PV" alarm if PV = NaN
(Not a Number).

The Bad PV alarm priority and severity parameters (BADPVALM.PR and


BADPVALM.SV) are configurable.

Setting BADPVALM.PR to No Action disables alarming.

DATAACQ parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the DATAACQ block.

906

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1 DEVCTL (Device Control) Block
Description
The DEVCTL (Device Control) block is a multi-input, multi-output function that
provides an interface to discrete devices, such as motors, solenoid valves, and motoroperated valves. This block provides built-in structures for handling interlocks and
supports display of the interlock conditions in group, detail and graphic displays. It looks
like this graphically.

Each DEVCTL block supports the following user configurable attributes. The following
table lists the given name of the "Tab" in the parameter configuration form and then
briefly describes the attributes associated with that Tab. This data is only provided as a
quick document reference, since this same information is included in the on-line Context
Sensitive Help.

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

907

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description
values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
to 32767. The default value is 10. Refer to the Function
Block Execution Schedules section in the beginning of
this document for more information. This is the block's
parameter.
Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
either MANual or AUTOmatic. The default is
OPERATOR.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume, when the Control to Normal function is initiated
through the Station display. When MODEATTR is
configured as Normal, it is actually set to the present
value of NORMMODEATTR, if NORMMODEATTR is
not None. Selections are NONE, OPERATOR and
PROGRAM. The default selection is NONE.
Enable PV Source Selection (PVSRCOPT) - Lets you

enable or disable PV source selection. Check to enable


PV source (PVSOURCE) selection through the
companion scroll window. Uncheck box to limit
PVSOURCE to only AUTO. The default is enabled or
box checked. When PVSRCOPT is ALL or enabled, you
can select one of the following to be the source
(PVSOURCE) of the PV (GPV) value.

908

SUB - Provided by an SCM.

MAN - Operator stores value directly.

AUTO - Derived from the parameter PVAUTO


(GPVAUTO) representing the assigned state of the
actual inputs DI[1..4].

TRACK - Derived directly for the commanded

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description
output state (OP). Use this online when a limit
switch has failed, or as a debug mode.
Number Of Inputs (NUMDINPTS) - Lets you specify the

number of digital inputs to be used with the block. The


default is 2.
Number of Outputs (NUMDOUTS) - Lets you specify the

number of digital outputs to be used with block. The


default is 1.
Number of States (NUMSTATES) - Lets you define the

number of settable states as two or three. The default is


2 states.

Inputs

State Names (STATETEXT[0..6] - Lets you specify


a name of up to 12 characters to be used to identify
the given state. The defaults are State1for State 1
Name (STATETEXT[5]), State0 for State 0 Name
(STATETEXT[4]), State2 for State 2 Name
(STATETEXT[6]), Inbet for In Between
(STATETEXT[1]), and Bad for Null
(STATETEXT[0]), respectively. State 2 name is
only applicable if number of states (NUMSTATES)
is three.

Number of Digital Inputs (NUMINPTS) - Same as entry

on Main tab.
Inputs 1, 2, 3, 4 (DI[1..4]) - Shows the input combinations

to be associated with a given state. A Check in for the


input represents its ON condition and do not check it for
its OFF position. The default State is null (BAD). State 2
selections are only applicable if number of states
(NUMSTATES) is three and a name was configured
through the Main tab.
Output

Outputs1,2,3 (DO[1..3] or PO[1..3]) - Lets you specify the

output combinations to be associated with the given


state. Check for the output to associate its ON condition
with the given state (State 1, State 0, State 2) or leave it
unchecked for its OFF position. The default is OFF or
unchecked. State 2 selections are only applicable if
number of states (NUMSTATES) is three.
Safe (SAFEOP) - Lets you select the state that defines

the DEVCTL block in a safe state. The default is S0


(State 0). State 2 (S2) selection is only applicable if
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

909

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description
number of states (NUMSTATES) is three.
Pulse Output (POCONNECTED[1..3]) - Lets you specify

whether a given pulse output is to be enabled (ON) or


not (OFF). A Check equals ON. When enabled, the
corresponding output (PO[x]) pin will be exposed on the
block. The default is no pulse outputs configured. The
selectable outputs depend upon the configured number
of outputs.
Pulsewidth (PULSEWIDTH[1..3]) - Lets you specify the

width of a given output pulse as a value between 0.000


to 60 seconds. This is only configurable when the
corresponding output is configured as a pulse output
(POCONNECTED[x] = ON). The default value is 1
second for all configured pulse outputs.

Momentary State (MOMSTATE) - Lets you specify a


given state or states operation as being momentary. See
the Momentary State section for this block for more
information. The default is NONE. No state is
momentary. Note that Safe state ( SAFEOP ) cannot be
configured as Momentary state. The Seal-In Option and
Momentary State are mutually exclusive. If Momentary
state is not None, Seal-In Option will not be configurable.
If Seal-In is enabled, Momentary state will not be
configurable.

Seal-In Option (SEALOPT) - Lets you specify whether

the Seal-In Option is to be enabled or disabled. See the


Seal-In Option section for this block for information about
this option. The default is an unchecked box or disabled.
To enable the Seal-In Option, the Momentary state must
be None. When the Seal-In Option is enabled, the
Momentary State selection becomes void.
Enable Output Initialization (INITOPOPT) - Lets you

specify if the Output Initialization is to be enabled or


disabled. If it is enabled, OP is set to SafeOP in
initialization, if there is no active interlock, and the device
is not in Local Manual condition. If disabled,
INITOPOPT will not affect initialization.
Enable Permissive and Override Interlock Bypassing

(BYPPERM) - Lets you specify if operators are permitted


to bypass the Permissive and Override Interlocks or not.
The default is Disabled (unchecked) or OFF. An operator
910

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description
cannot set or reset the BYPASS parameter.
Bypass Permissive and Override Interlocks (BYPASS) -

When BYPPERM is ON, lets you change OP regardless


of the state of the Override interlocks, if BYPASS is set
ON. This does not affect the Safety Override Interlock
(SI). When you reset the BYPASS parameter to OFF,
any existing Override Interlocks (OI[0..2]) take effect
immediately. The default is OFF (unchecked). Operator
cannot bypass override interlocks to change OP.
Maintenance

Enable Accumulation of Statistics (MAINTOPT) - Lets

you specify if the collection of Maintenance Statistics for


the DEVCTL block is to be enabled or not. When
enabled, you can specify the maximum number of
transitions of PV to each state (MAXTRANS[0..2]) and
the maximum number of hours of PV accumulated in
each state (MAXTIME[0..2]) for comparison purposes
only. The default is OFF or box unchecked. The
maintenance statistics are not collected.
If statistics are collected, you can configure the following
parameters to appear on the DEVCTL block during
monitoring. An operator can only reset statistics while
the block is red tagged, but a user program or another
FB can turn ON the RESETFL parameter to reset
statistics anytime.

NUMTRANS[0..2] - Accumulated number of


transitions of PV to each state, since the last
statistics reset.

NUMSIOVRD - Accumulated number of safety


interlock trips that result in OP changing state,
since the last statistics reset.

STATETIME[0..2] - Accumulated time of PV in each

state, since the last statistics reset.


SCM

SCM Mode Tracking Option (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based
upon the MODE of the SCM. See the Sequential Control
Module User's Guide for more information on this
function. The default selection is ONESHOT. The
selections are:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

911

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description

None

ONESHOT

SEMICONT

CONTRTN

CONT

Abnormal State Options - Lets you specify the action the

function block takes when the SCM goes into an


abnormal state, a level 1 relationship exists, and a
previous OPREQ/GOPREQ command has been
received.
The Starting State Option (STARTOPT) applies when
the SCM state is Checking, Idle, or Complete.
The Stop/Abort State Option (STOPOPT) applies when
the SCM state is Stopping or Stopped, Aborting or
Aborted.
The Hold State Option (HOLDOPT) applies when the
SCM state is Holding or Hold.
You can choose the NONE or SAFEOP selection for any
of the previous options. If you select SAFEOP, the
OPREQ is automatically set to the SAFEOP state and
OPTYPE to default. You should set STOPOPT and/or
HOLDOPT to NONE, if Stopping and/or Holding requires
sequencing action. In this case, execute a STOP and/or
HOLD HANDLER as part of the SCM.
The Restart State Option (RESTARTOPT) applies when
the SCM state is Resume or Run. The NONE and
LASTREQ are the only selections for the Restart State
Option.
Alarms

PV Alarming - The following alarms are configurable to

represent disagreements between the commanded state


(OP) and the feedback state (PV). These alarms are
disabled if there are no inputs or outputs.

912

Command Disagree (CMDDISALM.FL): This alarm


is generated when the commanded output state
(OP) changes and the feedback state (PV) does
not change to the same state within the specified

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description
feedback time. This alarm returns to normal when
the PV state becomes the same as the OP state.
This alarm does not apply for momentary
commanded states.

Command Fail (CMDFALALM.FL): This alarm


checks to see if the PV state changed from its
original state to any other state within a specified
feedback time after the OP state is commanded.
For slow responding devices, absence of this alarm
indicates that the device responded to the
command, even if it has not yet moved to its
commanded position.

Uncommanded Change (UNCMDALM.FL): This


alarm is configured in conjunction with the
Command Disagree alarm function. This alarm is
generated, if an OP state has not been
commanded and the PV state changes for any
reason except BADPV.

Bad PV (BADPVALM.FL): This alarm is generated


whenever PV is detected in the Null state. The Null
state can result from a BadPV condition for an
input provided by a source block, or because input
combinations represent a Null state as defined by
the DIPVMAP[0..15] parameter.

Command Disagree - Lets you configure the following

parameters for this alarm.

R110
February 2014

Time to State0 (or assigned State Name)


(CMDDISALM.TM[0]): Lets you set the feedback
time for State 0 in the range of 0 to 1000 seconds.
A time of 0 disables the alarm. The default setting
is 0.

Time to State 1 (or assigned State Name)


(CMDDISALM.TM[1]): Lets you set the feedback
time for State 1 in range of 0 to 1000 seconds. A
time of 0 disables the alarm. The default setting is
0.

Time to State 2 (or assigned State Name)


(CMDDISALM.TM[2]): Lets you set the feedback
time for State 2 in the range of 0 to 1000 seconds.
A time of 0 disables the alarm. The default setting

Experion LX Control Builder Components Theory


Honeywell

913

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description
is 0. This can only be configured if the number of
states is 3.

Priority (CMDDISALM.PR): Lets you select the


priority level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (CMDDISALM.SV): Lets you set the


relative severity of the alarm on a scale of 0 to 15.
Where 15 is the most sever. The default setting is
0.

Command Fail - Lets you configure the following

parameters for the command fail alarm.

Time to State0 (or assigned State Name)


(CMDFALALM.TM[0]): Lets you set the feedback
time for State 0 in range of 0 to 1000 seconds. A
time of 0 disables the alarm. The default setting is
0. This value must be less than the value set for
CMDDISALM.TM[0].

Time to State 1 (or assigned State Name)


(CMDFALALM.TM[1]): Lets you set the feedback
time for State 1 in the range of 0 to 1000 seconds.
A time of 0 disables the alarm. The default setting
is 0. This value must be less than the value set for
CMDDISALM.TM[1].

Time to State 2 (or assigned State Name)


(CMDFALALM.TM[2]): Lets you set the feedback
time for State 2 in the range of 0 to 1000 seconds.
A time of 0 disables the alarm. The default setting
is 0. This value must be less than the value set for
CMDDISALM.TM[2]. This can only be configured if
the number of states is 3.

Priority (CMDFALALM.PR): Lets you select the


priority level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (CMDFALALM.SV): Lets you set the


relative severity of the alarm on a scale of 0 to 15.
Where 15 is the most sever. The default setting is
0.

Uncommanded Change - Lets you configure the

following parameters for this alarm.


914

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description

Priority (UNCMDALM.PR): Lets you select the


priority level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (UNCMDALM.SV): Lets you set the


relative severity of the alarm on a scale of 0 to 15.
Where 15 is the most severe. The default setting is
0.

Bad PV - Lets you configure the following parameters for

this alarm.

Priority (BADPVALM.PR): Lets you select the


priority level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (BADPVALM.SV): Lets you set the relative


severity of the alarm on a scale of 0 to 15. Where
15 is the most severe. The default setting is 0.

Override Alarms - The following alarms are configurable

to represent override interlock conditions.

Safety Override Interlock (SIALM.FL): This alarm


may be generated when the safety override
interlock (SI) occurs, and has caused an OP state
change.

Override Interlock (OIALM[0..2].FL): This alarm


may be generated when an override interlock
(OI[0..2]) occurs, and has caused an OP state
change.

Off Normal Condition (OFFNRMALM.FL): If an


interlock bypass becomes active when OPREQ is
not Null, the OPREQ is transmitted to OP
immediately upon activation of the bypass
parameter. If bypass is activated after an interlock
has been initiated, the OP and OFFNRMALM.FL
will be corrected within one scan.

Override Alarms - Lets you configure the following

parameters for the safety override interlock alarm.

R110
February 2014

Option (SIALM.OPT): Lets you specify whether the


safety override interlock alarm is enabled or not.
The default setting is DISABLED.

Experion LX Control Builder Components Theory


Honeywell

915

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description

Priority (SIALM.PR): Lets you select the priority


level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (SIALM.SV: Lets you set the relative


severity of the alarm on a scale of 0 to 15. Where
15 is the most severe. The default setting is 0.

State 0 Override Interlock Alarm - Lets you configure the

following parameters for this alarm.

Option (OIALM[0].OPT): Lets you specify whether


the State 0 override interlock alarm is enabled or
not. The default setting is DISABLED.

Priority (OIALM[0].PR): Lets you select the priority


level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (OIALM[0].SV): Lets you set the relative


severity of the alarm on a scale of 0 to 15. Where
15 is the most severe. The default setting is 0.

State 1 Override Interlock Alarm - Lets you configure the

following parameters for this alarm.

Option (OIALM[1].OPT): Lets you specify whether


the State 0 override interlock alarm is enabled or
not. The default setting is DISABLED.

Priority (OIALM[1].PR): Lets you select the priority


level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (OIALM[1].SV): Lets you set the relative


severity of the alarm on a scale of 0 to 15. Where
15 is the most severe. The default setting is 0.

State 2 Override Interlock Alarm - Lets you configure the

following parameters for this alarm.

916

Option (OIALM[2].OPT): Lets you specify whether


the State 0 override interlock alarm is enabled or
not. The default setting is DISABLED.

Priority (OIALM[2].PR): Lets you select the priority


level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Configuration Tab

Description

Severity (OIALM[2].SV): Lets you set the relative


severity of the alarm on a scale of 0 to 15. Where
15 is the most severe. The default setting is 0.

Off Normal Condition - Lets you configure the following

parameters for this alarm.

Priority (OFFNRMALM.PR): Lets you select the


priority level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (OFFNRMALM.SV): Lets you set the


relative severity of the alarm on a scale of 0 to 15.
Where 15 is the most severe. The default setting is
0.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Project tab in
Control Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Function
The DEVCTL block allows manipulation of sets of digital outputs and interprets
corresponding feedback of digital inputs. Operation consists of transmitting the
commands represented by the state parameter OP (the Commanded Output State),
monitoring PV (the Current Active State), and producing alarms based on various
configurations such as whether or not the PV has achieved the state commanded in OP.
You can red tag a DEVCTL block. Refer to the About Red Tagging section for more
information.
ATTENTION
Refer to the Sequential Control Module User Guide for more information on
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

917

16. Device Control


16.1. DEVCTL (Device Control) Block

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.

Batch Level 1
Driver
NUMDINPTS
DI[1 ... 4]

Input
Processing

DIVALSTS[1...4]
PVSRCOPT
PVSOURCE

PV
Processing

DIPVMAP[0..16]
NUMSTATES
STATETEXT[0...6]
SAFEOP
OPDOMAP[0..2][1..3]
MOMSTATE
OPCMD[0..2]
MODEATTR
NORMMODEATTR
SEALOPT
INITMAN
INITDOWN
INITOPOPT
LOCALMAN
SAFEREDTAG
REDTAG
NUMDOPTS
PULSEWIDTH[1...3]

Output
Processing

PVAUTO
GPVAUTO
PV
GPV
PVFL[0..2]
NULLPVFL
INBETFL
MODE
OP
GOP
OPFINAL
GOPFINAL
DO [1 ... 3]
PO [1 ... 3]

Figure 47 DEVCTL block major functions and parameters - See Figure 43


also.
918

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

BADPVALM.PR
BADPVALM.SV
CMDDISALM.TM(0..2)
CMDDISALM.PR
CMDDISALM.SV
CMDFALALM.TM(0..2)
CMDFALALM.PR
CMDFALALM.SV

PV Alarm
Processing

BADPVALM.FL
CMDDISALM.FL
UNCMDALM.FL
CMDFALALM.FL

OFFNRMALM.PR
OFFNRMALM.SV
PV
OPREQ

Off Normal
Condition

OFFNRMALM.FL

SI

Safety
Override
Processing

SIALM.FL

SIALM.OPT
SIALM.PR
SIALM.SV
PI(O..2)
OI (O..2)
OIALM.OPT
OIALM.PR
OIALM.SV

Interlock
Processing

OP

OIALM.FL(0..2)
OP

BYPPERM
BYPASS
MAINTOPT
MAXTRANS
MAXTIME

Maintenance
Statistics

NUMTRANS(0..2)
STATETIME(0..2)
NUMSIOVRD

RESETFL

Figure 48 More DEVCTL block major functions and parameters.


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

919

16. Device Control


16.1. DEVCTL (Device Control) Block

In summary, the DEVCTL block provides these major features.

Up to 4 inputs, 3 states, and 3 outputs.

PV Source Selection, PV has 3 basic states and in-between and faulty.

Latched and pulsed outputs.

Momentary states.

Initialization, Local Manual and Redtagging.

BADPV, Command Disagree, Uncommanded Change and Command Fail alarms.

PV Change of state event.

Permissive and Override Interlocks for each state.

Interlock trip alarms.

Seal In option.

Maintenance statistics.

The Safety Interlock enforces the defined safe state.

Safe State explicitly configured. Cannot be momentary.

Generic State parameters defined as consistent data types.

Initialization has OPFINAL based configuration.

Boolean Command option

Batch level 1 driver option.

OFF Normal Alarm associated with requested OP.

Configuration examples

920

Status Output - The following figure and its companion callout description table
show a sample configuration that uses a DEVCTL block to command two status
outputs. The view in the following figure depicts a loaded configuration in
Monitoring mode.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Figure 49 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
1

Description
Use the PVFL parameter connection to carry data from the DICHANNEL
block to the DEVCTL block.
In device control, the inputs provide the feedback that the commanded
action has or has not taken place.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

921

16. Device Control


16.1. DEVCTL (Device Control) Block

Callout

Description

You can use an appropriate interlock logic to activate the safety interlock
function.

You can command the device through the output (OP), which shows the
state names you configured for the block through Control Builder.

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.

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.

922

Pulse Output - The following figure and its companion callout description table
show a sample configuration that uses a DEVCTL block to command two on pulse
outputs. The view in the following figure depicts a loaded configuration in
Monitoring mode.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Figure 50 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
1

Description
Use the PVFL parameter connection to carry data from the DICHANNEL
block to the DEVCTL block.
In device control, the inputs provide the feedback that the commanded
action has or has not taken place.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

923

16. Device Control


16.1. DEVCTL (Device Control) Block

Callout

Description

You can use an appropriate interlock logic to activate the safety interlock
function.

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.

You can command the device through the output (OP), which shows the
state names you configured for the block through Control Builder.

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.

For the DEVCTL block to provide pulse outputs, you must:


Enable pulse outputs through the parameter Pulse Output 1, 2, 3

(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
on a state change.
Double-click DOTYPE parameter on block and change selection to

ONPULSE.

Inputs
May have from 0 to 4 inputs (DI [1 .. 4]). Each input is a Boolean value, which may
represent the state of any other block output or a field DICHANNEL (Digital Input
Channel) block.

924

The NUMDINPTS parameter determines how many DI inputs are active. When this
parameter is 0 (zero), the other inputs and PV parameters have no meaning.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Depending upon what is providing the input, the DI[1..4] connection may be
identified as a DIX[1..4] connection. The DIX is an internal parameter that is not
visible to users. It is equivalent to a DI parameter with status (BadPV). The Control
Builder determines whether an input is DI or DIX when it is created. The internal
DIXCONNECTED[1..4] parameter is set to ON, if the corresponding DI[1..4] input
is connected as a DIX type.
ATTENTION
You must assign inputs and outputs in consecutive order without gaps. For
example, if the block is to have two inputs and two outputs, you must
assign the inputs to DI[1] and DI[2] and the outputs to DO[1] and DO[2].
Assigning inputs and outputs in any other combination, results in an invalid
block configuration.

Outputs
May have from 0 to 3 outputs (DO [1 .. 3]). Each output may be Boolean or pulsed (On
Pulse or Off Pulse). Each output is a Boolean value, which may be connected to any
other block parameter or to a field DOCHANNEL (Digital Output Channel) block.

An output to any connection except to a DOCHANNEL block is a Boolean output


(DO [1 .. 3]) only.

The DOCHANNEL (DOC) block may connect three different inputs to a DEVCTL
block (output). However, only one of these inputs can be connected for any single
DOC.

DOC.SO may be connected to DO [1 .. 3].

DOC.ONPULSE may be connected to pulsed outputs PO [1 .. 3].

DOC.OFFPULSE may be connected to pulsed outputs PO [1 .. 3].

The NUMDOUTS parameter determines how many DO/PO outputs are active.
When this parameter is 0 (zero), the other outputs and OP parameters have no
meaning.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

925

16. Device Control


16.1. DEVCTL (Device Control) Block

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.

States
A "state" represents the present condition of a device. For example, Run and Stop could
represent the "states" of a two-state motor, with Stop being the safe or failsafe state. A
three-state motor could have the states of Run, Stop, and Reverse. Open and Close could
represent the states of a valve. You can configure your given device states through the
State Assignments tab of the DEVCTL block configuration form. This lets you associate
states with Boolean combinations of process feedback inputs from the field. Each input
combination is assign to a specific state. The PV parameter represents the present state of
a device in the DEVCTL block.
You can also configure the number of output states as two or three through the State
Assignments tab. These output states are mapped to specific combinations of digital
outputs. These outputs command the field device to the associated state, such as Run or
Stop. The OP parameter represents the commanded state or the device state commanded
926

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

by an operator. The DEVCTL block transmits the OP, monitors the PV, and produces
alarms based on the State Assignment configurations, which represent whether or not the
process feedback has achieved the state commanded in OP.

State parameters and descriptors


The DEVCTL block includes these two sets of parameters for state associations.

State Parameters

PV

PVAUTO

OP

OPFINAL

Generic State Parameters

GPV (generic version of PV)

GPVAUTO (generic version of PVAUTO)

GOP (generic version of OP)

GOPFINAL (generic version of OPFINAL)

The State Parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter. An operator can use these parameters.
The Generic State Parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are:

Null - Stands for Bad Value.

Inbet - Represents an in between state and could be designated MOVPV for moving
PV.

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 configuration. 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 would be set to the not
SAFEOP of S0 or S1, accordingly.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

927

16. Device Control


16.1. DEVCTL (Device Control) Block

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.

S1 - Represents settable output State 1.

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 listed above. This allows
the various State Parameters to have labels unique to each state. :You can assign your
own name for a given STATETEXT[0..6] descriptor through the State Name field on the
State Assignments tab in the block configuration form. The following table lists the
default name for a given STATETEXT[0..6] and shows the corresponding generic states
enumeration.
If STATETEXT is . . .

Then, default name is. . . And, GENSTAT_ENM is. . .

STATETEXT[0]

Bad

Null

STATETEXT[1]

Inbet

Inbet

STATETEXT[2]

Active

Active

STATETEXT[3]

Safe

Safe

STATETEXT[4]

State0

S0

STATETEXT[5]

State1

S1

STATETEXT[6]

State2

S2

These names are configurable through the State Assignments tab.

Two-State motor input example


You can represent a simple two-state motor with one input (DI[1]). In this case, when the
input is ON, the motor is in the Run mode. When the input is OFF, the motor is stopped.
The following table summarizes the input state combinations as well as the configured
state names and the related GENSTAT_ENM and DIPVMAP[0..15]for reference.
DI[1] Input State
0
928

Configured State Name


Stop

Related DIPVMAP and


GENSTAT
S0

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

DI[1] Input State

Configured State Name

Related DIPVMAP and


GENSTAT

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.

Valve input example


You can represent a valve as a device with two digital inputs. One input could represent
the contact at the Open end of the valve travel, and the other could represent the contact
at the Closed end of the valve travel. The following table summarizes the input state
combinations as well as the configured state names and the related GENSTAT_ENM and
DIPVMAP[0..15]for reference.
Input States

Configured State Name

Related DIPVMAP and

DI[1]

DI[2]

GENSTAT

Moving

Inbet

Open

SO

Closed

S1

Fault

Null

(bad)

Fault

Null

(bad)

Fault

Null

The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.

Two-Input motor example


You are free to assign states to input combinations as desired. You can assign the same
state to more than one combination of input. In this example, the motor is considered to
be in Run whenever the DI[2] input is ON (1). The following table summarizes the input
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

929

16. Device Control


16.1. DEVCTL (Device Control) Block

state combinations as well as the configured state names and the related
GENSTAT_ENM and DIPVMAP[0..15] for reference.
Input States

Configured State Name

Related DIPVMAP and

DI[1]

DI[2]

GENSTAT

Fault

Null

Stop

S0

Run

S1

Run

S1

(bad)

Fault

Null

(bad)

Fault

Null

The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.

Reversible motor input example


You can use all three states to assign input combinations to represent a reversible motor.
The following table summarizes the input state combinations as well as the configured
state names and the related GENSTAT_ENM and DIPVMAP[0..15] for reference.
Input States

930

Configured State Name

Related DIPVMAP and

DI[1]

DI[2]

GENSTAT

Stop

S0

Run

S1

Reverse

S2

Fault

Null

(bad)

Fault

Null

(bad)

Fault

Null

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

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.

Four-Input two-valve example


You can have up to four inputs with 16 possible state assignments. This can represent an
application with two valves that each have open and close contacts. In this case, DI[1]
and DI[2] represent open and close states for valve #1, and DI[3] and DI[4] represent
open and close states for valve #2. The following table summarizes the input state
combinations as well as the configured state names and the related GENSTAT_ENM and
DIPVMAP[0..15] for reference.
Input States

Configured State

Related
DIPVMAP and

DI[1]

DI[2]

DI[3]

DI[4]

Name

GENSTAT

Fault

Null

Fault

Null

Valve Moving

Inbet

Fault

Null

Valve Moving

Inbet

Valve1 Open

S1

Val1&2 Close

S0

Fault

Null

Fault

Null

Fault

Null

Valve2 Open

S2

Fault

Null

Fault

Null

Fault

Null

Fault

Null

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

931

16. Device Control


16.1. DEVCTL (Device Control) Block

Input States

Configured State

Related
DIPVMAP and

Fault

Null

(bad)

Fault

Null

(bad)

Fault

Null

(bad)

Fault

Null

(bad)

Fault

Null

The (bad) state refers to the status that is part of a DIX type input. This represents a
failure in the associated DICHANNEL block. If the DIXCONNECTED[1..4] parameter
for this input is OFF, this state cannot occur.

DI to PV state map
The DIPVMAP[0..15] is the parameter array used to make the actual state assignments
for PVAUTO as summarized in the tables for the previous examples. Each element of
DIPVMAP[0..15] represents one combination of the input values. DIPVMAP[0..15] is
same type of STATTEXT[0..6]. It cannot be assigned to the Active and Safe GENSTAT
enumerations and the default state is Bad.

Two-State motor with latched output example


You can command a latched two-state motor through a single output. In this example, if
the commanded state is S0 or Stop, the single output DO[1] is set to 0 (OFF). If the
commanded state is S1 or Run, the single output DO[1] is set to 1 (ON). There is no
"bad" state for outputs. The following table summarizes the output state combinations as
well as the configured state names and the related GENSTAT_ENM for reference.
Configured State Name

Related GENSTAT

Output DO[1] State

Stop

S0

Run

S1

Valve Output Example


You can use two outputs to open and close a valve. Since there are more combinations of
outputs than there are states available, you must make unique output state assignments.
For this example, when Close is commanded, DO[1] only is set. When Open is
commanded, DO[2] only is set. There is no way to command the other possible
932

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

combinations. The following table summarizes the output state combinations as well as
the configured state names and the related GENSTAT_ENM for reference.
Configured State Name

Related GENSTAT

Output States
DO[1]

DO[2]

Close

S0

Open

S1

Three-State Motor output examples


You can use two outputs to provide different outputs for three states. Of course, the
NUMSTATES parameter is set to three. The following table summarizes the output state
combinations as well as the configured state names and the related GENSTAT_ENM for
reference.
Configured State Name

Related GENSTAT

Output States
DO[1]

DO[2]

Stop

S0

Run

S1

Reverse

S2

Since you can assign outputs to any state. It is possible to have more than one output on
for a given state. The following table summarizes the output state combinations as well
as the configured state names and the related GENSTAT_ENM for reference.
Configured State Name

Related GENSTAT

Output States
DO[1]

DO[2]

Stop

S0

Run

S1

Reverse

S2

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

933

16. Device Control


16.1. DEVCTL (Device Control) Block

If you have three outputs instead of two, there are eight possible combinations that can
be assigned to three states. The following table summarizes the output state combinations
as well as the configured state names and the related GENSTAT_ENM for reference.
Configured State Name

Related GENSTAT

Output States
DO[1]

DO[2]

DO[3]

Stop

S0

Run

S1

Reverse

S2

ATTENTION
Output combinations are not necessarily the same as the input feedback
combinations for the same state.

Mode and mode attribute

Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter


is also fixed at MANual.

Mode Attribute (MODEATTR) - determines where state commands to the DEVCTL


block may originate - that is, who may set the commanded output state (OP), as
follows:

OPERATOR = only the operator may command the output state.

PROGRAM = only other function blocks (such as Logic blocks, SCM


programs) may command the output state by setting OPREQ.

NORMAL = the setting specified by the Normal Mode Attribute


(NORMMODEATTR) is assumed.

Safe output state


The Safe Output State (SAFEOP) parameter defines the default state for certain actions
of the DEVCTL block, such as the momentary output state and OP initialization.
SAFEOP can be assigned to any of the settable states of the block (that is, those states to
which parameter OP may be assigned). The default for SAFEOP is State 0.

934

When NUMSTATES = 2, then State 2 is illegal for SAFEOP.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

SAFEOP may not be assigned to a state, which is already configured as momentary.

When OP or GOP is commanded to safe, the effective value of OP (GOP) is set


equal to SAFEOP.

Momentary state
The Momentary State (MOMSTATE) parameter lets you configure states as being
momentary. This is like providing push-button operation. When the operator commands
a new output state (OP), the selected momentary state is active for only a Fixed Time
or as long as the operator request the value. Once the operator ceases requesting the
value and the internal timeout occurs, the DEVCTL block returns to the Safe Output
State (SAFEOP).
Fixed Time is defined:
For containing CM periods

5 seconds. Momentary States are

5 seconds for all

possible CM periods.

The following table summarizes the MOMSTATE parameter selections.


If Momentary State selection is . . .

Then,

NONE

No state is momentary.

STATE_0

State 0 is momentary and it must not be


configured as the safe output.

STATE_1

State 1 is momentary and it must not be


configured as the safe output.

STATE_0AND1

Both State 0 and State 1 are momentary


and neither one must be configured as
the safe output. This can only be
selected if the number of states
(NUMSTATES) is three.

STATE_2

State 2 is momentary and it must not be


configured as the safe output. This can
only be selected if the number of states
(NUMSTATES) is three.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

935

16. Device Control


16.1. DEVCTL (Device Control) Block

If Momentary State selection is . . .

Then,

STATE_0AND2

Both State 0 and State 2 are momentary


and neither one must be configured as
the safe output. This can only be
selected if the number of states
(NUMSTATES) is three.

STATE_1AND2

Both State 1 and State 2 are momentary


and neither one must be configured as
the safe output. This can only be
selected if the number of states
(NUMSTATES) is three.

Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. You can
then have the state of the digital input stored to the LOCALMAN pin added to the
DEVCTL block through a DICHANNEL connection. Since the control system may not
have control over the field device when the HAND/OFF/AUTO switch is not in the
AUTO position, the LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP will be set to SAFEOP. This assures
that the last commanded state agrees with the present value of the feedback state, when
the LOCALMAN is turned OFF. You cannot directly command the OP (GOP) while the
LOCALMAN is ON.
You cannot access LOCALMAN, if the DEVCTL block has no inputs or no outputs
connected. Since PV is illegal for no inputs and OP is illegal for no outputs,
LOCALMAN has no meaning for these conditions.

Permissive interlocks
PI[0..2]are Permissive Interlocks which are inputs that may be connected to an external
function block to determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the DEVCTL block to a specific state. Permissive
Interlocks themselves never cause OP to change.

936

For OP to be changed to the desired state, the corresponding Permissive Interlock


parameter must be set to ON.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

The Permissive Interlocks are all defaulted to ON, thereby allowing permission to all
the states - they must be individually set to OFF to prevent access to the
corresponding OP state.

Safety Override Interlock


The Safety Override Interlock (SI) forces the commanded output state (OP) to the Safe
Output State (SAFEOP) when active. No one may command OP to a different state while
SI is active.

SI may be connected to other blocks or may be directly set by an operator if the


MODEATTR parameter is set to Operator and the block is inactive.

SI is defaulted to OFF, it must be set to ON to force OP to go to SAFEOP.

When SI turns OFF, OP = SAFEOP is maintained until changed by:

the operator

a user program

another Safety Override Interlock

Override Interlocks
OI[0..2] are Override Interlocks which, when active, force the commanded output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.

Override Interlocks may be connected to other block outputs or may be directly set
by an operator if MODEATTR = OPERATOR and the block is inactive.

Override Interlock parameters are all defaulted to OFF, thereby disabling all the
Override Interlocks. They must be set to ON to force OP to go to any specific state.
If the Override Interlock forces OP to go to a momentary state, it stays in that state
as long as the interlock remains ON and then switches back to the original state
when the Override Interlock is reset to OFF.

SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks themselves are determined by the state assigned to SAFEOP as
follows:

If SAFEOP = State 0, then priority is SI, OI[0], OI[1], OI[2]

If SAFEOP = State 1, then priority is SI, OI[1], OI[0], OI[2]

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

937

16. Device Control


16.1. DEVCTL (Device Control) Block

If SAFEOP = State 2, then priority is SI, OI[2], OI[0], OI[1]

Configurable Override/Permissive Interlock Bypass


To grant an operator the ability to bypass the Permissive and Override Interlocks for a
DEVCTL block, the parameter BYPPERM must be set to ON. The operator can then set
or reset the parameter BYPASS.

When BYPASS is ON, OP can be changed regardless of the state of the Override
Interlocks.

When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.

BYPASS does not affect the Safety Override Interlock (SI).

When BYPPERM is OFF, BYPASS defaults to OFF and is read-only.

Alarms
An available set of PV state alarms may be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock Alarm is also available. Each of these alarms possesses all the
standard attributes of system alarms.

Command Fail Alarm - generated when the Current Active State (PV) fails to
change from an original value to any other value within a configurable time interval
after the OP parameter is commanded.

You can configure the feedback time (CMDFALALM.TM[0..2) for each state
through the Alarms tab on DEVCTL block configuration form. The value of OP
just commanded determines which CMDFALALM.TM[0..2] is active. The
CMDFALALM.TM[0..2] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..2] parameter to 0 disables the alarm for the associated
state[0..2]. The alarm function is also automatically disabled, if there are no
inputs or no outputs. CMDFALALM.TM[0..2] changes from or to 0, require
CM InActive or CEE Idle.
ATTENTION
The CMDFALALM.TM[0..2] setting must be less than the
CMDDISALM.TM[0..2] setting for the same state[0..2].

938

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

Bad PV Alarm - generated whenever the Current Active State (PV) is detected to be
a NULL (or bad) state.

Command Disagree Alarm - generated when the Commanded Output State (OP) is
changed and the actual input state (PV) does not change accordingly within a
specified feedback time.
ATTENTION
For device in a BAD state, the PV Value of a DEVCTL block refreshes only
when the CMD disagree or CMD fail timer is finished. So, the PV value is not
correct during a transition state. However, if you configure an INBET (In
Between) status, this status is directly written to the PV output without waiting
for the timeout defined by CMD disagree.

You can configure the feedback time (CMDDISALM.TM[0..2) for each state
through the Alarms tab on DEVCTL block configuration form. The value of OP
just commanded determines which CMDDISALM.TM[0..2] is active. The
CMDDISALM.TM[0..2] setting range is 0 to 1000 seconds. Setting a given
CMDDISALM.TM[0..2] parameter to 0 disables the alarm for the associated
state[0..2]. The alarm function is also automatically disabled, if there are no
inputs or no outputs. CMDDISALM.TM[0..2] changes from or to 0, require CM
InActive or CEE Idle.

This alarm condition returns to normal when the input PV state becomes equal to
the OP state. The alarm is not generated for momentary commanded states.

Uncommanded Change Alarm - generated if the actual input state (PV) changes but
has not been commanded to change (unless it is a bad PV). This alarm is configured
whenever the Command Disagree Alarm is configured.

This alarm condition returns to normal when the input PV state becomes equal to
the commanded OP state. The alarm is not generated for momentary
commanded states.

Off Normal Alarm - This alarm is enabled when OPREQ is set to any value other
than Null. It uses the difference between OPREQ and PV. The off normal alarm flag
(OFFNRMALM.FL) is active when the PV cannot match the Output Request. The
off-normal condition means that the eventual PV does not match the OP which was
commanded by the higher level function. The OFFNRMALM.FL is used to reflect
this requirement.

R110
February 2014

The higher level function, such as a Sequential Control Module (SCM), can tell
that something is wrong by reading the OFFNRMALM.FL. This flag value can
Experion LX Control Builder Components Theory
Honeywell

939

16. Device Control


16.1. DEVCTL (Device Control) Block

be used as a condition for exception handling. The Off Normal condition is


examined as follows:
1)

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.

1)

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.

Seal-In option
The Seal-In option is used to clear output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (SAFEOP), but OP is not
altered. You can observe OPFINAL to determine what state was actually commanded to
the output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.

940

Seal-In option and Momentary state are mutually exclusive. The Momentary state
has to be None to configure the Seal-In option.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.

When you enable the SEALOPT, any Momentary State selection is negated .

Initialization Manual condition


Initialization Manual is a condition resulting from failure in the field devices connected
to the output of the Discrete Control FB. When this condition is active, the parameter
INITMAN is set ON. Outputs may not be commanded when INITMAN is TRUE.

INITDOWN[1..3] - This is an input which may be connected to the DOC INITREQ


output. When possible, this connection will be made automatically by the system,
without action required of the user.

This is a structure containing the INITREQ status and the DOC.SO present value.

INITCONNECTD[1..3] - 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.

OP Initialization Option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value is
NORMALOPT.

INITOPOPT = NORMALOPT, perform normal initialization as described below in


Initialization Manual Condition with Safety Override Interlock, Override Interlocks,
LocalMan, and OP Initialization.

INITOPOPT = SAFEOPOPT, OP is set to SAFEOP

INITOPOPT = HOLDOPOPT, initialization will not be performed. OP remains the


last value.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

941

16. Device Control


16.1. DEVCTL (Device Control) Block

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 operators 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.


942

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

The following figure illustrates the return from initialization behavior.

Initialization with Pulse Output


If Pulse Outputs are configured, the following rules should be followed in generating
pulses when recovering from initialization :

When PV is good, OP and OpFinal are initialized to PV, no pulses should be


generated.

When PV is Bad, OP and OpFinal are initialized to SafeOp, pulses should be


generated.

When LEGACYINITOPT is enabled, no pulses should be generated for any


selection of INITOPOPT.

The following table represents the state of the pulse and digital outputs with respect to
INITOPOPT and LEGACYINITOPT after recovering from initialization.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

943

16. Device Control


16.1. DEVCTL (Device Control) Block

Outpu
t Type

INITOPOPT

Pulse

NORMALOPOP
T

Digita
l

PV

State Changes to

Output Pulses

When
LEGACYINI
TOPT is
disabled

When
LEGACYIN
ITOPT is
enabled

When
LEGACYINI
TOPT is
disabled

When
LEGACYINI
TOPT is
enabled

Good

PV

PV

No

No

Bad

SafeOp

SafeOp

Yes

No

HOLDOPOPT

N/A

Back Init
from
outputs

No
Change

Yes, if
state
changes to
SafeOp

No

SAFEOPOPT

N/A

SafeOp

SafeOp

Yes

No

NORMALOPOPT

Good

PV

PV

N/A

N/A

Bad

Back Init
from outputs

Back Init
from
outputs

N/A

N/A

HOLDOPOPT

N/A

Back Init
from outputs

No Change

N/A

N/A

SAFEOPOPT

N/A

SafeOp

SafeOp

N/A

N/A

For more information on the LEGACYINITOPT parameter, refer to the Control Builder
Parameter Reference guide.

Initialization Request Flags


The Device Control function block parameter INITREQ[0..2] provides an indication
whether a command to a certain state (corresponding to the parameter index 0..2) will be
accepted and acted upon at the present time. This parameter can be read prior to sending
a command to the block to check if the device can respond as desired. INITREQ[i] (i = 0,
1, or 2) = OFF indicates that the block can be commanded to statei, and INITREQ [i] (i =
0, 1, or 2) = ON indicates that the block cannot be commanded to statei. Things like
override interlocks, permissive interlocks, etc. can cause a certain state to not be settable
at a given point in time.

944

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

TIP
Note that the INITREQ is used differently in DevCtl block than in other blocks,
such as DOC, AOC, or RegCtl.

OP and DO Initialization After Load


This function gives you an opportunity to configure the initialization values of digital
outputs (DOs) to their desired values. This feature is typically used for the strategy where
the outputs of a Device Control function block are connected to non-initializable blocks,
such as logic blocks. The configuration is done through a new parameter,
INITOPAFTLD. The user will have to configure the initialization state for OP, and the
value of OP will be mapped to DOs, according to the configured map of OP-DO
(OPDOMAP), after load. The options for INITOPAFTLD can be any configured states
(State0, State1, or State2 if 3-state is configured), or default. The default option will
initialize OP to State0, and all the DOs to 0 (OFF).
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).

Maintenance Statistics
The DEVCTL block collects a set of Maintenance Statistics which are enabled by
configuring MAINTOPT = ON.
The following parameters can be configured to provide suggested maximums. No
operations are rejected due to the values of these parameters. These MAXxxx parameters
are useful as references for comparison with the actual measured statistics.

MAXTRANS [0 .. 2] - maximum number of transitions of PV to each state. Useful


to compare these values to NUMTRANS [0 .. 2].

MAXTIME [0 .. 2] - maximum number of hours of PV accumulated in each state.


Useful to compare these values to STATETIME [0 .. 2].

The statistics collected include:

NUMTRANS [0 .. 2] - accumulated number of transitions of PV to each state (since


the last statistics reset).

STATETIME [0. 2] - accumulated time of PV in each state (since the last statistics
reset).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

945

16. Device Control


16.1. DEVCTL (Device Control) Block

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.

Output requests
Whenever an external FB attempts to change the commanded state OP, the DEVCTL
block uses the OP request mechanism. The OP request (OPREQ/GOPREQ) differs from
direct access an operator uses to the commanded state OP. The OPREQ is a string in the
same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM, which is the
same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It may be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ will continue to attempt stores
even if attributes, such as interlocks, become active and block changes to OP. Thus, once
the attributes blocking change to OP have reset OPREQ stores the commanded state to
OP.

Output command
The block provides a Boolean command capability through an array of Boolean inputs
(OPCMD[0..2]. When the mode attribute (MODEATTR) is Program and the SCM
option (SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command
(OPCMD[0..2]). When the given OPCMD[0..2] is set to ON, the block sets the OPREQ
to the corresponding state. In this case, the OPCMD[0] corresponds to state0,
OPCMD[1] corresponds to state1, and OPCMD[2] corresponds to state2. When more
than one of the Boolean inputs (OPCMD[0..2] are ON, the OPREQ is set according to
the following priority.

946

If SAFEOP is SO, the priority is OPCMD[0], OPCMD[1], OPCMD[2].

If SAFEOP is S1, the priority is OPCMD[1], OPCMD[0], OPCMD[2].

If SAFEOP is S2, the priority is OPCMD[2], OPCMD[0], OPCMD[1].

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

16. Device Control


16.1. DEVCTL (Device Control) Block

If an SCM commands the device by sending a Null type of request to GOP and there are
active OPCMDs (this is possible when SCMOPT = NONE, MODEATTR = Program,
and SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM store to GOP
will be rejected, if any of the OPCMD[0..2] elements are active (one or more
OPCMD[0..2] members are ON). An SCM can only get control, when all OPCMD[0..2]
elements are OFF.
ATTENTION
It is not recommended to use step outputs of type S_IEC, N_IEC, or R_IEC
with destination parameters that are inputs to flip-flops or other bistable,
monostable blocks, or logic configurations. Examples are OPCMD[0..2] of
DEVCTL and S and R of LOGIC:RS. Although these configurations are
technically supported and show a predictable behavior, the resulting behavior
may be non-intuitive and confusing to operators (example: using an N_IEC
output on OPCMD[1] will result in OP-behavior similar to what would be
expected from an S_IEC output if directly controlling a parameter such as
OP). Therefore, this practice is not considered a good engineering practice.

Logic override OPREQ


You can use the clear OPREQ flag parameter (CLROPREQFL) through a passive
connection to a Logic type block to clear the OPREQ, if the MODEATTR is Program.
When the CLROPREQFL changes from OFF to ON, OPREQ is set to NULL and the OP
remains unchanged.

DEVCTL parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the DEVCTL block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

947

16. Device Control


16.1. DEVCTL (Device Control) Block

948

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1 Logic Function Blocks
Functional Overview
The Logic Functions Blocks can be combined with the Device Control Function Block to
provide the basis for integrated Logic control. The blocks provided fall into one of these
basic functional categories.

Bitwise Boolean functions

Comparison functions

Arithmetic functions

Selection functions

Bistable (flip-flop) functions

Edge triggered functions

Timed functions

Voted functions

The following table provides a description and a brief explanation of the functional
capabilities of the named function block. In most cases, the name of the block is intuitive
of its function.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

949

17. Logic Functions


17.1. Logic Function Blocks

Block Name/
Graphic

2003

Description

Function

2-out-of-3 Voting block


outputs (DISCREP and MAJ)
are determined as follows:

Sets the output (DISCREP)


to ON if NOT all inputs
agree for a specified time
duration (DELAY);
otherwise, it is set to OFF.

DISCREP = OFF when all

inputs are equal.


= ON when all inputs are
not equal for time >=
DELAY.
MAJ = value held by the

majority of the inputs.


The configuration of the LOGICINITOPT parameter for the Control Module determines how the
2OO3 block output DISCREP responds as a result of block state transitions such as activate,
warm start, cold start or RAM Retention Restart (RRR). The delay timing starts fresh whenever a
state transition occurs. Disagreement in inputs causes DISCREP to go to On state only if it
persists throughout the DELAY interval following a state transition. The following table
summarizes the possible DISCREP action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Some
IN
Disagree . . .

Then, DISCREP Value After State


Transition Is . . .

PULSEEXPIRED

OFF

OFF

PULSEEXPIRED

ON

ON only if disagreement persists for full


DELAY interval.

PULSEREADY

OFF

PULSEREADY

ON

OFF
May go to ON state if disagreement
persists for less than full DELAY interval.

We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications.

950

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

Provides an up to 8-input
AND algorithm, meaning that
it performs the Boolean
operation of conjunction. Each
input (IN[1], IN[2], ..., IN[8])
has the capability of being
optionally inverted, if required.

AND

Turns the digital output


(OUT) ON only when all
inputs (IN[1], IN[2], ..., IN[8])
are ON. Therefore:
If all inputs are ON, then:

OUT = ON.
If any input is OFF, then:

OUT = OFF.

CHECKBAD

Provides bad input handling


for desired input.

Checks if input (IN) value


equals NaN.
If IN = NaN
Then, OUT = ON
Else, OUT = OFF

CHECKBOOL

Provides the ability to modify


the OUTPUT based on
programmable parameters
where the OUTPUT either
tracks the INPUT, latch the
OUTPUT, (ON or OFF), or
latch the OUTPUT to a
specific known good value for
a specific time based on
configuration parameters
associated with the block.
See CheckBool under
Examples and Scenarios for
Use Case examples of the
CheckBool block.

Determines the action to be


taken in the event of an
invalid input. If the value of
INSTS[1..8] is kBadValSts,
the value passed through
the block, from IN[1..8] to
OUT[1..8], will be modified
based on the configuration
of the BADINACT[1..8]
parameter.
If BADINACT is configured
as OFF, then OUT[1..8] is
set equal to OFF
If BADINACT is configured
as ON, then OUT[1..8] is set
equal to "ON"
If BADINACT is configured
as HoldLast, then
OUT[1..8] is set equal to
LASTIN[1..8]

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

951

17. Logic Functions


17.1. Logic Function Blocks

The Change Execution block


helps in optimizing the
performance of control
modules (CM) used
exclusively for logic
computation.

CHGEXEC

Refer to the CHGEXEC


(Change Execution) Block
section following this table
for more information about
this block's functions.

ATTENTION
The CONTACTMON block can only be used with C300 Controllers.

952

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

CONTACTMON

The Contact Monitoring block, Inputs:


available under the Logic
IN[1..2] - Input parameter
library, is used for limit
corresponding to the NO
switches with NO and NC
and NC Contact of a
Contact with the same
micro Switch.
activation mechanism. In most
cases, the limit switch serves
Outputs:
some critical applications. An
alarm is generated when both PVFL - this gives the
digital inputs are ON or OFF
negated XOR results of
at the same time, indicating a
IN[1] and IN[2]
switch malfunction. The
OUT1 - Tracks IN[1]
Contact Monitoring block
when both inputs of COC
allows the user to generate an
are not ON
alarm whenever the state of
both inputs is simultaneously
OUT2 - Tracks IN[2]
ON or OFF based on the
when both inputs of COC
NORMAL state configuration.
are not ON.
See Contact Monitoring
Error Handling:
(CONTACTMON) block under
Examples and Scenarios
The block displays an
section for sample block
error when an invalid
function and execution.
index or access lock is
detected during loading.
SR parameters are not

editable on the
monitoring side. A string
input to the SR
parameter results in an
error message being
reported during
configuration and the
input string is rejected.
The alarm flags are

cleared when the CM is


inactivated or CEE is
made IDLE.

DELAY

R110
February 2014

Provides the ability to delay


the output (OUT) response to
the given input (IN) by a
sample cycle time.

The OUT always follows the


input (IN) action by a
sample cycle time.

Experion LX Control Builder Components Theory


Honeywell

953

17. Logic Functions


17.1. Logic Function Blocks

EQ

Provides a 2-input Compare


Equal (with deadband range)
function, meaning that it
compares two inputs for
equality within a specified
deadband range.

Turns the digital output


(OUT) ON only when the
two inputs (IN[1] and IN[2])
are considered equal within
a specified deadband range
or, for single inputs, a
designated trip point
parameter (TP) as follows:
If ((IN[1] - IN[2) <=

DEADBAND1), then:
OUT = ON.
If ((IN[1] - IN[2]) >

DEADBAND2), then:
OUT = OFF.
Else OUT is not changed.

DEADBAND1 and
DEADBAND2 must satisfy
the following constraint::
0 <= DEADBAND1 <=
DEADBAND2
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.

FTRIG

954

Falling edged Trigger Block


sets the output (OUT) to ON
following the ON-to-OFF
transition of the input and
stays ON until the next
execution cycle, at which time
it returns to OFF.

Provides falling edged


change detection, thereby
turning the output ON if an
ON-to-OFF transition is
detected.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
FTRIG block OUT responds as a result of block state transitions such as activate, warm start, cold
start or RAM Retention Restart (RRR). The following table summarizes the possible OUT action
for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

PULSEEXPIRED

ANY

PULSEREADY

ANY

Then, OUT Value After State Transition


Is . . .
OFF
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.

GE

Provides a 1- or 2-input
Compare Greater Than or
Equal (with deadband)
function. That is, it checks to
see if one designated input
(IN[1]) is greater than or equal
to either a second input (IN[2])
or, for single inputs, a
designated trip point
parameter (TP).

Turns the digital output


(OUT) ON only when one
designated input (IN[1]) is
greater than or equal to a
second input (IN[2]) or, for
single inputs, a designated
trip point parameter (TP) as
follows:
If IN[1] >= IN[2], then:

OUT = ON.
If IN[1] < (IN[2] -

DEADBAND), then: OUT


= OFF.
If (IN[2] - DEADBAND) <

IN[1] < IN[2], then OUT is


not changed.
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

955

17. Logic Functions


17.1. Logic Function Blocks

GT

Provides a 1- or 2-input
Compare Greater Than (with
deadband) function. That is, it
checks to see if one
designated input (IN[1]) is
greater than either a second
input (IN[2]) or, for a single
input, a designated trip point
parameter (TP).

Turns the digital output


(OUT) ON only when one
designated input (IN[1]) is
greater than a second input
(IN[2]) or, for single input, a
designated trip point
parameter (TP) as follows:
If IN[1] > IN[2], then:

OUT = ON.
If IN[1] <= (IN[2] -

DEADBAND), then: OUT


= OFF.
If (IN[2] - DEADBAND) <

IN[1] <= IN[2], then: OUT


is not changed.
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.

LE

Provides a 1- or 2-input
Compare Less Than or Equal
(with deadband) function, that
is, it checks to see if one
designated input (IN[1]) is less
than or equal to either a
second input (IN[2]) or, for a
single input, a designated trip
point parameter (TP).

Turns the digital output


(OUT) ON only when one
designated input (IN[1]) is
less than or equal to a
second input (IN[2]) or, for a
single input, a designated
trip point parameter (TP) as
follows:
If IN[1] <= IN[2], then:

OUT = ON.
If IN[1] > (IN[2] +

DEADBAND), then: OUT


= OFF.
If IN[2] < IN[1] <= (IN[2]

+ DEADBAND), then:
OUT is not changed.
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.

956

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

LIMIT

Provides a 3-input limit


function, that is, it provides an
output that is maintained
within a specified range as
defined by user-specified
minimum and maximum
values.

Provides an output that is


maintained within a
specified range as follows:
MN OUT MX
If IN is not NaN, OUT =

MIN ( MAX ( IN, MIN ),


MAX )
If IN = NaN, OUT = NaN

LT

Provides a 1- or 2-input
Compare Less Than (with
deadband) function, that is, it
checks to see if one
designated input (IN[1]) is less
than either a second input
(IN[2]) or, for a single input, a
designated trip point
parameter (TP).

Turns the digital output


(OUT) ON only when one
designated input (IN[1]) is
less than a second input
(IN[2]) or, for a single input,
a designated trip point
parameter (TP) as follows:
If IN[1] < IN[2], then:

OUT = ON.
If IN[1] >= (IN[2] +

DEADBAND), then: OUT


= OFF.
If IN[2] <= IN[1] < (IN[2]

+ DEADBAND), then:
OUT is not changed.
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.

MAX

R110
February 2014

Provides an N-input MAX


function, that is, it provides an
output that is the maximum
value of N-inputs.

Used to isolate the highest


value of multiple input
values and use it as a
designated output value.

Experion LX Control Builder Components Theory


Honeywell

957

17. Logic Functions


17.1. Logic Function Blocks

MAXPULSE

Provides a maximum time


limit pulse output (OUT) each
time the input (IN) transitions
from OFF to ON. You specify
the maximum output pulse
width (PULSEWIDTH) in
seconds through
configuration.

Used to limit the output


(OUT) pulse to a maximum
width.

If the input (IN) pulse


time is less than or equal
to the specified
PULSEWIDTH time, 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.
MAXPULSE timing diagram:

IN

OUT
Maximum
Pulsewidth

958

Maximum
Pulsewidth

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
MAXPULSE block OUT responds as a result of block state transitions such as activate, warm
start, cold start or RAM Retention Restart (RRR). The following table summarizes the possible
OUT action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

PULSEEXPIRED

ANY

PULSEREADY

ANY

Then, OUT Value After State Transition


Is . . .
OFF
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

R110
February 2014

Provides an N-input MIN


function, meaning that it
provides an output that is the
minimum value of N-inputs.

Used to isolate the lowest


value of multiple input
values and use it as a
designated output value.

Experion LX Control Builder Components Theory


Honeywell

959

17. Logic Functions


17.1. Logic Function Blocks

Provides a minimum time limit Used to define the minimum


pulse output (OUT) each time output (OUT) pulse width.
the input (IN) transitions from
If the input (IN) pulse
OFF to ON. You specify the
time is less than or equal
minimum output pulse width
to the specified
(PULSEWIDTH) in seconds
PULSEWIDTH time,
through configuration.
output (OUT) pulse width
equals the specified time.

MINPULSE

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.
MINPULSE timing diagram:

IN

OUT
Minimum
Pulsewidth

960

Minimum
Pulsewidth

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
MINPULSE block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

PULSEEXPIRED

ANY

PULSEREADY

ANY

Then, OUT Value After State Transition


Is . . .
OFF
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

R110
February 2014

Provides an up to 8-input
Extensible Multiplexer
algorithm, meaning that it
selects 1 of "N" inputs
depending on a separate
input K.

Sets the actual output


(OUT) to a particular input
(IN[1], IN[2], ..., IN[8])
depending on the value of a
separate input K.
OUT = INk+1

Experion LX Control Builder Components Theory


Honeywell

961

17. Logic Functions


17.1. Logic Function Blocks

Provides an up to 8-input
Extensible Multiplexer
algorithm, that is, it selects 1
of "N" inputs depending on a
separate input K.

MUX-REAL

Sets the actual output


(OUT) to a particular input
(IN[1], IN[2], ..., IN[8])
depending on the value of a
separate input K.
OUT = INk+1

Provides an output (MAJ)


value that equals the value of
the majority of the inputs
(IN[1..8]) and sets another
output (DISCREP) to ON if
not all inputs agree for a
specified time (DELAY). You
specify the time (DELAY) in
seconds through
configuration. You must also
specify the number of inputs
(NUMOFINPUTS) through
configuration.

MVOTE

Sets the MAJ output equal


to the value of the majority
of the inputs (IN[1..8]).
Sets the DISCREP output to
ON, if not all inputs agree
during the specified time
(DELAY). DELAY is a unit
integer with time unit in
seconds.

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
MVOTE block output DISCREP responds as a result of block state transitions such as activate,
warm start, cold start or RAM Retention Restart (RRR). The delay timing starts fresh whenever a
state transition occurs. Disagreement in inputs causes DISCREP to go to On only if it persists
throughout the DELAY interval following a state transition. The following table summarizes the
possible DISCREP action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Some
IN
Disagree . . .

Then, DISCREP Value After State


Transition Is . . .

PULSEEXPIRED

OFF

OFF

PULSEEXPIRED

ON

ON only if disagreement persists for full


DELAY interval.

PULSEREADY

OFF

PULSEREADY

ON

OFF
May go ON if disagreement persists for
less than full DELAY interval.

We recommend that you use the default value of PULSEEXPIRED for the LOGICINITOPT
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.

962

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

NAND

Provides an up to 8-input
NAND algorithm, that is, it
performs an inverted AND
function. Each input (IN[1],
IN[2], ..., IN[8]) has the
capability of being optionally
inverted, if required.

Turns the digital output


(OUT) OFF only when all
inputs (IN[1], IN[2], ..., IN[8])
are ON; therefore:
If all inputs are ON, then:

OUT = OFF.
If any input is OFF, then:

OUT = ON.

NE

Provides a 1- or 2-input
Compare Not Equal (with
deadband range) function,
that is, it checks to see if one
designated input (IN[1]) is not
equal to either a second input
(IN[2]) or, for a single input, a
designated trip point
parameter (TP).

Turns the digital output


(OUT) ON only when the
two inputs (IN[1] and IN[2])
are not considered equal
within a specified deadband
range or, for single inputs, a
designated trip point
parameter (TP) as follows:
If ((IN[1] - IN[2) <=

DEADBAND1), then:
OUT = OFF.
If ((IN[1] - IN[2]) >

DEADBAND2), then:
OUT = ON.
Else OUT is not changed.

DEADBAND1 and
DEADBAND2 must satisfy
the following constraint::
0 <= DEADBAND1 <=
DEADBAND2
If either input (IN[1] or IN[2])
is NaN, the output (OUT) is
set to INBADOPT.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

963

17. Logic Functions


17.1. Logic Function Blocks

n-out-of-N voting block;


outputs are computed as
follows:

nOON

Provides VOTED, ORED


and ALARM outputs in
support of logical functions.

VOTED output is set to ON

if at least n inputs are ON,


otherwise it is set to OFF.
ORED output is set to ON if

any input is ON, otherwise


it is set to OFF.
ALARM output is a pulse

output - every time an input


turns ON, a fixed pulse (of
the pulsewidth specified by
PULSEWIDTH parameter)
is generated, provided the
total number of inputs
which are ON is less than
n.
The configuration of the LOGICINITOPT parameter for the Control Module determines how the
nooN block OUT responds as a result of block state transitions such as activate, warm start, cold
start or RAM Retention Restart (RRR). The following table summarizes the possible OUT action
for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

PULSEEXPIRED

ANY

PULSEREADY

ANY

Then, OUT Value After State Transition


Is . . .
OFF
May pulse depending on the value of the
current input and value of the 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.

964

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

NOR

Provides an up to 8-input
NOR algorithm, that is, it
performs an inverted OR
function. Each input (IN[1],
IN[2], ..., IN[8]) has the
capability of being optionally
inverted, if required.

Turns the digital output


(OUT) OFF if any one input
(IN[1], IN[2], ..., IN[8]) is ON;
therefore:
If all inputs are OFF,

then: OUT = ON.


If any one input is ON,

then: OUT = OFF.

NOT

Provides a NOT algorithm,


that is, it performs an
inversion function.

Reverses the state of a


digital input (IN) such that
the output (OUT) is the
complement of the single
input; therefore:
OUT = opposite of IN

OFFDELAY

Delays the input signal


supplied at the input (IN)
when the input signal
transitions from ON to OFF.

If IN = ON, then:
OUT = OFF.

If IN = OFF, then
OUT = ON.

Used to delay the input by a


specified delay time after an
ON/OFF device transitions
from the ON state to the
OFF state.
Delay time is specified by

the DELAYTIME
parameter.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

965

17. Logic Functions


17.1. Logic Function Blocks

OFFDELAY timing diagram:

IN

OUT

OFF Delay
Time

OFF Delay
Time

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
OFFDELAY block OUT responds as a result of block state transitions such as activate, warm
start, cold start or RAM Retention Restart (RRR). The following table summarizes the possible
OUT action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

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.

966

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

Delays the input signal


supplied at the input (IN)
when the input signal
transitions from OFF to ON.

ONDELAY

Used to delay the input by a


specified delay time after an
ON/OFF device transitions
from the OFF state to the
ON state.
Delay time is specified by

the DELAYTIME
parameter.
ONDELAY timing diagram:

IN

OUT
ON Delay
Time

ON Delay
Time

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
ONDELAY block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

967

17. Logic Functions


17.1. Logic Function Blocks

OR

Provides an up to 8-input OR
algorithm, meaning that it
performs the inclusive OR
Boolean function. Each input
(IN[1], IN[2], ..., IN[8]) has the
capability of being optionally
inverted, if required.

Turns the digital output


(OUT) ON if any one input
(IN[1], IN[2], ..., IN[8]) is ON;
therefore:
If all inputs are OFF,

then: OUT = OFF.


If any one input is ON,

then: OUT = ON.

PULSE

Provides a fixed pulse output Used to define the fixed


(OUT) each time the input (IN) output (OUT) pulse width.
transitions from OFF to ON.
If the input (IN) pulse
You specify the fixed output
time is less than or equal
pulse width (PULSEWIDTH)
to the fixed
in seconds through
PULSEWIDTH time,
configuration.
output (OUT) pulse width
equals the fixed time.
If the IN pulse time is

greater than the fixed


PULSEWIDTH time,
OUT pulse width is
restricted to the fixed
time. Another output
pulse cannot be
generated until the
preceding pulse has
completed.

968

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

PULSE timing diagram:

IN

OUT
Pulsewidth

Pulsewidth

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
PULSE block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

PULSEEXPIRED

ANY

PULSEREADY

ANY

Then, OUT Value After State Transition


Is . . .
OFF
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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

969

17. Logic Functions


17.1. Logic Function Blocks

QOR

Qualified OR - provides an (N
+ 1)-input generic-qualified
OR function, that is, the
output (OUT) is turned ON if a
certain number (k) of total
inputs (IN[n]) is ON. Each
input (IN[1], IN[2], ..., IN[8])
has the capability of being
optionally inverted, if required.

Turns the digital output


(OUT) ON if a specified
number (k) of total digital
inputs is ON.

ROL

Provides a 16-bit integer


output (OUT) that is rotated to
the left by the number of bits
(N) specified from the 16-bit
integer input (IN). You specify
the number of bits through
configuration.

Used to shift out bits in the


output (OUT) by rotating the
bits in the input (IN) left by
the number of bits (N)
specified.
OUT = IN left rotated by

N bits, circular.

ROL execution diagram:

16-Bit Integer
N Bits
Rotate
Out

Rotate

Left

Provides a 16-bit integer


output (OUT) that is rotated to
the right by the number of bits
(N) specified from the 16-bit
integer input (IN). You specify
the number of bits through
configuration.

ROR

N Bits
Rotate
In

Used to shift out bits in the


output (OUT) by rotating the
bits in the input (IN) right by
the number of bits (N)
specified.
OUT = IN right rotated by

N bits, circular.

ROR execution diagram:

16-Bit Integer
N Bits
Rotate
In

970

Rotate

Right

Experion LX Control Builder Components Theory


Honeywell

N Bits
Rotate
Out

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

RS

Reset - provides a bistable


Reset Dominant flip-flop as
defined in the IEC DIS 1131-3
standard.

Specifies the output (Q) of


the flip-flop as a function of
the input S (Set), the input
R (Reset), and the last state
of Q.

RTRIG

Rising-Trigger - sets the


output (OUT) to ON following
the OFF-to-ON transition of
the input (IN) and stays at ON
until the next execution cycle,
at which time it returns to
OFF.

Provides rising edge change


detection, thereby turning
the output ON if an OFF-toON transition is detected.

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
RTRIG block OUT responds as a result of block state transitions such as activate, warm start,
cold start or RAM Retention Restart (RRR). The following table summarizes the possible OUT
action for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

PULSEEXPIRED

ANY

PULSEREADY

ANY

Then, OUT Value After State Transition


Is . . .
OFF
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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

971

17. Logic Functions


17.1. Logic Function Blocks

SEL

Provides a 3-input selector


function, that is, it selects 1 of
2 inputs (IN[1] and IN[2])
depending on the separate
input G.

Sets the actual output


(OUT) equal to the value of
1 of 2 inputs (IN[1] or IN[2]),
depending on the value of a
separate input (G).
If G = OFF, OUT = IN1
If G = ON, OUT = IN2

SEL-REAL

Provides a 3-input selector


function, that is, it selects 1 of
2 inputs (IN[1] or IN[2])
depending on the separate
input (G).

Sets the actual output


(OUT) equal to the value of
1 of 2 inputs (IN[1] or IN[2]),
depending on the value of a
separate input (G).
If G = OFF, OUT = IN1
If G = ON, OUT = IN2

SHL

Provides a 16-bit integer


output (OUT) that is shifted to
the left by the number of bits
(N) specified from the 16-bit
integer input (IN). You specify
the number of bits (N) through
configuration.

Used to shift out bits in the


output (OUT) by shifting the
bits in the input (IN) left by
the number of bits (N)
specified.
OUT = IN left shifted by

N bits, zero filled on right.

SHL execution diagram:

16-Bit Integer
Zero
Fill
In

N Bits
Shift
Out
Shift

972

Left

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

Provides a 16-bit integer


output (OUT) that is shifted to
the right by the number of bits
(N) specified from the 16-bit
integer input (IN). You specify
the number of bits through
configuration.

SHR

Used to shift out bits in the


output (OUT) by shifting the
bits in the input (IN) right by
the number of bits (N)
specified.
OUT = IN right shifted by

N bits, zero filled on left.

SHR execution diagram:

16-Bit Integer
N Bits
Shift
Out

Zero
Fill
In
Shift

R110
February 2014

Right

Experion LX Control Builder Components Theory


Honeywell

973

17. Logic Functions


17.1. Logic Function Blocks

SR

974

Provides a bistable Set


Dominant flip-flop as defined
in the IEC DIS 1131-3
standard.

Specifies the output (Q) of


the flip-flop as a function of
the input S (set), the input R
(Reset), and the last state of
Q.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

STARTSIGNAL

R110
February 2014

Supports handling of restarts


within Control Modules (CM).
Can be used within any CM to
provide better control over
how the module initializes in
response to events such as
Cold or Warm restart.

Supports an enumerationvalued summary parameter


named RESTART. The
normal value for the
RESTART parameter is
NONE. Following a
transition, it shows a value
other than NONE until the
Provides 7 read-only
end of the first block
parameters that can be
execution. The possible
accessed to drive initialization enumeration values for
actions. Each parameter has RESTART are as follows:
"pulse" characteristics, so it
normally holds a value which NONE(0)
indicates that no initialization CMLOAD (1)
is required. When a transition CMACTIVE (3)
CEECOLD (4)
occurs appropriate
CEEWARM (5)
parameters acquire an
informative value. This value CEESWITCH (6)
lasts until the end of the first
Since it is possible for more
block execution, which follows than one transition to occur
the transition. After first
between the time that a
execution, the parameter is
control module stops
reset to a value which
executing and the time that
indicates that no restart has
it restarts, there is an
occurred since the last
implicit priority built into the
execution. A STARTSIGNAL values other than NONE of
instance must always be
parameter RESTART. This
configured so that its
priority insures that the
ORDERINCM parameter
strongest initialization signal
places its execution after that is the one which will be
of any blocks which read its
seen. The priority is as
parameters.
follows.
a)

CMLOAD

b)

CMACTIVE

c)

CEECOLD

d)

CEEWARM

e)

CEESWITCH

Experion LX Control Builder Components Theory


Honeywell

975

17. Logic Functions


17.1. Logic Function Blocks

The RESTART parameter


only shows a value other
than NONE until the first
execution. It can be used to
drive initializations within the
CM. But in many cases it
will be more convenient to
use one of the Booleanvalued parameters
described below.
STARTSIGNAL Boolean
Parameters
Note that there is no implied priority
or mutual exclusivity among the flag

976

CMLOADFL

This parameter holds True


for the first execution cycle
following a load of the
parent CM.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.1. Logic Function Blocks

TRIG

CMACTIVEFL

This parameter holds True


for the first execution cycle
following inactivation and
then activation of the parent
CM.

CEECOLDFL

This parameter holds True


for the first execution cycle
following cold start of the
CEE.

CEEWARMFL

This parameter holds True


for the first execution cycle
following warm start of the
CEE.

ANYRESTARTFL

This parameter holds True


for the first execution cycle,
if any of the preceding flag
parameters are True. This is
the same as saying that the
parameter holds True
whenever parameter
RESTART is not equal to
NONE.

The edge detect (change


detect) function block. The
input (IN) and output (OUT)
types must be type
BOOLEAN.

An Off to On or On to Off

transition of the IN sets


the OUT to On and it
stays On until the next
execution cycle when it
returns to Off.
The IN is assumed to

start at the Off stage


when the function block
is first turned On.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

977

17. Logic Functions


17.1. Logic Function Blocks

The configuration of the LOGICINITOPT parameter for the Control Module determines how the
TRIG block OUT responds as a result of block state transitions such as activate, warm start, cold
start or RAM Retention Restart (RRR). The following table summarizes the possible OUT action
for a given LOGICINITOPT configuration.
If Configured
LOGICINITOPT
Value Is . . .

And, Current
IN Value
Is . . .

PULSEEXPIRED

ANY

PULSEREADY

ANY

Then, OUT Value After State Transition


Is . . .
OFF
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.

WATCHDOG

Monitors other system


functions or remote devices
and sets the output (OUT) to
ON if the monitored function
or device fails.

Used to monitor other


system functions or remote
devices.
Monitored function or

device must set IN


parameter to ON within a
specified time interval
(DELAYTIME), otherwise
it is assumed to have
failed and output (OUT)
is set to ON.
If output (OUT) is ON, it

is reset to OFF as soon


as IN is set to ON.

978

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.2. Change Execute (CHGEXEC) Block

Provides an up to 8-input
XOR algorithm, meaning it
performs the exclusive OR
function.

XOR

OUT = IN[1] XOR IN[2] XOR


IN[3] . . . XOR IN[n]
Each input (IN[1], IN[2], ...,
IN[8]) has the capability of
being optionally inverted, if
required.

Turns digital output (OUT):


OFF when even number

of inputs (2, 4, 6, or 8)
are ON.
ON when odd number of

inputs(1, 3, 5, or 7) are
ON.
This action adheres to the
IEC DIS 1131-3 standard.
But, this may not be the
expected behavior for an
XOR with more than two
inputs.

Parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the named logic function block.

17.2 Change Execute (CHGEXEC) Block


Description
The CHGEXEC block provides the following main features to help you design change
driven logic strategies within Control Modules (CMs).

Supports up to 32 change detected Boolean inputs.

Supports output of captured inputs to downstream blocks to prevent consumption of


inconsistent data during CM execution.

Supports a cascade output that allows operation of multiple CHGEXEC instances to


be coordinated.

Supports a slow, periodic, background execution for convenience in strategy design.

Supports engineer-only test options which allow strategy designers to force it to


suspend background execution or to execute continuously in the absence of input
changes.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

979

17. Logic Functions


17.3. CHGEXEC Usage Considerations for Change Driven Execution

You can only use the CHGEXEC block with blocks that are qualified to run under
change driven execution. Most of the PControl Execution Environment (CEE) blocks are
not qualified to do this, as shown in the list of qualified blocks in the following section.
The CHGEXEC block resides in the LOGIC library in the Library tab of Control Builder
and is represented graphically in the control drawing as shown in the following
illustration.

Figure 51 CHGEXEC block graphical representation in control drawing

17.3 CHGEXEC Usage Considerations for Change Driven


Execution
The following table summarizes some things you need to consider before using
CHGEXEC blocks in Control Modules to create change driven execution strategies.
When you use CHGEXEC to
Optimize Control Module
performance when used
exclusively for logic
computation.

980

Then, take this into consideration


CHGEXEC receives a set of Boolean inputs and identifies if
and when they change. If any input has changed since the
last execution cycle, the CM containing the CHGEXEC block
runs to completion in normal fashion. If none of the inputs
have changed, the CM exits immediately after the CHGEXEC
block completes, leaving the subsequent blocks within the CM

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.4. Change Driven Application Risk Factors

When you use CHGEXEC to

Then, take this into consideration


unexecuted for that cycle to optimize performance.

Create Control Module logic


strategies to execute most of
their logic by exception.

Using CHGEXEC to create CM logic strategies that execute


most of their logic by exception, reduces the average
processing power consumed by the strategy.
Be sure you are fully aware of the advantages,
disadvantages and constraints of designing control strategies
that execute by exception. You are responsible for
identifying and resolving any design issues with your given
strategy.

Vary the control module's


processing load.

When ordinary CMs are scheduled to run continuously, it is


relatively easy to judge the controller processing load and risk
of CEE cycle overruns. In contrast, the processing load for a
CM using a CHGEXEC block can vary greatly depending on
whether the input state has changed since the last execution
cycle or not.
Application engineers must make sure that no single
CM/CHGEXEC logic strategy uses too large a proportion of
the processing budget for any given cycle, when executing
with input changes. Engineers are responsible for insuring
that the overall controller execution is stable and without
overruns for all conditions of input changes which impact
change driven execution. It might be necessary for engineers
to leave some or all CEE execution cycles more lightly loaded
than they would under other conditions.
Another design concern is the kinds of basic blocks that can
run within a CM with a CHGEXEC block. Since most CEE
blocks are intended to run continuously, their design depends
on a parent that runs at its configured period without fail.
These blocks will malfunction, if they do not run every period.
You can use a subset of CEE blocks in a change driven
execution environment because they do not need to run
continuously. See the following section for a list of these
blocks and do not use other blocks for change driven
execution.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

981

17. Logic Functions


17.4. Change Driven Application Risk Factors

17.4 Change Driven Application Risk Factors


The characteristics of change driven control strategies present a greater design risk than
continuous applications. Application engineers must keep the following risk factors in
mind and take greater care in designing such strategies.
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.

Risk Factor

What does it mean

Qualified Block Types

You can only use the block types listed in the following
section within the context of change driven execution.

Consistent Input Data

Do not use logic gates to directly access input data that is


monitored for change. Read data from the output pins on the
CHGEXEC block instead.

Variability of Execution Load

Execution load of a change-driven strategy varies


tremendously depending on whether or not an input change
has occurred. The statistical rate of input changes impacts
the average CPU consumed by the controller. Bursts of input
changes impact the peak CPU consumed by the controller.
The risk of overruns is greater, since It is more difficult to
assess the total controller load when change driven strategies
are used.

Multiple CHGEXEC blocks in


same Control Module

Most change driven configurations only work with single


CHGEXEC defined within the parent CM. The only exception
would be when two CHGEXEC blocks are placed in the same
CM to expand the number of change detected inputs. See the
Cascading within a CM Example section for more information.

Increased Processing Weight

Using a CHGEXEC block within a logic strategy always adds


processing weight to the CM. The execution of the CHGEXEC
block itself and the data flow processing of its input
connections add a load that is not present when a CHGEXEC
block is not used.
To benefit from the use of a CHGEXEC block, the rate of
input change must be substantially slower than the CM's rate
of execution. If the logic configuration is large, then the

982

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.5. Blocks Qualified for Use with CHGEXEC Block

Risk Factor

What does it mean


addition of the CHGEXEC adds only a small percentage to
the CM processing time. If the logic configuration is small,
then the addition of the CHGEXEC could increase the CM
processing time by 20 percent or more.
Application engineers must carefully judge whether the use of
a CHGEXEC block is beneficial to the application.

17.5 Blocks Qualified for Use with CHGEXEC Block


The following table identifies blocks in a given Control Builder Library that are qualified
or not qualified for use within a Control Module containing a CHGEXEC block.
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

Block Type

Neither Control Builder nor the CEE prevent application engineers from
using unqualified blocks in a change driven configuration. Application
engineers are responsible using only qualified blocks with the
CHGEXEC block. Failure to follow this guideline can lead to
unpredictable results in the operation of control strategies.

Qualified For
Use With
CHGEXEC

Comment

DEVCTL Library
DEVCTL

No

DEVCTL is a large block that integrates substantial


functionality. It has been designed to run within a
continuously executing CM and will not function properly in a
change-driven CM. DEVCTL design incorporates change
driven execution internally so its CPU load is comparatively
light.

LOGIC Library
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

983

17. Logic Functions


17.5. Blocks Qualified for Use with CHGEXEC Block

Block Type

Qualified For
Use With
CHGEXEC

Comment

2OO3

Yes

AND

Yes

CHECKBAD

Yes

CHECKBOOL

No

Design of the CHECKBOOL block is not tolerant of changedriven execution. It can only function properly within a
continuously executing CM.

DELAY

Yes

The DELAY block, as well as the edge trigger blocks (TRIG,


FTRIG, RTRIG) have semantics that fit most naturally within
continuously executing CMs. In the case of DELAY, the
Boolean input is delayed until next execution. In the case of
the edge trigger blocks an edge at the input causes a level at
the output which lasts until next execution. When applying
these blocks within a change driven CM, application
engineers should consider carefully whether they will deliver
the behavior desired.

EQ

Yes

FTRIG

Yes

GE

Yes

GT

Yes

LE

Yes

LIMIT

Yes

LT

Yes

MAX

Yes

MAXPULSE

Yes

984

See comment above for the DELAY block type.

Blocks whose operation involves timing (MAXPULSE,


MINPULSE, OFFDELAY, ONDELAY, NOON, PUSH,
PULSE, TIMER, WATCHDOG) use a special technique to
prevent the accumulation of timing errors across sporadic
cycles of change driven execution. However, they can only
change output state when they execute. When used with the
CHGEXEC block, the granularity of their time response is
limited by the auto-trigger period. Output reaction can occur
from 1 to 2 seconds after the timeout has expired. Be aware

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.5. Blocks Qualified for Use with CHGEXEC Block

Block Type

Qualified For
Use With
CHGEXEC

Comment

that timing blocks whose execution is gated by an instance of


CHGEXEC will not work at all when
TESTOPT = NOAUTOTRIG.
MIN

Yes

MINPULSE

Yes

MUX

Yes

MUXREAL

Yes

MVOTE

Yes

NAND

Yes

NE

Yes

NOON

Yes

NOR

Yes

NOT

Yes

OFFDELAY

Yes

See comment above for the MAXPULSE block type.

ONDELAY

Yes

See comment above for the MAXPULSE block type.

OR

Yes

PULSE

Yes

QOR

Yes

ROL

Yes

ROR

Yes

RS

Yes

RTRIG

Yes

SEL

Yes

SELREAL

Yes

SHL

Yes

R110
February 2014

See comment above for the MAXPULSE block type.

See comment above for the MAXPULSE block type.

See comment above for the MAXPULSE block type.

See comment above for the DELAY block type.

Experion LX Control Builder Components Theory


Honeywell

985

17. Logic Functions


17.6. Experion LX Controller Platform Support for CHGEXEC

Block Type

Qualified For
Use With
CHGEXEC

Comment

SHR

Yes

SR

Yes

STARTSIGNAL

Yes

TRIG

Yes

See comment above for the DELAY block type.

WATCHDOG

Yes

See comment above for the MAXPULSE block type.

XOR

Yes

Utility Library
FLAG

Yes

FLAGARRAY

Yes

MESSAGE

Yes

NUMERIC

Yes

NUMERICARRAY

Yes

PUSH

Yes

TEXTARRAY

Yes

TIMER

Yes

See comment above for the MAXPULSE block type.

See comment above for the MAXPULSE block type.


Block TIMER is designed so that it behaves differently
depending on the value of its configuration parameter,
TIMEBASE. When TIMEBASE = SECONDS or TIMEBASE =
MINUTES the block works as a clock-based timing object.
The timing operation is correct under normal execution and
under change driven execution within the error of the autotrigger period. However, when TIMEBASE = CYCLES the
TIMER block operates as a counter rather than a timer. It
counts the number of times it has executed since its state
changed to RUNNING. Under normal, periodic execution this
is equivalent to timing with a time base of execution periods.
Under change driven execution it is not equivalent to any
rigorous timing operation. Under change driven execution a
TIMEBASE of CYCLES may be used to count executions but
not to do timing.

986

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.6. Experion LX Controller Platform Support for CHGEXEC

Block Type

Qualified For
Use With
CHGEXEC

TYPECONVERT

Comment

Yes

17.6 Experion LX Controller Platform Support for


CHGEXEC
The following table lists the Experion LX Controller/CEE Platforms that support the
CHGEXEC block.
TIP
You can test CM strategies employing CHGEXEC blocks either on simulation
platforms or controller platforms. With any CM, the CMs with CHGEXEC
blocks do not need to be modified in any way when moved between
controllers and simulators.

Controller
C300 Embedded
Controller

Simulator
SIM-C300 Simulator

CEE Base Cycle


50 milliseconds

CHGEXEC
Supported
Yes

17.7 CHGEXEC Main Parameter Details


The following table identifies the main configuration parameters associated with a
CHGEXEC block and defines their function.
If Parameter Is . . .
DATA[1..32]

Then, Its Function Is . . .


An indexed parameter of type Boolean which receives the inputs to the
CHGEXEC block. Values within the DATA[ ] array are compared to
values from the last execution to determine whether the CM should exit
or run to completion. DATA[ ] supports up to 32 inputs.
DATA[ ] is also used as an output. This allows input values to be
captured and frozen within the CHGEXEC so that subsequent logic is
guaranteed to see the same values as those which triggered change
driven execution. See the Consistent Data Usage section for more
information.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

987

17. Logic Functions


17.7. CHGEXEC Main Parameter Details

If Parameter Is . . .

Then, Its Function Is . . .

LASTDATA[1..32 ]

An indexed parameter of type Boolean holding the value of the input


array, DATA[ ], that was captured during the last execution cycle.

TRIGGER

An output parameter of type Boolean which can be used to create


cascades of CHGEXEC blocks, either within a single CM or across
multiple CMs. TRIGGER can be connected to one of the DATA[ ] inputs
of a down stream CHGEXEC to force it to allow the parent CM to run to
completion even if none of its other inputs have changed.
TRIGGER changes from Off to On or from On to Off in all cycles where
the owning CHGEXEC allows the parent CM to run to completion. This is
true even in cases such as auto-trigger (discussed below) where the
inputs may not have changed state.
Whenever the parent CM of a CHGEXEC is activated, TRIGGER emits a
transition on the first cycle of execution and another transition on the
second cycle of execution. This insures that a downstream, cascaded
CHGEXEC instance executes by the second cycle, regardless of what
values it holds in LASTDATA[ ].

CHGINDEX

An integer valued output parameter which gives the index of the first
input, in increasing order, where change was detected. CHGINDEX
holds a non-zero value for one cycle following an input change. It goes to
zero after the first cycle where there is no input change. CHGINDEX
shows zero after auto-trigger execution where there was no input
change.

EXITOPT

A configuration parameter of type enumeration which can optionally be


used to cascade CHGEXECs within a single CM. Possible values are
EXITONEQU ("Exit On Equal") and CONTONEQU ("Continue On
Equal").
CHGEXEC behavior when EXITOPT is configured as EXITONEQU is

as follows.

If all DATA[ i] are equal to their corresponding LASTDATA[ i],


then TRIGGER is left unchanged and CHGEXEC forces the
parent CM to exit immediately. If any DATA[ i] are not equal to
their corresponding LASTDATA[ i], then TRIGGER is changed
and CHGEXEC allows the parent CM to keep executing.

EXITOPT == EXITONEQU corresponds to the majority use case


for CHGEXEC and is the default configuration.

CHGEXEC behavior when EXITOPT is configured as CONTONEQU

is as follows.

988

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.7. CHGEXEC Main Parameter Details

If Parameter Is . . .

Then, Its Function Is . . .

If all DATA[ i] are equal to their corresponding LASTDATA[ i],


then TRIGGER is left unchanged and CHGEXEC allows the
parent CM to keep executing. If any DATA[ i] are not equal to
their corresponding LASTDATA[ i], then TRIGGER is changed
and CHGEXEC allows the parent CM to keep executing.
EXITOPT == CONTONEQU is used on rare occasions where
more than 32 inputs need to be monitored. In this case two
CHGEXECs would be placed within the same CM with each CM
using different configurations of EXITOPT. See the section for
more information.

NUMDATA

A configuration parameter which controls how many elements of the


DATA[ ] array are scanned each time CHGEXEC executes. All elements
at index greater than NUMDATA are ignored. NUMDATA ranges from 1
to 32.

AUTOPERIOD

A configuration parameter which controls the period of background


processing within a CHGEXEC. When inputs are static for an extended
interval CHGEXEC auto-triggers so that the parent CM may run to
completion. The auto-trigger happens at the end of the AUTOPERIOD
interval if and only if no inputs have changed during that interval.
AUTOPERIOD is an enumeration with a default value of "1sec". It's
range of supported values are: 500mS, 1sec, and 2sec.

AUTOPHASE

A configuration parameter which controls the phasing of periodic autotrigger processing within a CHGEXEC. AUTOPHASE prevents large
numbers of CHGEXEC instances from synchronizing in such a fashion
that their periodic processing occurs on the same CEE cycle.
AUTOPHASE may be explicitly assigned by the application engineer, but
this happens rarely. Usually engineers prefer to leave AUTOPHASE at
its default of -1. This causes the CHGEXEC to assign a random phase
value within the allowed range at the time of block load.
Once assigned, the value of AUTOPHASE is preserved across RRR and
across checkpoint save/restore. This causes load impact from
CHGEXEC background processing to be held constant across CEE
processing cycles when a controller restart occurs.

TESTOPT

A parameter which can optionally be used by application engineers when


testing CHGEXEC strategies using one of the following values.
NOTEST, EXECALL, and NOAUTOTRIG

TESTOPT defaults to NOTEST. In this configuration CHGEXEC


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

989

17. Logic Functions


17.8. CHGEXEC Cascading Between Control Modules Example

If Parameter Is . . .

Then, Its Function Is . . .


behaves as normal with no deviations from prescribed behavior.
When TESTOPT = EXECALL, CHGEXEC allows its parent CM to run to
completion on every execution period, regardless of whether inputs have
changed or any other conditions. This option can be used to test the
level of loading that occurs when change driven execution happens.
When TESTOPT = NOAUTOTRIG, CHGEXEC executes as normal
except that there is no auto-trigger processing. In this case the CM
executes only in response to input changes (or system state changes)
regardless of the value of AUTOPERIOD. This option can be used to
verify that change triggering works as expected, with no possibility of
defects masked by background periodic execution.
When CHGEXEC is commissioned for on process control, TESTOPT
must have the value NOTEST. Application engineers must be sure not to
leave TESTOPT at EXECALL or NOAUTOTRIG after testing is
complete.

17.8 CHGEXEC Cascading Between Control Modules


Example
While most change driven logic strategies use a single CM, you can use CHGEXECS
blocks within different Control Modules. It is like a cascaded CHGEXEC where the
TRIGGER parameter in the CHGEXEC in the first CM triggers the CHGEXEC in the
second CM, as shown in the figures below.

Figure 52 Control Modules With Cascaded CHGEXEC Instances

Graphical Examples of Cascaded CHGEXEC control charts


The following figures show the sample control charts for implementing cascaded
CHGEXEC blocks between the two Control Modules shown in the figure above.
990

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.8. CHGEXEC Cascading Between Control Modules Example

Figure 53 Primary Control Module in Cascaded CHGEXEC


(CM_CHGEXEC_PRI)

Figure 54 Secondary Control Module in Cascaded CHGEXEC


(CM_CHEXEC_SEC)

Cascaded CHGEXEC functional considerations


The following table summarizes some functional considerations associated with
implementing a cascaded CHGEXEC application.
Consideration
Coordinated Logic

R110
February 2014

Description
A CHGEXEC cascade crossing CM boundaries would probably involve
coordinated logic, which had been partitioned across modules. Such
strategies would typically execute with the same PERIOD and PHASE
values. This is shown in the Control Module figures above.
Experion LX Control Builder Components Theory
Honeywell

991

17. Logic Functions


17.9. CHGEXEC Cascading Within Control Module Example

Consideration
Block Execution
Order

Description
Order of block execution must be deliberately assigned for any CM
strategy, but especially for CHGEXEC strategies. Often the CHGEXEC
runs as the first block within a CM, with computational logic following.
The ORDERINCM values would be chosen accordingly. This is shown in
the Control Module figures above.
It is not required to have the CHGEXEC execute as the first block within
a CM. But any logic preceding the CHGEXEC would execute once every
CM period and would not benefit from the change driven execution. The
CHGEXEC instance and its position within the block execution order
determines where the CM exits if there has been no change of inputs.

Control Module
Execution Order

When a change-driven logic strategy is split across CMs, execution order


of the CMs must 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 Secondaries

In cascaded CHGEXEC strategies, multiple secondaries can follow a


single primary with all 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 Output
Connections

Be careful when building CHGEXEC cascades across CMs. In some


strategies, it may save 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
Cascades that Cross
CEE Boundaries

992

Be careful when using CHGEXEC cascades that cross CEE boundaries.


In general, if a 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
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

17. Logic Functions


17.9. CHGEXEC Cascading Within Control Module Example

Consideration

Description
should explicitly pass all output data from the primary through the
CHGEXEC.

17.9 CHGEXEC Cascading Within Control Module Example


You can cascade CHGEXEC blocks within a single Control Module. This is an
exception and the only reason is to support a logic strategy requiring more than 32
change driven inputs, as shown in the figure below.
ATTENTION
The following figure shows the leading CHGEXEC with only two data
elements, which is inaccurate. A second CHGEXEC is introduced to support
additional inputs only after those of the first had been exhausted.

Figure 55 Cascaded CHGEXEC Within Single Control Module

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

993

17. Logic Functions


17.10. Importance of Using Consistent Input Data

EXITOPT considerations for cascaded CHGEXEC in single CM


As shown in the figure above, EXITOPT is assigned different values in the leading and
following CHGEXEC blocks. On the leading CHGEXEC(A) it is set to CONTONEQU.
This allows the following CHGEXEC(B) to do its own change detection regardless of
whether the first has seen input changes. On the following CHGEXEC(B), the EXITOPT
is set to EXITONEQU as usual. The following CHGEXEC(B) is the one which decides
whether or not to exit the CM. The leading CHGEXEC(A) never exits.
If multiple CHGEXEC blocks are placed within the same CM, the only configuration
which works is the one shown in the above figure. More specifically, the following
requirements must be met whenever two CHGEXEC blocks are placed within the same
CM.

The leading CHGEXEC must have EXITOPT = CONTONEQU.

The following CHGEXEC must receive the TRIGGER output of the leading
CHGEXEC as an input.

17.10 Importance of Using Consistent Input Data


If a CHGEXEC block controls the execution of Logic blocks which use the data
monitored by the CHGEXEC, the Logic blocks must pull this data from the CHGEXEC
itself for the following reasons.

994

The CM connections are quite flexible. They allow data flow to be configured
through both wired connections or parameter connections. They allow parameters to
be fetched from within the same CM, from different CMs in the same CEE, from
CMs in a different CEE or from IO modules outside the CEE.

If a CM is designed so that two different connectors reference the same output


parameter, CEE implementation does not guarantee that these connections will
return the same data value when the CM executes. For non-local data in particular,
such as certain kinds of IO data, each connector can spawn a different fetch request.
Though not likely, it is possible for the referenced parameter to change state
between the servicing of two different fetch requests. This would cause two different
values of the same parameter to be used during CM execution.

This design issue exists regardless of whether a CHGEXEC is used in the design of
a logic strategy. If On / Off data is consumed more than once within the strategy best
practice is to pull that data into local storage and have the multiple consumers pull
from common storage. But failure to follow this practice is less critical if the CM
executes continuously. Any anomalous result will be transient and corrected by the
time of next execution.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

17. Logic Functions


17.10. Importance of Using Consistent Input Data

Wrong input data example


In CM strategies which use CHGEXEC the consequences of inconsistent data are more
critical. For example, suppose that a DI PV is used by a logic gate. The PV would be
connected to one of the DATA[ i] inputs of the CHGEXEC for change monitoring. The
PV might also be connected directly to the input of the logic gate, as shown in the
following figure.
Now suppose that the CHGEXEC sees a change in the digital PV and allows the logic
gate to execute. In such a case there is no guarantee that the logic gate will see the same
value of PV that was seen by the CHGEXEC. It might even see the old value that was
held before PV had changed. Such a condition could lead to unpredictable results and
would constitute a defect in the CM design. It might be hard to debug such a defect.
Occurrence would depend on timing coincidence and might happen rarely.

Figure 56 Wrong Use Of CHGEXEC: Downstream Logic Pulls Change Data


Directly

Correct input data example


Based on the previous example, the proper configuration would be one which pulled the
corresponding CHGEXEC output instead of directly pulling the DI PV, as shown in the
following figure.
Based on these considerations, CMs using CHGEXEC must always be designed so that
the CHGEXEC and subsequent logic use the same image of fetched parameter data. The
most natural way to accomplish this is to have the elements of DATA[ ] exposed as both
inputs and outputs on the CHGEXEC instance. The input DATA[ ] will typically connect
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

995

17. Logic Functions


17.11. Periodic Auto Trigger Function of CHGEXEC

to parameters outside the CM or to I/O within the CM. The output DATA[ ] will be
referenced by downstream logic within the CM.

Figure 57 Correct Use Of CHGEXEC: Downstream Logic Pulls From


CHGEXEC Output

17.11 Periodic Auto Trigger Function of CHGEXEC


In addition to its main activity of gating change-driven execution, the CHGEXEC block
also supports a periodic auto trigger activity. Auto trigger puts an upper limit on how
much time can pass before the parent CM is allowed to run to completion.
The period of auto-trigger is configured with parameter AUTOPERIOD. Below
mentioned is the figure describing the scenario. Note that for specificity in the
description we assume that EXITOPT has the value which corresponds to the majority
use case (EXITOPT set to EXITONEQU ).

996

At the end of every time interval of length AUTOPERIOD, CHGEXEC checks


whether an execution has occurred within the preceding interval for any reason (for
example, input change or state change). If so, and if no inputs have changed since
the last cycle, CHGEXEC postpones the auto-trigger for another AUTOPERIOD
and causes the parent CM to exit. If not, CHGEXEC allows the parent CM to run to
completion notwithstanding the absence of input change or state change.

When TESTOPT == EXECALL, there is no auto-trigger processing since the CM


executes to completion once every cycle.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.11. Periodic Auto Trigger Function of CHGEXEC

Auto Trigger application support


The CHGEXEC blocks support of auto-trigger meets the following two needs in
applications scenarios.
Application Need

Auto Trigger Support

Human Input Commands

In some cases, logic control strategies are designed to


process not only IO inputs and Boolean inputs from other
strategies, but Boolean commands from human operators.
Design practice would normally dictate that human inputs
enter a change-driven strategy through the CHGEXEC
instance just like any other kind of input data. However,
operator inputs do not need to be processed at a time scale
faster than human actions. Instead, a response time on the
order of seconds is sufficient. CHGEXEC auto-trigger allows
application engineers to design change driven logic
strategies without the need to take human input commands
through the CHGEXEC instances.

Upper Limit On Time Out Delays

Periodic auto-trigger does not provide a reliable time tick for


blocks whose execution is gated by a CHGEXEC. Timing
blocks such as MAXPULSE and ONDELAY use an internal
clock as their time base rather than relying on the periodicity
of their own execution. However, CHGEXEC support for
auto-trigger does put an upper limit on how much time can
pass after a time out has expired and before the block
reacts. Timing logic blocks listed as qualified in section
Blocks Qualified for Use with CHGEXEC Block can be used
within change driven strategies as long as a time out
response on the order of seconds is sufficiently fast.

ATUOPERIOD sets period for Auto Trigger


When inputs are not changing at all, CMs are allowed to run to completion exactly once
every AUTOPERIOD. When no inputs are changing this is the amount of time that
passes between executions. However, when inputs do change they can have the effect of
postponing the next auto-trigger.. The largest period of time that can pass before an autotrigger fires is as follows.

2 * AUTOPERIOD - Control Module PERIOD

The CHGEXEC block's auto-trigger activity is specifically designed to disallow multiple


executions within a single AUTOPERIOD interval. Otherwise this would cause
undesirable behavior in CHGEXEC cascades. It would cause downstream CMs to have
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

997

17. Logic Functions


17.11. Periodic Auto Trigger Function of CHGEXEC

an effective auto-trigger period of N times AUTOPERIOD where N is the depth of the


cascade.

TRIGGER output and Auto Trigger execution


The behavior of the TRIGGER output with respect to auto trigger execution can be a
source of confusion. The following rule applies regardless of the value of the EXITOPT
parameter.

TRIGGER toggles whenever the parent CM is allowed to run to completion,


regardless of whether the grant of execution arises from change of inputs, expiration
of the auto-trigger period or state transition.

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 autotrigger 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.

998

The auto-trigger phase can be read from parameter AUTOPHASE and can also be
assigned through that parameter if desired. Normally, AUTOPHASE is left at its
default of -1 when a CHGEXEC block is first configured. This causes CHGEXEC to
assign a random value within the allowed range when the instance is loaded. If
AUTOPHASE is not -1 upon load its value is accepted and left unchanged.

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 autotrigger which is seen by each cycle will not change when the CEE restarts. Note,
however, that AUTOPHASE is not preserved across CM reload unless the
application engineer takes deliberate action. If AUTOPHASE has been left at -1
within the CB project configuration then reloading will cause a new AUTOPHASE
value to be assigned. To avoid this, the application engineer should do Control
Builder Upload and Update on the parent CM after AUTOPHASE been assigned.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

17. Logic Functions


17.12. Execution Order Considerations for CHGEXEC within CM

AUTOPERIOD configuration restrictions


When the AUTOPERIOD value of a CHGEXEC instance is configured it must be
consistent with the PERIOD configuration of the parent Control Module. What is meant
by "consistent" in this case is the following.

CHGEXEC.AUTPERIOD greater than CM.PERIOD

CHGEXEC.AUTOPERIOD / CM.PERIOD = a whole number

This consistency requirement has the effect of disallowing certain combinations of


CHGEXEC.AUTPERIOD and CM.PERIOD. Allowed and disallowed configurations are
shown in the following table where period values have units of seconds.
Control
Module Period

CHGEXEC AUTOPERIOD

Platform

0.50

1.00

2.00

0.05

Supported

Supported

Supported

C300

0.10

Supported

Supported

Supported

C300

0.20

Not Supported

Supported

Supported

C300

0.50

Not Supported

Not Supported

Supported

C300

1.00

Not Supported

Not Supported

Supported

C300

Greater Than
or Equal 2.00

Not Supported

Not Supported

Not Supported

C300

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.

17.12 Execution Order Considerations for CHGEXEC within


CM
When using CHGEXEC within a CM, the application engineer has the option to divide
execution flow into two segments.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

999

17. Logic Functions


17.13. CHGEXEC Behaviors for State Transitions

Execution Segment 1: Blocks ordered to execute ahead of the CHGEXEC.

Execution Segment 2: Blocks ordered to execute after the CHGEXEC.

Normally CHGEXEC would be the first or one of the first blocks to execute within a
change driven CM. In this case, Execution Segment 1 would be completely empty or
nearly empty. However, if appropriate, the application engineer could place substantial
block content ahead of the CHGEXEC instance. In this case, only the blocks following
the CHGEXEC would execute on a change driven basis.
Any blocks which are ordered to execute ahead of the CHGEXEC are not subject to the
restrictions which apply to change driven execution. This means that unqualified blocks
can be placed within a CM that hosts a CHGEXEC as long as they are ordered to execute
ahead of any CHGEXEC. Application engineers should exercise caution, if they choose
to apply this technique so that no mistakes are made with block ordering.

17.13 CHGEXEC Behaviors for State Transitions


The CHGEXEC block implements defined behaviors across all transitions that effect its
parent CM or its parent CEE. These are described in the following table.
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.

State
Transition

CHGEXEC Parameter

Behavior

DATA[ ]

LASTDATA[ ]

TRIGGER

Load of
Parent CM

Off

Off

Off

CM and children do not


execute until
CEESTATE goes to
Run and EXECSTATE
goes to Active.

Activation of
Parent CM

Unchanged until
inputs are pulled
on first cycle of
execution.

Unchanged until
set equal to
DATA[ ] on first
cycle of

Changes state on
first cycle of
execution.
Changes state

On first cycle CM and


children start
executing. CHGEXEC
overrides change

See Note 1
1000

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.13. CHGEXEC Behaviors for State Transitions

execution.

again on second
cycle of
execution.
See Note 4

detection to allow CM
to run to completion
regardless of whether
or not DATA[ ] has
changed.

Inactivation of
Parent CM

Unchanged

Unchanged

Unchanged

CM and all children


stop executing.

CEE
Execution
Start

Unchanged until
inputs are pulled
on first cycle of
execution.

Unchanged until
set equal to
DATA[ ] on first
cycle of
execution.

Changes state on
first cycle of
execution.

On first cycle CM and


children start
executing. CHGEXEC
overrides change
detection to allow CM
to run to completion
regardless of whether
or not DATA[ ] has
changed.

CEE
Execution
Stop

Unchanged

Unchanged

Unchanged

CM and all children


stop executing.

Redundancy
Role Change

Unchanged until
inputs are pulled
on first cycle of
execution.

Unchanged until
set equal to
DATA[ ] on first
cycle of
execution.

Unchanged
unless DATA[ ]
has changed
since last
execution before
role change.

CM and children run to


completion or exit early
based on normal
operation of
CHGEXEC.
CHGEXEC does not
override change
detection.

See Note 2
See Note 5

See Note 3

See Note 4

Notes:
1. Activation of Parent CM consists of the following transition.

EXECSTATE changes from Inactive to Active on parent CM when CEESTATE is Run.

2. CEE Execution Start can be any of the following transitions.

Cold Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.

Warm Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.

RAM Retention Restart when CEESTATE is Run and EXECSTATE of parent CM is Active.

3. CEE Execution Start can be any of the following transitions.

Cold Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1001

17. Logic Functions


17.14. CHGEXEC Supports Checkpoint Function

Warm Restart changes CEESTATE from Idle to Run when EXECSTATE of parent CM is Active.

RAM Retention Restart when CEESTATE is Run and EXECSTATE of parent CM is Active.

4. In the case of transition Activation of Parent CM, the TRIGGER parameter emits a full pulse (both the
positive going edge and the negative going edge) over the course of the first two execution cycles. This
is to insure that for any cascaded CHGEXECs in different CMs, the downstream (secondary) CM is
guaranteed to execute at least once when the upstream (primary) CM executes. Since the state of
LASTDATA[ i] in the downstream CM could be On or Off the TRIGGER must emit both edges.
In the case of transition CEE Execute Start, forcing both edges is not necessary. Each CHGEXEC within
the CEE will allow its parent CM to run to completion as a result of the CEE-wide state transition.
5. If CHGEXEC is used heavily within a CEE it is possible for cycle overruns to occur as a result of CEE
Execute Start transitions (Cold Restart, Warm Restart or RAM Retention Restart). These transitions
force all CHGEXEC CMs to run to completion during the first execution of each CEE cycle. After all
cycles have executed no more overruns occur within a properly balanced CEE configuration. CEE will
not report any alarms as a result of start up transition overruns.

17.14 CHGEXEC Supports Checkpoint Function


Checkpoint save of a CHGEXEC block persists all configuration data. The following
parameters are read upon checkpoint save and recovered upon checkpoint restore.

EXITOPT

NUMDATA

AUTOPERIOD

AUTOPHASE

TESTOPT

Dynamic data of a CHGEXEC block is not persisted as a result of checkpoint save. Upon
checkpoint restore the following parameters take the same values they do following
configuration load (Off for Booleans and 0 for Integers).

1002

DATA[ ]

LASTDATA[ ]

TRIGGER

CHGINDEX

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.15. Load Monitoring Parameters

17.15 Load Monitoring Parameters


As part of strategy development, application engineers can monitor CPU usage
parameters to gauge processing load. Relevant instrumentation parameters include the
following.

CPUCYCLEAVG (CEE block)

CPUCYCLEMAX (CEE block)

CPUFREEAVG (CEE block or Platform block)

CPUFREEMIN (CEE block or Platform block)

CRCYCLEORN (CEE block)

LSCYCLEORN (CEE block)

STATSRESET (CEE block)

The CPUCYCLEAVG, CPUCYCLEMAX, CRCYCLEORN and LSCYCLEORN are


array parameters which cover each cycle and one additional element. The last element
(index 40 in the case of C300) gives an average across all cycles.
Three statistics which are particularly useful are the following.

CRCYCLEORN[40]

CPUCYCLEAVG[40]

CPUCYCLEMAX[40]

In applications where logic is running at the fastest period, these three numbers alone
give a good summary of load effects. Application engineers can monitor these
parameters during development to get a good sense of strategy performance.

17.16 Sample CHGEXEC TESTOPT Procedure


During performance assessment, application engineers can use the configuration
TESTOPT = EXECALL to compare a CM's processing load with and without input
changes. There is no required methodology for doing this. The following table offers a
sample procedure.
Stage
1
R110
February 2014

Description
Implement the CHGEXEC CM as well as any cascaded CMs whose
Experion LX Control Builder Components Theory
Honeywell

1003

17. Logic Functions


17.17. Examples and Scenarios

Stage

Description
implementation is closely coupled.

1004

Make sure all CMs of interest are loaded and active.

Make sure no CMs of interest have inputs which can change during the
course of the test.

Make sure other control strategies are completely unchanging during the
course of the test. Other strategies may be loaded and active. But they may
not be loaded or unloaded while the test is in progress. Similarly no strategies
may be activating or inactivated during the test.

Identify which cycle to monitor for load effects. If the CMs of interest all
execute at the fastest period, then CPUCYCLEAVG[40] provides the best
information. If the CMs do not execute at the fast period then
CPUCYCLEAVG[40] cannot be used. Instead identify one cycle (called
CYCLE here) where all CMs of interest execute and monitor that. For
example, if the CMs of interest have a PERIOD of 1 second and a PHASE of
3 then CYCLE could be either 3 or 23.

Start with TESTOPT = NOTEST as per default CHGEXEC configuration.

Set STATSRESET to ON. Note that STATSRESET will never show a value of
ON. But setting it to ON causes statistics parameters to reinitialize.

Let 3 minutes pass after setting STATSRESET in order for averages to


equilibrate.

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.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

17. Logic Functions


17.17. Examples and Scenarios

Stage
17

Description
This completes the procedure.

17.17 Examples and Scenarios


CheckBool functionality
The CHECKBOOL block evaluates its input connections and passes these input values
through to its associated outputs. You should use the CHECKBOOL block as a front end
to any critical Boolean function block which requires their inputs be deterministic. Its
primary function is to interconnect Control Modules to preserve data integrity. You can
do this by placing a CHECKBOOL block on each end of a Control Module to Control
Module link and then connect the blocks. The following illustrations show a simple
control strategy configuration using CHECKBOOL blocks to link the Source Module to
the Receive Module in both Project and Monitoring modes.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1005

17. Logic Functions


17.17. Examples and Scenarios

Figure 58 Sample CHECKBOOL Strategy linking Control Modules in


Project Mode

1006

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.17. Examples and Scenarios

Figure 59 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
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1007

17. Logic Functions


17.17. Examples and Scenarios

(INACTINDETTM) parameter specifies the amount of time that must expire before the
block determines if it should take the configured Bad Input Action. During this time, the
inputs status must be continually INACTIVE during this detection time for the action to
be taken. When the input is INACTIVE for less than this time, no action is taken. If the
input goes INACTIVE again the time starts counting over. The other two parameters are
Bad Input Detection Threshold Time (BADINDETTM[n]) and Bad Input Action
Minimum Time (BADINACTMINTM[n]). The BADINDETTM[n] parameter
determines how long the block will delay before the configured action. The
BADINACTMINTM[n] establishes the minimum time the action will be provided on
OUT. Once this minimum time expires, the output value/status is only set to the input
value/status when the input status is valid. While invalid, the bad action will continue to
be provided on OUT.
The following scenarios define the CHECKBOOL block operation for both valid and
invalid input data. In each of the scenarios, it is assumed that the CHECKBOOL block is
connected to a device which is capable of supplying it the proper input data ( IN[1] and
INSTS[1]) and the CHECKBOOL block is sending this data to a block which requires
validated data downstream. Neither the upstream and downstream blocks nor their
connections have been shown. Only the operations within the CHECKBOOL block and
its actions on both input and output data will be discussed here. Also, only one
input/output pair is shown for each CHECKBOOL block, but each block can handle up
to eight input/output pairs.

CheckBool Scenario 1
In this scenario the user has configured the block for immediate Inactive input detection
with no minimum time for bad action on bad-to-good recovery. The output will track the
input no delay. OUTSTS will be UNCERTAIN while the BADINACT is in effect.

1008

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.17. Examples and Scenarios

CheckBool Scenario 2
In this scenario, the user has configured the block with a 2 second bad detection period
and no minimum time for bad action on bad-to-good recovery. This configuration forces
a 2 second delay when an INSTS is "BAD". Once the Bad Input Detection Threshold
Time has elapsed, the output values will track those of the input.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1009

17. Logic Functions


17.17. Examples and Scenarios

CheckBool Scenario 3
In this scenario the user has configured the block with a 2 sec Inactive Input Detection
Threshold and a 4 sec minimum time for bad action on Inactive-to-good recovery. In this
configuration an "INACTIVE" INSTS is not acted upon until the 2 sec
INACTINDETTM has elapsed. If at the end of this time the block still has an INSTS of
"INACTIVE", the output will be set to BADINACT ("OFF") and will be held at that
value until the Bad Input Action Minimum Time of 4 sec has expired.

1010

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.17. Examples and Scenarios

CheckBool Scenario 4
In this scenario, the user has configured the block with a 2 second bad detection period
and a 4 second minimum time for bad action on bad-to-good recovery. In this
configuration a "BAD" INSTS is not acted upon until the 2 second BADINDETTM has
elapsed. If at the end of this time the block still has an INSTS of "BAD", the output will
be set to BADINACT ("OFF") and will be held at that value until the Bad Input Action
Minimum Time of 4 seconds has expired.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1011

17. Logic Functions


17.17. Examples and Scenarios

Contact Monitoring (CONTACTMON) Block


Function

Enables alarm generation whenever the state of both inputs is same or different
based on the NORMAL state configuration.

Predecessor Block
The input to the Contact Monitoring block can be any block with a digital output. NOT
of the XOR of these inputs is the output of the block.

1012

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

17. Logic Functions


17.17. Examples and Scenarios

Execution
When a Contact Monitoring block is configured as in the preceding illustration, the
digital inputs are supplied to the block using an arrayed IN parameter. The output of the
block is a NOT of the XOR of the inputs to the block. The possible combinations are
listed in the following table:
IN[0]

IN[1]

PVFL

OUT1

OUT2

ON

ON

ON

OFF

OFF

ON

OFF

OFF

ON

OFF

OFF

ON

OFF

OFF

ON

OFF

OFF

ON

OFF

OFF

The alarm is generated based on the NORMAL parameter and the priority and severity of
the alarm are configurable. When STATETEXT[0] is configured as OFF and
STATETEXT[1] as ON, the possible combinations are listed in the following table:

PVFL

STATE0

STATE1

NORMAL

Alarm
Generated

ON

OFF

ON

State0

Yes

OFF

ON

OFF

State0

No

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1013

17. Logic Functions


17.17. Examples and Scenarios

PVFL

1014

STATE0

STATE1

NORMAL

Alarm
Generated

OFF

ON

OFF

State1

Yes

ON

OFF

ON

State1

No

None

No

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

18. Math Functions


18.1 Math Function Blocks
Functional Overview
The Math Function Blocks add a library of blocks similar to the Logic blocks. These
blocks are self describing and expression-less basic blocks that are always contained
within a Control Module. The Control Module must be given a system-wide unique
name (tag name), while the Math blocks only need to be given a name that is unique
within the scope of the containing Control Module.
The Math blocks do not have an Execution State (EXECSTATE) and Execution Period
(PERIOD) of their own. They will always follow the EXECSTATE and PERIOD of the
Control Module that contains them.
Unless noted otherwise bad values will propagate according to the following IEEE rules:

If a NaN input is encountered when calculating, the result (and the output) shall be
NaN.

Disconnected inputs have a default value of zero (with the exception of multiply
where the input(s) default is one).

Infinity values will be considered according to IEEE 754 floating point computation
rules. For instance, +INF - (+INF) = NaN, so any sum including positive infinity
and negative infinity values will result in a NaN output value.

Available Math blocks and size


The following table lists the Math blocks that are available in Library by name, function
and approximate size.
Block Library
Name

Function

Approximate Size
in Bytes

ABS

Absolute value

50

ADD

Sum of n arguments

110

DIV

Division

60

EXP

e to the power of x

50

LN

Natural logarithm of a number (log to the base of e)

50

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1015

18. Math Functions


18.1. Math Function Blocks

Block Library
Name

Function

Approximate Size
in Bytes

LOG

Base 10 logarithm of a number

50

MOD

(x MOD y)

60

MUL

Product of n arguments

110

NEG

-(x)

50

POW

(x^y)

60

ROUND

Rounded up to nearest integer value

50

SQRT

square root

50

SUB

Subtraction

60

TRUNC

Round down to nearest integer value

50

ROLLAVG

Rolling average

120
Note: This does not
include the auxiliary
memory buffer that
is based on the
number of samples
configured by the
function block user.

Math blocks functional description


The following table provides a description and a brief explanation of the functional
capabilities of the named function block. In most cases, the name of the block is intuitive
of its function.

1016

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

18. Math Functions


18.1. Math Function Blocks

Block Name/
Graphic

Description

Function

ABS

Provides the absolute value


function.

ADD

Provides the addition function. Sums the value of the


number of inputs (IN[1..8])
configured by the user as
the output (OUT).

DIV

Provides the divide function.

At runtime, the output


(OUT) becomes the
quotient of input 1 (IN[1])
divided by input 2 (IN[2]).

EXP

Provides the exponent


function.

At runtime, the output


(OUT) becomes the
exponent of the user
connected input (IN[1]).

LN

Provides the natural logarithm At runtime, the output


function.
(OUT) becomes the natural
logarithm of the user
connected input (IN[1], log
to the base of e).

LOG

Provides the logarithm


function.

R110
February 2014

At runtime, the output


(OUT) becomes the
absolute value of the user
connected input (IN[1]).

At runtime, the output


(OUT) becomes the base
10 logarithm of the user
connected input (IN[1]).

Experion LX Control Builder Components Theory


Honeywell

1017

18. Math Functions


18.1. Math Function Blocks

1018

MOD

Provides the modulo function. At runtime, the user


connected inputs (IN[1],
IN[2]) are truncated to
integer and the output
(OUT) becomes the
Remainder of IN[1] divided
by IN[2].

MUL

Provides the multiply function. At runtime, the output


(OUT) becomes the
Product of the user
connected inputs (IN[1..8]).

NEG

Provides the negative


function.

At runtime, the output


(OUT) becomes the
negative (-) equivalent of
the user connected input
(IN[1]).

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]).

ROUND

Provides the round up


function.

At runtime, the output


(OUT) becomes the user
connected input (IN[1])
rounded up to the nearest
integer value.

SQRT

Provides the square root


function.

At runtime, the output


(OUT) becomes the square
root of the user connected
input (IN[1]).

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

18. Math Functions


18.1. Math Function Blocks

SUB

Provides the subtract function. At runtime, the output


(OUT) becomes the user
connected input 1 (IN[1])
minus the user connected
input 2 (IN[2]).

TRUNC

Provides the truncate


function.

At runtime, the output


(OUT) becomes the user
connected input (IN[1])
rounded down to the
nearest integer value.

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.

Rolling Average block


Rolling averages are used for monitoring, control, and calculations. Sometimes
government regulations require rolling average calculations. Rolling averages are used in
many control and database applications.
The Rolling Average algorithm is based on the following:
1.

Collect input samples at a specified frequency (some multiple of CM Period). If you


do not set the frequency as a multiple of CM Period, you can load the Rolling
Average function block successfully but cannot initialize the average calculation.

2.

Save the samples in a buffer.

3.

Calculate the average of the samples that are collected.

While calculating the rolling average, only good samples are included in the calculation
and all bad samples are excluded from the calculation. The rolling average is calculated
at each Rolling Average function block execution as long as there is at least one good
sample. The block also displays the quality of the rolling average value by counting the
number of good samples and bad samples.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1019

18. Math Functions


18.1. Math Function Blocks

A NaN, disconnected input, or an infinity value is considered as a bad input. Also, no


alarms are notified whenever the block receives a bad input.
The maximum number of samples that can be collected is 3800 based on the CM Period.
The number of samples that can be collected is controlled by the frequency of sample
collection and the size of the sample collection buffer. These functions are accomplished
by the following parameters.

ROLLFREQ Defines how frequently the samples must be collected. It is a numeric


value and a multiple of the associated CM Period. For example, if the CM Period is
5 secs, ROLLFREQ value can be a multiple of 5 (5, 10, 15, 20, and so on).

ROLLFRBASE Unit of time that is associated with the frequency of sample


collection. This could be seconds, minutes, or hours.

For example if ROLLFREQ is 5, and ROLLFRBASE is Seconds then


samples are collected every 5 seconds.

ROLLBUF Defines how long the samples must be collected.

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 up to 20 seconds. After 20 seconds, new samples
overwrite the old samples.

Example of calculating rolling average


Consider the following values for calculating the rolling average.

CM Period =5 Secs

ROLLFREQ =5

ROLLFRBASE = Sec

ROLLBUF = 20

ROLLBFBASE = Sec

The number of samples collected = 4


If the input values = 4, 6, NaN, 8, then
OUT = (4+6+8)/3=6

1020

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

18. Math Functions


18.1. Math Function Blocks

The block also displays the good and bad values as ROLLAVGBAD=1 and
ROLLAVGOK=3
ATTENTION
When the collection buffer is filled with the maximum number of samples
(3800), the new sample overwrites the oldest sample in the buffer.
The 3800 can be updated as "(ROLLBUF * ROLLBFBASE)/(ROLLFREQ *
ROLLFRBASE.

Initialization of the Rolling Average function block


The Rolling Average function block is activated only after the user configurations are
performed and the CM containing the block is loaded to the associated CEE.
The Rolling Average output (OUT) is initialized to NaN on startup or restart. The OUT
value changes to a non-NaN when a first valid input is processed. The initial value of the
ROLLAVGOK and ROLLAVGBAD parameters is 0. These initial values are also
stored internally during the following:

CM EXECSTATE transitions from INACTIVE to ACTIVE.

CEE transitions from IDLE to RUN.

The rolling average restart (ROLLAVGRST) parameter value is ON.

Rolling Average Runtime Errors


No point process alarms are generated from the Rolling Average function block
processing. The following are the scenarios during which the rolling Average result
(OUT) remains a bad value (NaN).

A bad input is counted as a bad sample and is not included in rolling average
calculation. The OUT remains a NaN until one good sample is collected.

The CM is activated without correcting the errors that occurred while loading the
block. When this happens, ROLLAVGSZ and ROLLMULTIPLE parameter values
remain at 0. However, the Control Modules remaining functions are unaffected.

The CM Period is changed to a value that is illegal for the block to execute. For
example, if you change the CM Period from 1 sec to 2 secs while you have specified
the frequency of sample collection as 1 sec. You can change the CM Period only
when the CM is inactive or the controller is idle. When this happens, the
ROLLAVGSZ parameter value remains unchanged and the ROLLMULTIPLE

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1021

18. Math Functions


18.1. Math Function Blocks

parameter value remains at 0. However, the Control Modules remaining functions


are unaffected.
Refer to the Control Builder Parameter Reference document for more information on the
parameters.
Errors resulting from invalid parameter combinations
Even though invalid parameter combinations result in successful point load completion
of the block, rolling average calculation does not initialize until the errors are rectified.
The following are the possible invalid parameter combinations:

The number of samples in the sample buffer exceeds its limits (greater than 3800).

The frequency of sample collection (ROLLFREQ) is lesser than 1 or greater than


3800.

The size of the collection buffer (ROLLBUF) is not legal for collection frequency or
not a multiple of frequency. For example, if frequency = 2 seconds and buffer size =
61 seconds, this is considered as illegal (since sample collection occurs every 2
seconds and cannot occur at the 61st second).

The frequency of sample collection (ROLLFREQ) is greater than the buffer size. For
example, if frequency = 10 minutes and buffer size = 5 minutes, this is considered
illegal (since sample collection occurs every 10 minutes, the buffer size must be
greater than the frequency).

The frequency of sample collection (ROLLFREQ) is less than the CM Period. For
example, if frequency = 1 minutes and CM Period = 2 minutes, this is considered
illegal.

The frequency of sample collection (ROLLFREQ) is not a multiple of the CM


Period. For example, if frequency = 41 minutes and CM Period = 20 minutes, this is
considered as illegal.

An error also occurs if the memory available in CEE is insufficient for the rolling
average sample buffer.
Refer to the Control Builder Parameter Reference document for more information on the
parameters.
Memory size for the block
The estimated memory size for the Rolling Average function block is as follows:

1022

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

18. Math Functions


18.1. Math Function Blocks

Estimated user memory (RAM) is 112 bytes per instance. (This size is reflected in
the block size information).

Estimated code size (firmware) is 3100 bytes. (This size is not reflected in the block
size information).

Auxiliary memory usage is variable when loaded based on user sample


configuration of 8 to 30400 bytes per instance. (This size is not reflected in block
size information).

The user memory tool displays the memory per instance. The auxiliary memory is 8
times the RollavgSz for the number of additional bytes for a block.
Validations of the memory size

The CEE calculates and verifies the memory associated with the block to be within
the range (1 to 3800).

Also, the CEE validates that the size of the collection buffer is within the limits (0 to
3800) based on the CM Period and the frequency of the sample collection.

Redundancy support for the block


In the event of a controller switchover, the block continues its operations with the
existing sample buffer. The controller switchover does not restart the rolling average
calculations. To support this function, the sample buffer is included in the Dynamic State
Data (DSD) for the block. A single DSD must not exceed 32K (maximum size). This
includes the maximum possible size of the buffer, other DSD items, and inherited data.
Checkpoint Save and restoration
Only configuration values are saved during Checkpoint Save and restored on start-up.
The internal sample buffer is not maintained in the Checkpoint.
Scenarios during which the block does not execute
The Rolling Average function block does note execute in the following scenarios:

CM Period is None and SCALEPERIOD parameter is NaN.

CM BPS parameter is stored as a result of a process special execution and CM


Period is a value other than None.

Refer to the Control Builder Parameter Reference document for more information on the
parameters.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1023

18. Math Functions


18.1. Math Function Blocks

1024

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.1 POWERGEN Function Blocks
Functional overview
Power Generation function blocks provide a variety of configurable functions for
supporting control strategies designed for power plant applications
The following table presents the various functions that can be performed through the
configuration of the associated POWERGEN function block. Functional descriptions for
each block are given in the following subsections.
ATTENTION
The following blocks can only be used with C300 Controllers.

Function

Block

Description

Support Coordinated
Master Control scheme

GRPCAPRBK
(Group Capability
and Runback)
Block

Used to define associated equipment


capability including alarms and ROC
limit output.

Support HT motor drive


control requirements

HTMOTOR (HT
Motor Drive
Control) Block

Used to define inputs and interlocks


for conventional HTMOTOR drive.

Support drum level


computation

LEVELCOMP
(Drum Level
Computation)
Block

Used to compute drum level from


measured differential pressure and
other field specific constants.

Support LT motor drive


control requirements

LTMOTOR (LT
Motor Drive
Control) Block

Used to define inputs and interlocks


for conventional LTMOTOR drive.

Provide Integral Bypass


Valve (IBV) logic

MAINIBV (IBV
Logic) Block

Used to define configurable timing


logic for the main valve.

Support solenoid valve


drive control
requirements

SOLENOID
(Solenoid Valve
Drive Control)
Block

Used to define inputs and interlocks


for conventional solenoid valve drive
control.

Support valve/damper

VALVEDAMPER

Used to define configurable operation

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1025

19. Power Generation Functions


19.2. GRPCAPRBK (Group Capability and Runback) Block

control requirements

(Valve/Damper
Drive Control)
Block

requirements for valve/damper


control.

19.2 GRPCAPRBK (Group Capability and Runback) Block


Description
A Coordinated Master Control (CMC) scheme includes a unit load demand scheme. The
unit load demand scheme is part of the CMC scheme that receives the load demand from
the load dispatcher and checks the demand signal against the allowable operating limits
for the unit and the minimum required load. During online operation, the demand can be
Runback in the event of loss of auxiliary equipment such as losing one forced draft fan,
which limits the load carrying capability of the unit. The demand, after having been
processed in this manner, is used as the load demand signal in the CMC scheme.
All the auxiliary equipments like ID Fan, FD Fan, PA Fan, Primary/Secondary Air Pre
Heaters, BCW Pump, Turbine, CEP Pump, CW Pump, Mills, and so on are monitored
continuously and unit capability because of the individual equipment are compared with
the Load SP and the minimum is selected as the SP to the Unit Capability ramp
generator. When an equipment trips, the SP to the Unit capability ramp generator comes
down correspondingly. The output of the Ramp Generator is brought down by Runback
action. The runback rate depends upon the equipment that has tripped.
The Group Capability and Runback block, available under the Powergen function block
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.
Configuration Tab
Main

Description
Name: Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM): Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
and 32767. The default value is 10.
Description (DESC): Block descriptor of up to 132

characters long.
Engineering Units (EUDESC): Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block.
1026

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.2. GRPCAPRBK (Group Capability and Runback) Block

Configuration Tab

Description
Number of Equipments (NUMBEROFEQP) -The number

of equipment in the group for which the Group Capability


and Rate of change of load set point for Group is
calculated.
Capability Output Options -Lets you choose the

Capability Output value in case of bad input status. The


user can choose either user provided Safe value or hold
the last output value.
Display Configuration -Lets you specify the number of

GRPCAPRBK blocks in the CM for which a common


display is required. Default Value is 1.Display uses this
parameter from the block which has name
GRPCAPRBKA. This parameter is ignored for the block
which does not have name GRPCAPRBKA.
Alarms -Lets you specify the priority and severity for

following alarms.

Runback Active (RUNBKACTALM.PR/SV): This


alarm is generated when the Capability Output
value is less than the Load set point input. This
alarm returns to normal when the Capability Output
value is equal or greater than the Load set point
input.

Safe Output triggered (SAFEOPALM.PR/SV: This


alarm is generated when the Inputs (All DI or
LOADSP) status is bad. This alarm returns to
NORMAL when Input statuses are not bad.

ROC Limit Output (ROCLM) - Lets you choose the ROC

Limit Output (ROCLM) value in case of bad input status.


The user can choose either user provided Safe value or
hold the last output value. This group has Runback ROC
limit parameter that allows you to configure the ROC limit
output in Runback state.
Equipment Capability Values - Lets you configure the

ON state and OFF state Capability values of individual


equipment. The ON state Capability value is always
greater than OFF state capability value of equipment.
Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1027

19. Power Generation Functions


19.2. GRPCAPRBK (Group Capability and Runback) Block

Configuration Tab

Description

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

This block provides the capability for a group of same type of equipments
depending upon the equipment status.

This block provides the Group Capability and Group Runback Rate for the
configured number of equipments.

The block accepts configurable number of equipments' input status and desired unit
load set point.

The block 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

1028

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.2. GRPCAPRBK (Group Capability and Runback) Block

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

Predecessor Block
The input IN of this block can be from any block with digital output. The input LOADSP
of this block can be from any Regulation Control block like AUTOMAN, SWITCH or
RATIOBIAS.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1029

19. Power Generation Functions


19.2. GRPCAPRBK (Group Capability and Runback) Block

Successor Block
The outputs OUTCAP and ROCLM of this block can be connected to any block with
analog input (for example, LOGIC:MIN). The output RUNBKACTFL of this block can
be connected to any block with digital input (for example, LOGIC:OR).

Configuration examples
User Scenario 1: The predecessor block for DI input can be a DIGACQ block or DI Channel
Block. The predecessor block for LOADSP input can be the AUTOMAN Block. The successor
block for OUTCAP and ROCLM can be SIGNALSEL block. The successor block for
RUNBKACTFL and SAFEOPTRIGFL can be LOGIC: OR block. This is a common scenario.

Inputs

LOADSP - Load Set point

DI[1..10]

Outputs

1030

OUTCAP - Output capability


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.2. GRPCAPRBK (Group Capability and Runback) Block

RUNBKACTFL - Runback control flag

ROCLM - Current ROC Limit

SAFEOPTRIGFL- Safe output triggered

Error handling

An Error is reported when a user enters a higher OFFCAP value than ONCAP value
of equipment. An error is also reported when the OFFCAP value equals the ONCAP
value of equipment. The block reports an error when the default values of ONCAP
is not changed The ONCAP and OFFCAP parameters report an error when ONCAP
and OFFCAP values are changed to NaN.

This block supports the invalid index check and Access level checks for all
parameters specific to the block.

On CM inactivation or CEE state IDLE, all output values are set to default values.

If LOADSP status is BAD , then:

The ROCLM Output 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.

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

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1031

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

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.

GRPCAPRBK parameters
REFERENCE
Refer to the Control Builder Components Reference for parameter details for
the Group Capability and Runback Function block.

19.3 HTMOTOR (HT Motor Drive Control) Block


Description
A Drive Control is achieved through Device Control Blocks (DEVCTL) in Experion LX.
The existing Device control block is designed for all types of drives like LT, HT, and
valves. It has configurable states, number of inputs, number of outputs, and hosts PV and
OP alarms. You have to configure them before using the block. There is a single
permissive and interlock inputs for each state. Therefore all the switchgear related inputs
and Process inputs have to hover around this one single input pin by employing OR or
AND blocks for multiplexing. The HT Motor Control FB (HTMOTOR), available under
the POWERGEN library, is derived from the Device Control block in Experion LX
(DEVCTL) customized to meet the HT Motor Drive control requirements found in
power plants. The HT Motor Control FB accepts inputs and interlocks pertaining to a
conventional HTMOTOR drive and its switchgear and is capable of controlling the drive
through outputs governed by predetermined logic.
The HT Motor Control function block is graphically represented as follows:

1032

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

The following diagram illustrates the START logic flow for an HT Motor block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1033

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

1034

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

The following diagram illustrates the STOP logic flow for an HT Motor block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1035

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

The following diagram illustrates the TRIP logic flow for an HT Motor block.

1036

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Each HT Motor Control block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
and 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block.
PV Source Option (PVSRCOPT) - Lets you select

whether you want to limit the PV source to AUTO only or


allow other PV source selections. The default selection is
ONLYAUTO.
PV Source (PVSOURCE) - Lets you select the source of

the PV as SUB for a user program, MAN for an operator,


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1037

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
or AUTO for process input connection, TRACK for
tracking OP. Only applicable with PV Source Option
selection of ALL. The default selection is AUTO.
Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who can store
values to the output (OP), when the block's MODE is
either MAN or AUTO.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR, PROGRAM. The default selection is
NONE.
Output

Init OP After Load (INITOPAFTLD) - Lets you specify the

state to which the digital outputs have to be set after a


Load. Selections are DEFAULT, RUN and STOP. Both
digital outputs are set to OFF in DEFAULT mode.
OP Initialization Option (INITOPOPT) - Lets you specify

the state to which OP is set when INITMAN transitions


from ON to OFF. Selections are NORMALOPT,
HOLDOPT and SAFEOPOPT.
Seal-in Option (SEALOPT) - Lets you clear the output

commands when the process feedback state cannot


follow the commanded output state. Selections are
DISABLED and ENABLED. If ENABLED, the field output
destinations are set to STOP but OP is not altered.
Pulse Output (PORUNCONNECTED and

POSTOPCONNECTED) - Lets you specify whether a


given pulse output is to be enabled (ON) or not (OFF). A
check equals ON and enables configuring the pulse
width and PO Pins. The default is no pulse outputs
configured.
Bypass Permit (BYPPERM) - Lets you specify if

operators are permitted to bypass the Permissive and


Override Interlocks or not. The default is Disabled
(unchecked) or OFF. An operator cannot set or reset the
BYPASS parameter.
Perm. and Intlock. Bypass (BYPASS) - When BYPPERM

1038

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
is ON, lets you change OP regardless of the state of the
Override interlocks, if BYPASS is set ON. This does not
affect the Safety Override Interlock (SI). When you reset
the BYPASS parameter to OFF, any existing Override
Interlocks (OI[0..2]) take effect immediately.
BYPASS when BKT (BKTBYPASS) - Lets you change

OP regardless of the state of the Override interlocks, if


BKTBYPASS is set to ON. BKTBYPASS is set to ON
only when BKT is ON. This does not affect the Safety
Override Interlock (SI). When you reset the
BKTBYPASS parameter to OFF, any existing Override
Interlocks (OI[0..1]) take effect immediately. The default
is OFF (unchecked). Operator cannot bypass override
interlocks to change OP.
Maintenance

Track Number of PV transitions/State (TRKNUMTRANS)

- When enabled or box checked, you can track the


number of transitions of PV to each state (NUMTRANS[0
-1]. The default is OFF or box unchecked and
NUMTRANS[0 -1] in maintenance statistics is not
collected.
Track Number of SI Overrides (TRKSIOVRD) - When

enabled or checked, you can track the number of SI


overrides. The default is OFF or box unchecked and the
NUMSIOVRD in maintenance statistics are not collected.
Maint. stats. reset flag (RESETFL) - An operator, a user

program or another FB can turn ON the RESETFL


parameter to reset statistics anytime.
No. of safety ovr. trips (NUMSIOVRD)- Accumulated

number of safety interlock trips that result in OP


changing state, after the last statistics reset.
No. of all PV transitions (NUMALLTRANS) -

Accumulated number of transitions of PV to each state,


after the last statistics reset.
Track State Time (TRKSTATETIME) - When enabled

or checked, you can track the amount of time the drive is


in different states.

R110
February 2014

RUNTIME - Accumulated time the drive spends in


the RUN state.

STOPTIME - Accumulated time the drive spends in

Experion LX Control Builder Components Theory


Honeywell

1039

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
the STOP state.

SCM

TRIPTIME - Accumulated time the drive spends in


the STOP state because of a trip.

SCM Mode Tracking Opt (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based
upon the MODE of the SCM. The default selection is
ONESHOT. The selections are NONE, ONESHOT,
SEMICONT, CONTRTN, and CONT.
Abnormal State Options - Lets you specify the action the

function block is to take when the SCM is in an abnormal


state.

Alarms

The Starting State Option (STARTOPT) applies


when the SCM state is Checking, Idle, or
Complete. The options are NONE, SAFEOP. The
default selection is NONE.

The Stop/Abort State Option (STOPOPT) applies


when the SCM state is Stopping or Stopped,
Aborting or Aborted. The options are NONE,
SAFEOP. The default selection is NONE.

The Hold State Option (HOLDOPT) applies when


the SCM state is Holding or Hold. The options are
NONE, SAFEOP. The default selection is NONE.

The Restart State Option (RESTARTOPT) applies


when the SCM state is Resume or Run. The NONE
and LASTREQ are the only selections for the
Restart State option. The default selection is
NONE.

The following alarms are configurable to represent


disagreements between the commanded state (OP) and
the feedback state (PV).
Command Disagree (CMDDISALM.FL): This alarm is

generated when the commanded output state (OP)


changes and the feedback state (PV) does not change to
the same state within the specified feedback time. This
alarm returns to NORMAL when the PV state becomes
the same as the OP state.

1040

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
Command Fail (CMDFALALM.FL): This alarm checks to

see if the PV state changed from its original state to any


other state within a specified feedback time after the OP
state is commanded. For slow responding devices,
absence of this alarm indicates that the device
responded to the command, even if it has not yet moved
to its commanded position.
Uncommanded Change (UNCMDALM.FL): This alarm is

configured in conjunction with the Command Disagree


alarm function. This alarm is generated, if an OP state
has not been commanded and the PV state changes for
any reason except BADPV.
Bad PV (BADPVALM.FL): This alarm is generated

whenever PV is detected in the Null state. The Null state


can result from a BadPV condition for an input provided
by a source block, or because input combinations
represent a Null state.
Command Disagree - Lets you configure the following
parameters for this alarm.
Time to STOP (or assigned State Name)

(CMDDISALM.TM[0]): Lets you set the feedback time for


STOP in range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0.
Time to RUN (or assigned State Name)

(CMDDISALM.TM[1]): Lets you set the feedback time for


RUN in range of 0 to 1000 seconds. A time of 0 disables
the alarm. The default setting is 0.
Priority (CMDDISALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (CMDDISALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most sever. The default setting is 0.
Command Fail - Lets you configure the following
parameters for the command fail alarm.
Time to STOP (or assigned State Name)

(CMDFALALM.TM[0]): Lets you set the feedback time


for STOP in range of 0 to 1000 seconds. A time of 0
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1041

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
disables the alarm. The default setting is 0. This value
must be less than the value set for CMDDISALM.TM[0].
Time to RUN (or assigned State Name)

(CMDFALALM.TM[1]): Lets you set the feedback time


for RUN in range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0. This value
must be less than the value set for CMDDISALM.TM[1].
Priority (CMDFALALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (CMDFALALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most sever. The default setting is 0.
Uncommanded Change - Lets you configure the following
parameters for this alarm.
Priority (UNCMDALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (UNCMDALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Bad PV - Lets you configure the following parameters for
this alarm.
Priority (BADPVALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (BADPVALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Safety Override Alarms - Lets you configure the following
parameters for the safety override interlock alarm.
Safety Override Interlock (SIALM.FL): This alarm is

generated when the safety override interlock (SI) causes


an OP state change.
Option (SIALM.OPT): Lets you specify whether the

safety override interlock alarm is enabled or not. The


1042

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
default setting is DISABLED.
Priority (SIALM.PR): Lets you select the priority level as

NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (SIALM.SV): Lets you set the relative severity of

the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Override Alarms - The following alarms are configurable to
represent override interlock conditions
STOP Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[0].OPT): Lets you specify whether the

STOP override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[0].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[0].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Override Interlock (OIALM[0..1].FL): This alarm is

generated when an override interlock (OI[0..1]) occurs


and causes an OP state change.
RUN Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[1].OPT): Lets you specify whether the

RUN override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[1].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[1].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Equipment safety alarm- Lets you configure parameters

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1043

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
for the following alarms.
Motor trip alarm: Lets you configure the following
parameters for this alarm.
Option (MOTORTRIPALM.OPT): Lets you specify

whether the motor trip is enabled or not. The default


setting is ENABLE.
Priority (MOTORTRIPALM.PR): Lets you select the

priority level as NONE, JOURNAL, LOW, HIGH, or


URGENT. The default setting is LOW.
Severity (MOTORTRIPALM.SV): Lets you set the

relative severity of the motor trip alarm on a scale of 0 to


15. Where 15 is the most severe. The default setting is
0.
Lockout Relay Reset alarm: Lets you configure the
following parameters for this alarm.
Option (LRRALM.OPT): Lets you specify whether the

lockout relay reset alarm is enabled or not. The default


setting is ENABLE.
Priority (LRRALM.PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (LRRALM.SV): Lets you set the relative severity

of the lockout relay reset alarm on a scale of 0 to 15.


Where 15 is the most severe. The default setting is 0.
Winding Temperature Trip alarm: Lets you configure the
following parameters for this alarm.
Option (WDGTEMPALM.OPT): Lets you specify whether

the winding temperature trip alarm is enabled or not. The


default setting is ENABLE.
Priority (WDGTEMPALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (WDGTEMPALM.SV): Lets you set the relative

severity of the winding temperature trip alarm on a scale


of 0 to 15. Where 15 is the most severe. The default
setting is 0.
1044

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description
Bearing Temperature Trip alarm: Lets you configure the
following parameters for this alarm.
Option (BRNGTEMPALM.OPT): Lets you specify

whether the bearing temperature trip alarm is enabled or


not. The default setting is ENABLE.
Priority (BRNGTEMPALM.PR): Lets you select the

priority level as NONE, JOURNAL, LOW, HIGH, or


URGENT. The default setting is LOW.
Severity (BRNGTEMPALM.SV): Lets you set the relative

severity of the bearing temperature trip alarm on a scale


of 0 to 15. Where 15 is the most severe. The default
setting is 0.
Vibration Trip alarm: Lets you configure the following
parameters for this alarm.
Option (VIBRALM.OPT): Lets you specify whether the

vibration trip alarm is enabled or not. The default setting


is ENABLE.
Priority (VIBRALM.PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (VIBRALM.SV): Lets you set the relative

severity of the vibration trip alarm on a scale of 0 to 15.


Where 15 is the most severe. The default setting is 0.
Off Normal Condition - Lets you configure the following
parameters for this alarm
Off Normal Condition (OFFNRMALM.FL): If an interlock

bypass becomes active when OPREQ is not Null, the


OPREQ is transmitted to OP immediately upon
activation of the bypass parameter. If bypass is activated
after an interlock has been initiated, the OP and
OFFNRMALM.FL is corrected within one scan.
Priority (OFFNRMALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (OFFNRMALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1045

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Configuration Tab

Description

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

1046

The HT Motor Control block has two inputs, two states, and two outputs.

Provides PV Source Selection; PV has 2 basic states such as RUN and STOP and an
additional BAD state.

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.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

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 About Red Tagging section for more
information.
Predecessor and Successor Block
The HT Motor Drive Control block takes inputs from DI channels or from the program.
All the inputs are two state inputs and can be connected to any block with a digital
output. The output of the block can be connected to DO or further connected to
subsequent logic, if necessary.

Configuration examples
Scenario 1:
The following scenario depicts the implementation of an HT Motor block in a Control
Strategy with Auto Start/Stop, Equipment trips, Local Start/Stop and MCC inputs:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1047

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

1048

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1049

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

1050

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1051

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Callout
1

Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR)
and breaker status inputs (BKS, BKR) from the DICHANNEL block to the
HT Motor block.

2
1052

Use the PV parameter connection to carry Remote switch input from the
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Callout

Description
DI channel block to the HT Motor block.
In case of an auto standby configuration, the HT motor block can be
commanded by Auto Start, Auto Stop provided the Remote switch is ON,
the local switch is OFF and MODEATTR is in PROGRAM.

Use the PV parameter connection to carry Local switch input from the DI
channel block to the HT Motor block.
In case of a local mode configuration, the HT motor block can be
commanded by Local Start, Local Stop provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.

Use the PVFL parameter connection of the Dig Acq block to carry
vibration trip inputs from the DI channel block to the HT Motor through
the Dig Acq block.
Use the PV parameter connection to carry equipment trip inputs (bearing
temperature, winding temperature) from the DI channel block to the HT
Motor.

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Scenario 2
The following scenario depicts the implementation of an HT Motor block in a Control
Strategy with Safety, Override, and Permissive logic and MCC Inputs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1053

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

1054

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1055

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Callout
1

Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR)
and breaker status inputs (BKS, BKR) from the DICHANNEL block to the
HT Motor block.

1056

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.

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Scenario 3
The following scenario depicts the implementation of an HT Motor block in a Control
Strategy with Equipment trips and UCP Start/Stop logic and MCC Inputs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1057

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

1058

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Callout
1

Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR)
and breaker status inputs (BKS, BKR) from the DICHANNEL block to the
HT Motor block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1059

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Callout
2

Description
Use the PVFL parameter connection of the Dig Acq block to carry
vibration trip inputs from the DI channel block to the HT Motor through
the Dig Acq block.
Use the PV parameter connection to carry equipment trip inputs (bearing
temperature, winding temperature) from the DICHANNEL block to the HT
Motor.

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.

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Inputs
The HT Motor block can have two inputs. Each input is a Boolean value, representing
the state of another block output or a field DICHANNEL (Digital Input Channel) block.
The inputs which are physically wired into the system and brought to this block through
Channel blocks are termed as Hard inputs. The Soft inputs normally operate from
displays or other function blocks.
Hard Inputs: MTT, MTR, MTS, LRR, BKS, BKT, BKR, WDGTEMPTRIP,
VIBRTRIP, BRNGTEMPTRIP, LOCALSWITCH, REMOTESWITCH,
LOCALSTART, LOCALSTOP, UCPREL, UCPSTART, UCPSTOP, SEQSTART,
SEQSTOP, AUTOSTART, AUTOSTOP, RESETFIRSTUP, BKTBYPASS
Soft Inputs: PORUNCONNECTED, POSTOPCONNECTED, RUNPULSEWIDTH,
STOPPULSEWIDTH, PI[0], PI[1], OI[0], OI[1], TRKNUMTRANS,
TRKNUMSIOVRD, TRKSTATETIME, RESETFL.

Outputs
The HT Motol Control block may have two outputs. Each output can be latched or
pulsed (On Pulse or Off Pulse). Each output is a Boolean value, which can be connected

1060

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

to any other block parameter or to a field DOCHANNEL (Digital Output Channel)


block.

An output to any connection except to a DOCHANNEL block is a Boolean output


only.

The DOCHANNEL (DOC) block can connect three different inputs to a drive
control block (output). However, only one of these inputs can be connected for any
single DOC.

DOC.SO can be connected to the latched outputs like CmdRun and CmdStop.

DOC.ONPULSE can be connected to pulsed outputs PORun and POStop.

DOC.OFFPULSE can be connected to pulsed outputs PORun and POStop.

The internal PO*CONNECTED parameter is set to ON when the respective PO* is


configured as a block pin and connected to a DOC.ONPULSE or DOC.OFFPULSE
input. This lets the drive control block know what output is used.

You can configure an individual PULSEWIDTH for each PO*. The setting range is
between 0.000 and 60 seconds with a resolution of 1 millisecond.

The DOCHANNEL block determines the actual pulsewidth resolution and accuracy
based on its execution rate. It always rounds-off the configured pulsewidth value up
consistent with its own execution rate. For example, if the execution rate of the
DOCHANNEL block is 125 milliseconds and the configured PULSEWIDTH value
is 450 milliseconds (.45 seconds), the actual pulse time output is 500 milliseconds,
which is the next highest multiple of 125 milliseconds.

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.

The output parameters are: MTTACTED, WDGTEMPTRIPACTED,


VIBRTRIPACTED, BRNGTEMPTRIPACTED, LOCALSTOPACTED,
UCPSTOPACTED, SEQSTOPACTED, OIACTED, CMDRUN, CMDSTOP, OP, PV,
CONSSTARTRDY, PORUN, POSTOP, NUMTRANS[0,1], NUMALLTRANS,
NUMSIOVRD, TRIPTIME, STOPTIME, RUNTIME.

Error handling

LOCALSTART can be initiated only when 'Other FB' access lock, Operator mode
and Local/Remote selection switch is at LOCAL.

AUTOSTART can be initiated only when access lock in not 'Other FB' and
local/remote switch is at REMOTE.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1061

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

SEQSTART can be initiated only when the mode is at PROGRAM.

UCPSTART can be initiated only when access lock is not OtherFB and UCP
RELEASE is available.

RUNTIME, STARTTIME, TRIPTIME accept a value between 0 and 96000.

TRKTRIPTIME, TRKRUNTIME, TRKSTOPTIME requires Engineer Access lock.

For the HT Motor FB, if both feedback status is ON and OFF, a fault status is
flagged and output generation is not processed.

States
A "state" represents the current condition of a device. In the case of HT Motor, RUN and
STOP represent the two states, with Stop being the safe or failsafe state. Each input
combination is assigned to a specific state and this mapping is fixed. The PV parameter
represents the current state of the HT Motor.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state - RUN or STOP. The OP parameter
represents the commanded state or the device state commanded by an operator. The
block transmits the OP, monitors the PV, and produces alarms based on the State
Assignment configurations, which represent whether or not the process feedback has
achieved the state commanded in OP.

State parameters and descriptors


The block includes these two sets of parameters for state associations.

1062

State parameters

PV

PVAUTO

OP

OPFINAL

Generic State parameters

GPV (generic version of PV)

GPVAUTO (generic version of PVAUTO)

GOP (generic version of OP)


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

GOPFINAL (generic version of OPFINAL)

The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter. An operator can use these parameters.
The Generic State parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are as follows:

NULL - Stands for Bad Value.

INBET - Represents an in between state and could be designated MOVPV for


moving PV.

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.
If STATETEXT is

Then, the default name is

And, GENSTAT_ENM is

STATETEXT[0]

Bad

Null

STATETEXT[1]

Inbet

Inbet

STATETEXT[2]

Active

Active

STATETEXT[3]

Safe(STOP)

Safe

STATETEXT[4]

STOP

S0

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1063

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

STATETEXT[5]

RUN

S1

STATETEXT[6]

NOCOMMAND

S2

Mode and mode attribute

Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter


is also fixed at MANual.

Mode Attribute (MODEATTR) - determines where state commands to the HT


Motor block can originate - that is, who can set the commanded output state (OP), as
follows:

OPERATOR = only the operator can command the output state.

PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.

NORMAL = the setting specified by the Normal Mode Attribute


(NORMMODEATTR) is assumed.

MODEATTR can be changed from PROG to OPER and vice versa through other
FB through MODEATTRCHGFL.

Safe output state


The Safe Output State (SAFEOP) parameter defines the default state for certain actions
of the HT Motor block, such as OP initialization. In case of HT Motor, the safe Output
State (SAFEOP) is predefined as STOP State.

When OP or GOP is commanded to SAFE, the effective value of OP (GOP) is set


equal to SAFEOP.

Command dependency on switches and Mode attribute


HT MOTOR

1064

Local\Remote Switch

ModeAttribute

LocalStart

LOCAL

UCPStart

REMOTE

AutoStart

REMOTE

PROG

SeqStart

REMOTE

PROG

ConsoleStart

REMOTE

OPER

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

HT MOTOR

Local\Remote Switch

LocalStop

ModeAttribute

LOCAL

UCPStop
AutoStop

REMOTE

PROG

SeqStop

REMOTE

PROG

ConsoleStop

OPER

Ignore
Check

Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. The state
of the digital input can be stored to the LOCALMAN pin added to the HT Motor block
through a DICHANNEL connection. The control system cannot have control over the
field device when the HAND/OFF/AUTO switch is not in AUTO position, the
LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP is set to STOP. This ensures that the
last commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. You cannot directly command the OP (GOP) if
LOCALMAN is ON.
You cannot access LOCALMAN, if the HT Motor block has no inputs or no outputs
connected. PV is illegal for no inputs and OP is illegal for no outputs, and therefore
LOCALMAN has no meaning for these conditions.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdRun/Stop will follow OPFINAL.
ATTENTION
LOCALMAN can be used, when the LT Motor commands are commanded by
Local, and controlled directly from the MCC and not from the DCS.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1065

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Permissive interlocks
PI[0..1]are Permissive Interlocks inputs that can be connected to an external function
block to determine whether the operator and/or user program are allowed to change the
commanded output (OP) of the HT Motor block to a specific state. Permissive Interlocks
themselves never cause OP to change.

For OP to be changed to the desired state, the corresponding Permissive Interlock


parameter must be set to ON.

The Permissive Interlocks are all defaulted to ON, thereby allowing permission to all
the states - they must be individually set to OFF to prevent access to the
corresponding OP state.

Safety Override Interlock


The Safety Override Interlock (SI) forces the commanded Output State (OP) to the Safe
Output State (STOP) when active. OP cannot be commanded to a different state when SI
is active.

SI may be connected to other blocks or may be directly set by an operator if the


MODEATTR parameter is set to Operator and the block is inactive.

SI is defaulted to OFF, it must be set to ON to force OP to go to STOP.

When SI turns OFF, OP = STOP is maintained until changed by:

the operator

a user program

another Safety Override Interlock

Override Interlocks
OI[0..1] are Override Interlocks which, when active, force the commanded output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.

1066

Override Interlocks may be connected to other block outputs or may be directly set
by an operator if MODEATTR = OPERATOR and the block is inactive.

Override Interlock parameters are all defaulted to OFF, thereby disabling all the
Override Interlocks. They must be set to ON to force OP to go to any specific state.
If the Override Interlock forces OP to go to a momentary state, it stays in that state

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

as long as the interlock remains ON and then switches back to the original state
when the Override Interlock is reset to OFF.

SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks are determined by the state assigned to predefined SAFEOP that
is STOP and the priority is SI, OI[0], OI[1].

Configurable Override/Permissive Interlock Bypass


To grant an operator the ability to bypass the Permissive and Override Interlocks for a
HT Motor block, the parameter BYPPERM must be set to ON. The operator can then set
or reset the parameter BYPASS.

When BYPASS is ON, OP can be changed regardless of the state of the Override
Interlocks.

When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.

BYPASS does not affect the Safety Override Interlock (SI).

When BYPPERM is OFF, BYPASS defaults to OFF and is read-only.

BKTBYPASS bypasses OI and PIs when BKT is ON. It is independent of


BYPERM.

Alarms
An available set of PV state alarms may be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.

Command Fail alarm - generated when the Current Active State (PV) fails to change
from an original value to any other value within a configurable time interval after
the OP parameter is commanded.

R110
February 2014

You can configure the feedback time (CMDFALALM.TM[0..1) for each state
through the Alarms tab on HT Motor block configuration form. The value of OP
just commanded determines which CMDFALALM.TM[0..1] is active. The
CMDFALALM.TM[0..1] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..1] parameter to 0 disables the alarm for the associated
state[0..1]. The alarm function is automatically disabled, if there are no inputs or
no outputs. CMDFALALM.TM[0..1] changes from or to 0, require CM InActive
or CEE Idle.
Experion LX Control Builder Components Theory
Honeywell

1067

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

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]. 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
1068

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

(setting of the output state and related alarm notification) always occurs regardless of the
effect of the other alarm.

Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (STOP), but OP is not altered.
Observe OPFINAL to determine what state was actually commanded to the output
destinations. The OPFINAL is displayed in reverse video while monitoring Control
Builder if it differs from OP. OPFINAL is set equal to OP on the next store to OP, which
clears the "seal" condition.

You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and
CMDDISALM.TM [0..1] is configured.

FIRSTUP functionality
The HT Motor block has an inbuilt FIRSTUP logic which enables the FIRSTUPACTED
flag on detecting a valid input transition. The firstup detected is not reset on restarting
the motor; it has to be reset manually through RESETFIRSTUP. The inputs that are
scanned for FIRSTUP detection include MTTACTED, WDGTEMPTRIPACTED,
VIBRTRIPACTED, BRNGTEMPTRIPACTED, LOCALSTOPACTED,
UCPSTOPACTED, SEQSTOPACTED, AUTOSTOPACTED, OIACTED, SIACTED,
LRRACTED.

Initialization Manual condition


Initialization Manual is a condition resulting from failure in the field devices connected
to the output of the Discrete Control FB. When this condition is active, the parameter
INITMAN is set ON. Outputs cannot be commanded when INITMAN is TRUE.

INITDOWN[1..2] - This is an input which can be connected to the DOC INITREQ


output. When possible, this connection is made automatically by the system, without
any user action.

This is a structure containing the INITREQ status and the DOC.SO current value.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1069

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

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 is TRUE.

OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value is
NORMALOPT.

INITOPOPT = NORMALOPT, perform normal initialization as described in the


ensuing section on Initialization Manual Condition with Safety Override Interlock,
Override Interlocks, LocalMan, and OP Initialization.

INITOPOPT = SAFEOPOPT, OP is set to SAFEOP.

INITOPOPT = HOLDOPOPT, initialization is not performed. OP remains at the last


value.

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. When the INITMAN parameter transitions from ON to OFF, the HT
Motor FB provides an output value OP as follows:

1070

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

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

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.

Initialization with pulse output


If pulse outputs are configured, the following rules apply in generating pulses when
recovering from initialization:

When PV is good, OP and OPFinal are initialized to PV, no pulse is generated.

When PV is Bad, OP and OPFinal are initialized to STOP, pulse is generated.

Initialization request flags


The HT Motor function block parameter INITREQ[0..1] provides an indication whether
a command to a certain state (corresponding to the parameter index 0..1) is accepted and
acted upon at the current time. This parameter can be read prior to sending a command to
the block to check if the device can respond as required. 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.

OP and DO initialization after load


The initialization values of Digital Outputs (DOs) can be configured to their desired
values. This feature is typically used in strategies where the output of a HT Motor FB is
connected to non-initializable blocks, such as logic blocks. The configuration is done
through INITOPAFTLD. Configure the initialization state for OP, and the value of OP is
mapped to DOs, according to the configured map of OP-DO (OPDOMAP), after load.
The options for INITOPAFTLD can be any configured states (STOP, RUN), or default.
The default option initializes OP to STOP.

Maintenance statistics
The HT MOTOR block collects a set of maintenance statistics which are classified into
three categories which are enabled by enable options - TRKSIOVRD,
TRKNUMTRANS, TRKSTATETIME.
The following maintenance statistics are collected:

NUMTRANS[0,1] - Number of transitions of PV to each state. This can be enabled


provided TRKNUMTRANS is enabled.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1071

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

NUMALLTRANS - Number of all PV transitions. This can be enabled provided


TRKNUMTRANS is enabled.

RUNTIME, STOPTIME, TRIPTIME - Accumulated number of hours, the HT


Motor is in RUN, STOP and TRIP state respectively. This can be enabled provided
TRKSTATETIME is enabled.

NUMSIOVRD - accumulated number of safety interlock trips, which result in OP


changing state (after the last statistics reset). This can be enabled provided
TRKSIOVRD is enabled.

The statistics are accumulated after the most recent reset. The operator can reset the
statistics of HT MOTOR block anytime irrespective of Redtagging, unlike the DEVCTL
block.

Output requests
Whenever an external FB attempts to change the commanded state OP, the HT MOTOR
block uses the OP request mechanism. The OP request (OPREQ/GOPREQ) differs from
direct access an operator uses to the commanded state OP. The OPREQ is a string in the
same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM, which is the
same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from SCM. When MODEATTR is OPERATOR, an
operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ continues to attempt stores even
if attributes, such as interlocks, become active and block changes to OP. Thus, once the
attributes blocking change to OP the reset OPREQ stores the commanded state to OP.

Output command
The block provides Boolean command capability through an array of Boolean inputs
(AUTO START/STOP, UCP START/STOP, LOCAL START/STOP, SEQ
START/STOP).

1072

When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, an output from a Logic block can be used to set the requested
output state (OPREQ) through the given Boolean input command (AUTO
START/STOP, SEQ START/STOP).

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.3. HTMOTOR (HT Motor Drive Control) Block

Similarly, the HT Motor block can be commanded through LOCAL START/STOP,


UCP START/STOP provided the following conditions are met:
1.

Both LOCAL and UCP commands ignore MODEATTR.

2.

LOCAL START/STOP depends on the LOCAL SWITCH which


should be ON.

3.

UCP STOP ignores the LOCAL/REMOTE SWITCH condition.

4.

UCP START depends on REMOTE SWITCH which should be ON.

Similarly, the HT Motor block can be commanded through Console START/STOP


provided the following conditions are met:
1.

MODEATTR should be OPER.

2.

Console STOP ignores LOCAL REMOTE SWITCH condition.

3.

Console START depends on REMOTE SWITCH which should be


ON.

If an SCM commands the HT Motor block by sending a Null type of request to GOP and
there are active OPCMDs such as AUTO START/STOP, UCP START/STOP, LOCAL
START/STOP (this is possible when SCMOPT = NONE, MODEATTR = Program, and
SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM store to GOP is
rejected if any of the OPCMD elements are active (one or more OPCMD members are
ON). Only an SCM can gain control, only when all OPCMD elements are OFF.
The HT Motor can also be commanded by SCM through SEQ START/STOP when SCM
option is FIXED and MODEATTR is PROGRAM.
ATTENTION

R110
February 2014

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


Experion LX Control Builder Components Theory
Honeywell

1073

19. Power Generation Functions


19.4. LEVELCOMP (Drum Level Computation) Block

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.

Logic override OPREQ


The clear OPREQ flag parameter (CLROPREQFL) can be used through a passive
connection to a Logic type block to clear the OPREQ, if the MODEATTR is Program.
When the CLROPREQFL changes from OFF to ON, OPREQ is set to NULL and the OP
remains unchanged.

Monitoring HT Motor Current


The HT Motor current can be monitored by configuring a DACA block in the CM
containing the HT Motor block, which takes the current signal from the field. This
current can be monitored from the Detailed Display of HT Motor from the Station under
Maintenance tab. The alarm features for current monitoring can also be configured in the
DACA block.

HTMOTOR parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.

1074

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.4. LEVELCOMP (Drum Level Computation) Block

19.4 LEVELCOMP (Drum Level Computation) Block


Description
The Drum Level Computation block (LEVELCOMP), available under the POWERGEN
library, computes the drum level from the measured DP and other field specific
constants. In a power plant, the drum level is measured indirectly in terms of Differential
Pressure (DP), and the level is computed based on the measured DP. DP to Level
computation techniques is employed in level measurements like boiler drum, de-aerator,
and HP heaters, where the process fluid is at high pressure and temperature. The level
component is measured in terms of DP across the measuring setup. It is assumed that the
vessel remains in a saturated state of the process fluid. The pressure inside the container
is measured and the density of Steam and Water are computed based on this measured
pressure. The Drum Level Computation function block is graphically represented as
follows:

The equation for computing drum level is:


h = ( H (Ref - S ) - DP ) / (W - S )
The variables in the equation stand for:

h: Drum level to be measured

H: Length of stand pipe.

DP: Differential pressure of the drum

Ref: Density of water in wet leg (This computation uses the Water Leg temperature)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1075

19. Power Generation Functions


19.4. LEVELCOMP (Drum Level Computation) Block

S: Density of steam

W: Density of water

The Drum Level Computation block supports bad PV alarm.


The Drum Level Computation 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.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
and 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block. For example, you
could specify DEGF for temperature values in degrees
Fahrenheit. This name is used on any associated
displays and generated reports.
Process Value Hi Range (PVEUHI) - Lets you specify

the high input range value in engineering units that


represents 100% full scale PV input for the block. The
default value is 300.
Process Value Lo Range (PVEULO) - Lets you specify

the low input range value in engineering units that


represents the 0 full scale PV input for the block. The
default value is -300.
Wet Leg Temperature (WETLEGTEMP) - Lets you enter

the wet leg temperature. Wet leg refers to the liquid filled
low side impulse line in a differential pressure level
measuring system. You can enter a range of 0 to 70
DEGC (or 32 to 158 Deg F). The default value is 45 Deg
F.
DP Slope (DPSLOPE) - Defines the slope to be applied

1076

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.4. LEVELCOMP (Drum Level Computation) Block

Configuration Tab

Description
to DP parameter. Default value =1.
DP Bias (DPBIAS) - Defines the bias to be applied to the

DP parameter. Default value = 0.


Pressure Slope (PRSLOPE) - Defines the slope

component of Modified Drum Pressure. Default value =


0.
Pressure Bias (PRBIAS) - Defines the bias component of

Modified Drum Pressure. Default value =1


Bad PV Alarm Priority (BADPVALM.PR) - Lets you set

the desired priority level individually for each alarm type


assuming that the PV value is bad. The default value is
LOW.
Bad PV Alarm Severity (BADPVALM.SV) - Lets you

assign a relative severity individually for each alarm type,


as a number between 0 and 15, with 15 being the most
severe, assuming that the PV value is bad. This
determines the alarm processing order relative to other
alarms. The default value is 0.
DP Engineering Unit Selection - Lets you select the DP

Engineering Unit

Pressure Engineering Unit Selection


(DPENGUNIT) - Lets you select the Absolute
Pressure Engineering Unit

Engineering Unit Selection for Temperature


(PRENGUNIT) - Lets you select the Engineering
Unit Selection for Temperature

Temperature Engineering Unit Selection - Allows


the user to configure the temperature's engineering
unit.

PV Engineering Unit Selection (PVENGUNIT) - Allows

the user to configure the Pressure Signal's Engineering


Unit.
Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1077

19. Power Generation Functions


19.4. LEVELCOMP (Drum Level Computation) Block

Configuration Tab

Description
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

The Drum Level Computation function block computes the drum level from the
measured DP, Pressure and other field specific constants.

The block has an algorithm for generating steam and water density from the given
pressure input as long as the pressure input is good.

The Level Status (PV) becomes bad when one of the input's status becomes bad and
PV is not be computed.

Enables the user to select ENGUNIT for DP, Pressure, WETLEGTEMP, and drum
level.

Block Configuration
By default, the PRSLOPE is set to 1 and PRBAIS is set to 0, the DPSLOPE is set to 1,
DPBIAS is set to 0.
Predecessor Block

1078

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.4. LEVELCOMP (Drum Level Computation) Block

Block 1: Channel Block

The channel blocks bring in analog channels such as DP and pressure to the Drum level
Computation.

Block 2: DACA Block

This block is required as the transmitter selection block does not have alarm capability.

Block 3: Transmitter Selection Block

The signals involved - Pressure and DP, employs dual/triple redundant configuration.
Therefore this block supports "median value selection."

Block 4: Drum level computation block

This block eventually computes the drum level.

Block5: DACA

This block is optional for exclusive alarms and ranging.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1079

19. Power Generation Functions


19.4. LEVELCOMP (Drum Level Computation) Block

Successor Block
The output of the Drum Level Computation block has a direct connectivity to a DACA
block.

Drum Level Computation


The Drum level is computed in two steps with two inputs - DP and drum pressure. The
drum pressure is used to find the density of steam and water. This is achieved by
employing a polynomial that provides the density of steam and water at a given pressure.
The computed density and DP input is then used in the equation to calculate the Drum
level PV.

Inputs

DP - Differential Pressure of the drum.

PRESSURE - Pressure input parameter.

Outputs

1080

PV - Drum level.

PVP - Drum level in %

DENSTEAM - Density of steam in drum

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

DENWATER - Density of water in drum

DENWATERREF - Density of WETLEG water

Error handling

The Level Status (PVSTS) becomes bad when one of the input's status becomes bad
and PV is not computed and PV takes a NaN. If any of the input status is not bad,
then PV is calculated and the status is updated appropriately.

The block limits the range of Wet leg Temperature input. The permissible range that
can be entered is 0 to 70 Deg C (or 32 to 158 Deg F).

The PRESSURE and DP parameters do not accept negative values.

If PVSTS is bad, PV is not computed and assigned with a NaN.

If the inputs go to NaN, PV is not calculated and assigned with a NaN.

The block requires PVEUHI to be greater than PVEULO. If PVEUHI is attributed to


a value lower than PVEULO, an error message is reported during configuration and
the input value is rejected.

Parameters PVEULO, PVEUHI, DPSLOPE, DPBIAS, PRSLOPE, and PRBIAS can


be changed from the Monitoring side when CM is inactive. If the value of these
parameters is changed when CM is active, an error is reported during configuration
and the input value is rejected.

LEVELCOMP parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drum Level Computation block.

19.5 LTMOTOR (LT Motor Drive Control) Block


Description
A Drive Control is achieved through Device Control Blocks (DEVCTL) in Experion LX.
The existing Device control block is designed for all types of drives like LT, HT, and
valves. It has configurable states, number of inputs, number of outputs, and hosts PV and
OP alarms. You have to configure them before using the block. There is a single
permissive and interlock inputs for each state. Therefore all the switchgear related inputs
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1081

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

and Process inputs have to hover around this one single input pin by employing OR or
AND blocks for multiplexing. The LT Motor Control function block (LTMOTOR),
available under the POWERGEN library is derived from the Device Control block in
Experion LX (DEVCTL) customized to meet the LT Motor Drive control requirements
found in power plants. It accepts inputs and interlocks pertaining to a conventional
LTMOTOR drive's MCC and is capable of controlling the drive through outputs
governed by predetermined logic.
The LT Motor Control function block is graphically represented as follows.

Each LT Motor Control block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that Tab.
1082

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
and 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block.
PV Source selection (PVSRCOPT) - Lets you select the

source of the PV as SUB for a user program, MAN for an


operator, or AUTO for process input connection, TRACK
for tracking OP. Only applicable with PV Source Option
selection of ALL. The default selection is AUTO.
Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who can store
values to the output (OP), when the block's MODE is
either MAN or AUTO.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR, PROGRAM. The default selection is
NONE.
Output

Init OP After Load (INITOPAFTLD) - Lets you specify the

state in which the digital outputs have to be set after a


Load. Selections are DEFAULT, STOP and RUN. Both
digital outputs are set to OFF in DEFAULT mode.
OP Initialization Option (INITOPOPT)- Lets you specify

the state in which OP is set when INITMAN transitions


from ON to OFF. Selections are NORMALOPT,
HOLDOPT and SAFEOPOPT. By default, the option is
NORMALOPT.
Seal-in Option (SEALOPT) - Lets you clear the output

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1083

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab

Description
commands when the process feedback state cannot
follow the commanded output state. Selections are
DISABLE and ENABLE. If ENABLE, the field output
destinations are set to SAFEOP but OP is not altered.
Pulse Output (POSTOPCONNECTED and

PORUNCONNECTED) - Lets you specify whether a


given pulse output is to be enabled (ON) or not (OFF). A
Check equals ON. When enabled, the corresponding
output (PORUN and POSTOP) pin is exposed on the
block. The default is no pulse outputs configured. The
selectable outputs depend upon the configured number
of outputs.
Bypass Permit (BYPPERM) - Lets you specify if

operators are permitted to bypass the Permissive and


Override Interlocks or not. The default is Disabled
(unchecked) or OFF. An operator cannot set or reset the
BYPASS parameter.
Perm. and Intlock. Bypass (BYPASS) - When BYPPERM

is ON, lets you change OP regardless of the state of the


Override interlocks, if BYPASS is set ON. This does not
affect the Safety Override Interlock (SI). When you reset
the BYPASS parameter to OFF, any existing Override
Interlocks (OI[0..1]) take effect immediately.
Maintenance

Track Number of PV transitions/State (TRKNUMTRANS)

- When enabled or checked, you can track the number of


transitions of PV to each state (NUMTRANS[0 -1]. The
default is OFF or unchecked and NUMTRANS[0 -1] in
maintenance statistics are not collected.
Track Number of SI Overrides (TRKSIOVRD) - When

enabled or checked, you can track the number of SI


overrides. The default is OFF or box unchecked and the
NUMSIOVRD in maintenance statistics are not collected.
Maint. stats. reset flag (RESETFL) - An operator, a user

program or another FB can turn ON the RESETFL


parameter to reset statistics anytime.
No. of safety ovr. Trips (NUMSIOVRD) - Accumulated

number of safety interlock trips that result in OP


changing state, after the last statistics reset.
No. of all PV transitions (NUMALLTRANS) -

Accumulated number of transitions of PV to each state,


1084

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab

Description
after the last statistics reset.
(Total number of statet transitions (NUMTRANS) - The

accumulated number of transitions to the reference state


since the last reset of Maintenance Statistics.
Track State Time (TRKSTATETIME) - When enabled or

checked, you can track the amount of time the drive is in


different states. The default is OFF or box unchecked.

SCM

RUNTIME - Accumulated time the drive spends in


the RUN state.

STOPTIME - Accumulated time the drive spends in


the STOP state.

TRIPTIME - Accumulated time the drive spends in


the STOP state because of a trip.

SCM Mode Tracking Opt (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based
upon the MODE of the SCM. The default selection is
ONESHOT. The selections are NONE, ONESHOT,
SEMICONT, CONTRTN, and CONT.
Abnormal State Options - Lets you specify the action the

function block should take when the SCM is in an


abnormal state.

R110
February 2014

The Starting State Option (STARTOPT) applies


when the SCM state is Checking, Idle, or
Complete. The options are NONE, SAFEOP. The
default selection is NONE.

The Stop/Abort State Option (STOPOPT) applies


when the SCM state is Stopping or Stopped,
Aborting or Aborted. The options are NONE,
SAFEOP. The default selection is NONE.

The Hold State Option (HOLDOPT) applies when


the SCM state is Holding or Hold. The options are
NONE, SAFEOP. The default selection is NONE.

The Restart State Option (RESTARTOPT) applies


when the SCM state is Resume or Run. The NONE
and LASTREQ are the only selections for the
Restart State option. The default selection is

Experion LX Control Builder Components Theory


Honeywell

1085

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab

Description
NONE.

Alarms

The following alarms are configurable to represent


disagreements between the commanded state (OP) and
the feedback state (PV).
Command Disagree (CMDDISALM.FL): This alarm is

generated when the commanded output state (OP)


changes and the feedback state (PV) does not change to
the same state within the specified feedback time. This
alarm returns to NORMAL when the PV state becomes
the same as the OP state.
Command Fail (CMDFALALM.FL): This alarm checks to

see if the PV state changed from its original state to any


other state within a specified feedback time after the OP
state is commanded. For slow responding devices,
absence of this alarm indicates that the device
responded to the command, even if it has not yet moved
to its commanded position.
Uncommanded Change (UNCMDALM.FL): This alarm is

configured in conjunction with the Command Disagree


alarm function. This alarm is generated, if an OP state
has not been commanded and the PV state changes for
any reason except BADPV.
Bad PV (BADPVALM.FL): This alarm is generated

whenever PV is detected in the Null state. The Null state


can result from a BadPV condition for an input provided
by a source block, or because input combinations
represent a Null state.
Safety Override Interlock (SIALM.FL): This alarm can be

generated when the safety override interlock (SI) occurs,


and has caused an OP state change.
Override Interlock (OIALM[0..1].FL): This alarm can be

generated when an override interlock (OI[0..1]) occurs,


and has caused an OP state change.
Off Normal Condition (OFFNRMALM.FL): If an interlock

bypass becomes active when OPREQ is not Null, the


OPREQ is transmitted to OP immediately upon
activation of the bypass parameter. If bypass is activated
after an interlock has been initiated, the OP and
OFFNRMALM.FL is corrected within one scan.
1086

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab

Description
Command Disagree - Lets you configure the following
parameters for this alarm.
Time to STOP (CMDDISALM.TM[0]): Lets you set the

Command disagree feedback time for STOP in the range


of 0 to 1000 seconds. A time of 0 disables the alarm.
The default setting is 0.
Time to RUN (CMDDISALM.TM[1]): Lets you set the

Command disagree feedback time for RUN in range of 0


to 1000 seconds. A time of 0 disables the alarm. The
default setting is 0.
Priority (CMDDISALM.PR): Lets you select the priority

level of the Command disagree alarm as NONE,


JOURNAL, LOW, HIGH, or URGENT. The default
setting is LOW.
Severity (CMDDISALM.SV): Lets you set the relative

severity of the Command disagree alarm on a scale of 0


to 15. Where 15 is the most sever. The default setting is
0.
Command Fail - Lets you configure the following
parameters for the command fail alarm.
Time to STOP (CMDFALALM.TM[0]): Lets you set the

Command Fail feedback time for STOP in the range of 0


to 1000 seconds. A time of 0 disables the alarm. The
default setting is 0. This value must be less than the
value set for CMDDISALM.TM[0].
Time to RUN (CMDFALALM.TM[1]): Lets you set the

Command Fail feedback time for RUN in the range of 0


to 1000 seconds. A time of 0 disables the alarm. The
default setting is 0. This value must be less than the
value set for CMDDISALM.TM[1].
Priority (CMDFALALM.PR): Lets you select the priority

level of the Command Fail alarm as NONE, JOURNAL,


LOW, HIGH, or URGENT. The default setting is LOW.
Severity (CMDFALALM.SV): Lets you set the relative

severity of the Command Fail alarm on a scale of 0 to


15. Where 15 is the most sever. The default setting is 0.
Uncommanded Change - Lets you configure the following
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1087

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab

Description
parameters for this alarm.
Priority (UNCMDALM.PR): Lets you select the priority

level of the Uncommanded Change alarm as NONE,


JOURNAL, LOW, HIGH, or URGENT. The default
setting is LOW.
Severity (UNCMDALM.SV): Lets you set the relative

severity of the Uncommanded Change alarm on a scale


of 0 to 15. Where 15 is the most severe. The default
setting is 0.
Bad PV - Lets you configure the following parameters for
this alarm.
Priority (BADPVALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (BADPVALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Safety Override Alarms - The following alarms are
configurable to represent override interlock conditions.
Option (SIALM.OPT): Lets you specify whether the

safety override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (SIALM.PR): Lets you select the priority level as

NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (SIALM.SV): Lets you set the relative severity of

the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Override Alarms - Lets you configure the following
parameters for the override interlock alarm.
STOP Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[0].OPT): Lets you specify whether the

STOP override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[0].PR): Lets you select the priority level

1088

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab

Description
as NONE, JOURNAL, LOW, HIGH, or URGENT. The
default setting is LOW.
Severity (OIALM[0].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
RUN Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[1].OPT): Lets you specify whether the

RUN override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[1].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[1].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Equipment safety alarm- Lets you configure the following
parameters for this alarm.
Option (MOTORTRIPALM.OPT): Lets you specify

whether the motor trip is enabled or not. The default


setting is ENABLE.
Priority (MOTORTRIPALM.PR): Lets you select the

priority level as NONE, JOURNAL, LOW, HIGH, or


URGENT. The default setting is LOW.
Severity (MOTORTRIPALM.SV): Lets you set the

relative severity of the moto trip alarm on a scale of 0 to


15. Where 15 is the most severe. The default setting is
0.
Off Normal Condition - Lets you configure the following
parameters for this alarm
Priority (OFFNRMALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (OFFNRMALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1089

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configuration Tab

Description

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

1090

The LT Motor function block has two inputs, two states, and two outputs.

Allows PV source selection (PVSRC) as RUN, STOP or faulty (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.

Enables the Safety Interlock to enforce the defined safe state.

Provides an explicitly configured Safe State.

Provides generic State parameters defined as consistent data types.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

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 maintenance statistics: Running and stopped hours for the motor is
calculated and stored in RUNTIME, STOPTIME parameters. The Trip time is
recognized by motor state at STOP and presence of corresponding OI or SI
parameter and stored in TRIPTIME parameter.

You can red tag a LTMOTOR block. Refer to the About Red Tagging section for more
information.
Predecessor and successor block
The LT Motor Drive Control block can take inputs from DI channels or from the
program. All inputs are two state inputs and can be connected to any block with a digital
output. The output of the block can be connected to DO or further connected to
subsequent logic, if necessary.

Configuration examples
Scenario 1:
The following scenario depicts the implementation of an LT Motor block in a Control
Strategy with Auto Start/Stop, Local Start/Stop logic and MCC inputs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1091

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

1092

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1093

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

1094

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Callout
1

Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS)
fromthe DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the LT Motor block.

Use the PV parameter connection to carry Remote switch input from the
DI channel block to the LT Motor block.
In case of an auto standby configuration, the LT motor block can be
commanded by Auto Start, Auto Stop provided the Remote switch is ON,
the local switch is OFF and MODEATTR is in PROGRAM.

Use the PV parameter connection to carry Local switch input from the DI
channel block to the LT Motor block.
In case of a local mode configuration, the LT motor block can be

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1095

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Callout

Description
commanded by Local Start, Local Stop provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Scenario 2
The following scenario depicts the implementation of an LT Motor block in a Control
Strategy with Safety, Override and permissive inputs and MCC inputs.

1096

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1097

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Callout
1

Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.

1098

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.

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Scenario 3
The following scenario depicts the implementation of a LT Motor block in a Control
Strategy with UCP Start/Stop logic and MCC Inputs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1099

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

1100

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Callout
1

Description
Use the PV parameter connection to carry MCC inputs (MTR, MTS) from
the DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback
that the commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the LT Motor block.

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1101

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Callout

Description
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Inputs
An LT Motor block can have two boolean inputs which can represent the state of another
block output or a field DICHANNEL (Digital Input Channel) block.
The inputs which are physically wired into the system and brought to this block via a
Channel blocks are termed as Hard inputs. The Soft inputs normally operate from
displays or other function blocks.
Hard Inputs: MTT, MTR, MTS, LRR, BKS, BKT, BKR, LOCALSWITCH,
REMOTESWITCH, LOCALSTART, LOCALSTOP, UCPREL, UCPSTART,
UCPSTOP, SEQSTART, SEQSTOP, AUTOSTART, AUTOSTOP
Soft Inputs: PORUNCONNECTED, POSTOPCONNECTED, RUNPULSEWIDTH,
STOPPULSEWIDTH, PI[0,1], OI[0,1], TRKNUMTRANS, TRKNUMSIOVRD,
TRKSTATETIME, RESETFL

Outputs
An LT Motor Control function block may have two outputs. Each output can be latched
or pulsed (On Pulse or Off Pulse). Each output is a Boolean value, which can be
connected to any other block parameter or to a field DOCHANNEL (Digital Output
Channel) block.

1102

An output to any connection except a DOCHANNEL block is a Boolean output


only.

The DOCHANNEL (DOC) block can connect two different inputs to a drive control
block (output). However, only one of these inputs can be connected for a single
DOC.

DOC.SO can be connected to the latched outputs like CmdRun and CmdStop.

DOC.ONPULSE can be connected to pulsed outputs PORun and POStop.

DOC.OFFPULSE can be connected to pulsed outputs PORun and POStop.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

The internal PO*CONNECTED parameter is set to ON when the respective PO* is


configured as a block pin and connected to a DOC.ONPULSE or DOC.OFFPULSE
input. This lets the drive control block know what output is used.

Each PO* can be configured with an individual PULSEWIDTH. The setting range is
between 0.000 and 60 seconds with a resolution of 1 millisecond.

The DOCHANNEL block determines the actual pulsewidth resolution and accuracy
based on its execution rate. It always rounds the configured pulsewidth value up
consistent with its own execution rate. For example, if the execution rate of the
DOCHANNEL block is 125 milliseconds and the configured PULSEWIDTH value
is 450 milliseconds (.45 seconds), the actual pulse time output is 500 milliseconds,
which is the next highest multiple of 125 milliseconds.

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.

The output parameters are: MTTACTED, LOCALSTOPACTED, UCPSTOPACTED,


SEQSTOPACTED, OIACTED, CMDRUN, CMDSTOP, OP, PV, CONSSTARTRDY,
PORUN, POSTOP, NUMTRANS[0,1], NUMALLTRANS, NUMSIOVRD, TRIPTIME,
STOPTIME, RUNTIME.

Error handling

LOCALSTART can be initiated only when access lock is 'Other FB', mode is
Operator and Local/Remote selection switch is at local.

AUTOSTART can be initiated only when access lock in not 'Other FB' and
local/remote switch is at remote.

SEQSTART can be initiated only when the mode is at Program.

UCPSTART can be initiated only when access lock is not OtherFB and UCP
RELEASE is available.

RUNTIME, STARTTIME, TRIPTIME do not accept a value less than 0 or more


than 96000.

TRKTRIPTIME, TRKRUNTIME, TRKSTOPTIME requires Engineer Access lock.

For the LT Motor FB, if both feedback status is ON and OFF, a fault status is
flagged and output generation is not processed.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1103

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

States
A "state" represents the current condition of a device. In the case of an LT Motor, RUN
and STOP represent the two states, with STOP being the safe or failsafe state. Each input
combination is assigned to a specific state and this mapping is fixed. The PV parameter
represents the current state of the LT Motor.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state, such as RUN or STOP. The OP
parameter represents the commanded state or the device state commanded by an
operator. The block transmits the OP, monitors the PV, and produces alarms based on the
state assignment configurations, which represent whether or not the process feedback has
achieved the state commanded in OP.

State parameters and descriptors


The block includes the following set of parameters for state associations.

State parameters

PV

PVAUTO

OP

OPFINAL

Generic State parameters

GPV (generic version of PV)

GPVAUTO (generic version of PVAUTO)

GOP (generic version of OP)

GOPFINAL (generic version of OPFINAL)

The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter. An operator can use these parameters.
The Generic State parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are:

1104

Null - Stands for Bad Value.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Inbet - Represents an in between state and could be designated MOVPV for moving
PV.

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.
If STATETEXT is

Then, the default name is

And, GENSTAT_ENM is

STATETEXT[0]

Bad

Null

STATETEXT[1]

Inbet

Inbet

STATETEXT[2]

Active

Active

STATETEXT[3]

Safe(STOP)

Safe

STATETEXT[4]

STOP

S0

STATETEXT[5]

RUN

S1

STATETEXT[6]

NOCOMMAND

S2

Mode and mode attribute

Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter


is also fixed at MANual.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1105

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Mode Attribute (MODEATTR) - determines where state commands to the LT Motor


block can originate, that is, who can set the commanded output state (OP), as
follows:

OPERATOR = only the operator can command the output state.

PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.

NORMAL = the setting specified by the Normal Mode Attribute


(NORMMODEATTR) is assumed.

MODEATTR can be changed from PROG to OPER and vice versa through other
FB via MODEATTRCHGFL.

Safe output state


The Safe Output State (SAFEOP) parameter defines the default state for certain actions
of the LT Motor block, such as OP initialization. In case of the LT Motor the safe Output
State (SAFEOP) is predefined as STOP State.

When OP or GOP is commanded to safe, the effective value of OP (GOP) is set


equal to SAFEOP.

Command dependency on switches and mode attribute


LT MOTOR

Local\Remote Switch

ModeAttribute

LocalStart

LOCAL

UCPStart

REMOTE

AutoStart

REMOTE

PROG

SeqStart

REMOTE

PROG

ConsoleStart

REMOTE

OPER

LocalStop

LOCAL

UCPStop
AutoStop

REMOTE

PROG

SeqStop

REMOTE

PROG

ConsoleStop
1106

OPER
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Ignore
Check

Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. You can
then have the state of the digital input stored to the LOCALMAN pin added to the LT
Motor block through a DICHANNEL connection. The control system cannot have
control over the field device when the HAND/OFF/AUTO switch is not in the AUTO
position, the LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP is set to STOP. This ensures that the
last commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. You cannot directly command the OP (GOP) while the
LOCALMAN is ON.
The LOCALMAN cannot be accessed, if the LT Motor block has no inputs or no outputs
connected. PV is illegal for no inputs and OP is illegal for no outputs, and therefore
LOCALMAN has no meaning for these conditions.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdRun/Stop follows OPFINAL.
ATTENTION
LOCALMAN can be used, when the LT Motor commands are commanded by
Local, and controlled directly from the MCC and not from the DCS.

Permissive interlocks
PI[0..1]are Permissive Interlocks which are inputs that can be connected to an external
function block determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the LT Motor block to a specific state. Permissive
Interlocks themselves never cause OP to change.

For OP to be changed to the desired state, the corresponding Permissive Interlock


parameter must be set to ON.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1107

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

The Permissive Interlocks are all defaulted to ON, thereby allowing permission to all
the states - they must be individually set to OFF to prevent access to the
corresponding OP state.

Safety Override Interlock


The Safety Override Interlock (SI) forces the commanded output state (OP) to the Safe
Output State (STOP) when active. OP cannot be commanded to a different state when SI
is active.

SI can be connected to other blocks or can be directly set by an operator if the


MODEATTR parameter is set to Operator and the block is inactive.

SI is defaulted to OFF, it must be set to ON to force OP to go to STOP.

When SI turns OFF, OP = STOP is maintained until changed by:

the operator

a user program

another Safety Override Interlock

Override Interlocks
OI[0..1] are Override Interlocks which, when active, force the Commanded Output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.

1108

Override Interlocks can be connected to other block outputs or can be directly set by
an operator if MODEATTR = OPERATOR and the block is inactive.

Override Interlock parameters are all defaulted to OFF, thereby disabling all the
Override Interlocks. They must be set to ON to force OP to go to any specific state.
If the Override Interlock forces OP to go to a momentary state, it stays in that state
as long as the interlock remains ON and then switches back to the original state
when the Override Interlock is reset to OFF.

SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks are determined by the state assigned to predefined SAFEOP that
is STOP and the priority is SI, OI[0], OI[1].

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Configurable Override/Permissive Interlock Bypass


To grant an operator the ability to bypass the Permissive and Override Interlocks for a
LT Motor block, the parameter BYPPERM must be set to ON. The operator can then set
or reset the parameter BYPASS.

When BYPASS is ON, OP can be changed regardless of the state of the Override
Interlocks.

When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.

BYPASS does not affect the Safety Override Interlock (SI).

When BYPPERM is OFF, BYPASS defaults to OFF and is read-only.

Alarms
An available set of PV state alarms can be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.

Command Fail alarm - generated when the Current Active State (PV) fails to change
from an original value to any other value within a configurable time interval after
the OP parameter is commanded.

You can configure the feedback time (CMDFALALM.TM[0..1) for each state
through the Alarms tab on LT Motor block configuration form. The value of OP
just commanded determines which CMDFALALM.TM[0..1] is active. The
CMDFALALM.TM[0..1] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..1] parameter to 0 disables the alarm for the associated
state[0..1]. The alarm function is automatically disabled, if there are no inputs or
no outputs. CMDFALALM.TM[0..1] changes from or to 0, require CM InActive
or CEE Idle.
ATTENTION

R110
February 2014

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].

Experion LX Control Builder Components Theory


Honeywell

1109

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

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 an


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.

Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
1110

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

field output destinations are set to the Safe Output State (STOP), but OP is not altered.
You can observe OPFINAL to determine what state was actually commanded to the
output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.

You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and
CMDDISALM.TM [0..1] is configured.

Initialization Manual condition


Initialization Manual is a condition resulting from failure in the field devices connected
to the output of the Discrete Control FB. When this condition is active, the parameter
INITMAN is set ON. Outputs cannot be commanded when INITMAN is TRUE.

INITDOWN[1..2] - This is an input which may be connected to the DOC INITREQ


output. When possible, this connection is made automatically by the system, without
any user action.

This is a structure containing the INITREQ status and the DOC.SO current value.

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 to TRUE whenever any of the
INITDOWN[i].STATUS are TRUE.

OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value is
NORMALOPT.

INITOPOPT = NORMALOPT, perform normal initialization as described in the


ensuing section on Initialization Manual Condition with Safety Override Interlock,
Override Interlocks, LocalMan, and OP Initialization.

INITOPOPT = SAFEOPOPT, OP is set to SAFEOP

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1111

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

INITOPOPT = HOLDOPOPT, initialization is not performed. OP remains at the last


value.

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 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.

Initialization with pulse output


If Pulse Outputs are configured, the following rules apply in generating pulses when
recovering from initialization:

1112

When PV is good, OP and OPFinal are initialized to PV, no pulse is generated.

When PV is Bad, OP and OPFinal are initialized to STOP, pulse is generated.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Initialization request flags


The LT Motor function block parameter INITREQ[0..1] provides an indication whether a
command to a certain state (corresponding to the parameter index 0..1) is accepted and
acted upon at the current time. This parameter can be read prior to sending a command to
the block to check if the device can respond as required. 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.

OP and DO initialization after load


The initialization values of digital outputs (DOs) can be configured to their desired
values. This feature is typically used in strategies where the output of a LT Motor FB is
connected to non-initializable blocks, such as logic blocks. The configuration is done
through INITOPAFTLD. The user has to configure the initialization state for OP, and the
value of OP is mapped to DOs, according to the configured map of OP-DO
(OPDOMAP), after load. The options for INITOPAFTLD can be any configured states
(STOP, RUN), or default. The default option initializes OP to STOP.

Maintenance statistics
The LT MOTOR block collects a set of Maintenance Statistics which are classified into
three categories which are enabled by their respective enable options such as,
TRKSIOVRD, TRKNUMTRANS, TRKSTATETIME.
The maintenance statistics collected include:

NUMTRANS[0,1] - Number of transitions of PV to each state. This can be enabled


provided TRKNUMTRANS is enabled.

NUMALLTRANS - Number of all PV transitions. This can be enabled provided


TRKNUMTRANS is enabled.

RUNTIME, STOPTIME, TRIPTIME - Accumulated number of hours, the LT Motor


is in RUN, STOP and TRIP state respectively. This can be enabled provided
TRKSTATETIME is enabled.

NUMSIOVRD - accumulated number of safety interlock trips, which result in OP


changing state (after the last statistics reset). This can be enabled provided
TRKSIOVRD is enabled.

The statistics are accumulated after the most recent reset. The operator can reset the
statistics of LT MOTOR block anytime irrespective of Redtagging, unlike the DEVCTL
block.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1113

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

Output requests
Whenever an external FB attempts to change the commanded state OP, the LT MOTOR
block uses the OP request mechanism. The OP request (OPREQ/GOPREQ) differs from
direct access an operator uses to the commanded state OP. The OPREQ is a string in the
same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM, which is the
same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ continues to attempt stores even
if attributes, such as interlocks, become active and block changes to OP. Thus, once the
attributes blocking change to OP have reset OPREQ stores the commanded state to OP.

Output command
The block provides a Boolean command capability through an array of Boolean inputs
(AUTO START/STOP, UCP START/STOP, LOCAL START/STOP, SEQ
START/STOP).

When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command
(AUTO START/STOP, SEQ START/STOP).

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:

1114

MODEATTR should be OPER.


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.5. LTMOTOR (LT Motor Drive Control) Block

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.

Logic override OPREQ


You can use the clear OPREQ flag parameter (CLROPREQFL) through a passive
connection to a Logic type block to clear the OPREQ, if the MODEATTR is Program.
When the CLROPREQFL changes from OFF to ON, OPREQ is set to NULL and the OP
remains unchanged.

LTMOTOR parameters
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1115

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.

19.6 MAINIBV (IBV Logic) Block


Description
Some high pressure valves require an Integral Bypass Valve to ease the main valve
operation by equalizing the pressure across its ports. Every time an open command is
issued; it first initiates the IBV to open. Once the IBV is fully open, an open command is
released to the Main Valve after a configured time delay. Subsequent to the opening
transition (closed to not closed) of the main valve, the IBV valve is closed.
Some applications use additional digital input from a DP switch across the main valve. In
these applications, the main valve OPEN command is released only when the DP switch
acts and open feedback of the IBV reaches the block.
The Main - IBV Logic function block (MAINIBV), available under the POWERGEN
library has a user configurable DELAY parameter for providing the time delay before
releasing an open command to the main valve from the moment the IBV open feedback
is sensed by the block. The feedback can be open limit switch of IBV or the action of
DP switch across the valve indicating the flow of the actual process fluid across the main
valve. The bypass valve in not kept in an OPEN condition if the main valve OPEN
command fails. A user configurable timer is provided to close the IBV in such
eventualities. The IBV Logic function block is graphically represented as follows:

The Main - IBV Logic block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
1116

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
and 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block.
Main Valve Open CMD Delay (DELAY) - Enables you to

specify the time delay before an open command to Main


valve is issued from the moment the IBV open command
is sensed by the block.
Open CMD Time Out (IBVVLVFDBKTO) - Expiry of this

timer (in seconds) indicates that desired feedback has


not come and the open command operation is aborted.
Close CMD Time Out (MAINVLVFDBKTO) - Expiry of

this timer (in seconds) indicates that desired feedback


has not come and the open command operation is
aborted.
Open Seq Fail Alarm Priority (OPENSEQALM.PR) -

Indicates the relative priority of the alarm.


Open Seq Fail Alm Severity (OPENSEQALM.SV) -

Indicates the relative severity of the alarm (from 0 to 15).


Close Seq Fail Alm Priority (CLOSESEQALM.PR) -

Indicates the relative priority of the alarm.


Close Seq Fail Alm Severity (CLOSESEQALM.SV) -

Indicates the relative severity of the alarm (from 0 to 15).


BAD PV Alarm Priority (BADPVALM.PR) - Lets you set

the desired priority level individually for each alarm type


assuming that the PV value is bad. The default value is
LOW.
BAD PV Alarm Severity (BADPVALM.SV) - Lets you

assign a relative severity individually for each alarm type,


as a number between 0 and 15, with 15 being the most
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1117

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

Configuration Tab

Description
severe, assuming that the PV value is bad. This
determines the alarm processing order relative to other
alarms. The default value is 0.
Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
either MAN or AUTO.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR, PROGRAM. The default selection is
NONE.
Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

1118

Receives a command from OPER or PROGRAM, processes it and schedules the


command to the IBV and Main valve with a predetermined logic built into it.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

Triggers an open sequence failure alarm in case an OPEN command fails to open the
Main valve.

Triggers a close sequence failure alarm in case a CLOSE command fails to close
Main valve.

Triggers a BADPV alarm in case the IBV open feedback or Main close feedback is
in BAD state.

Commands the Drive Control blocks for further operation of Main and IBV valve.

Generates an extra event for IBVFEEDBACKTIMOUT and


MAINFEEBACKTIMOUT whichever applicable along with the OPENSEQFAIL
and CLOSESEQFAIL to indicate the actual cause of the alarm.

Inputs

OPENSEQ - Open Sequence command from PROGRAM to the valve system.

CLOSESEQ - Close Sequence command from PROGRAM to the valve system.

IBVOPENFDBK - IBV open feed-back switch.

MAINCLOSEFDBK - Main valve close-feedback switch.

Outputs

OPENIBV\CLOSEIBV - Open/Close command to IBV drive control.

OPENMAIN\CLOSEMAIN - Open/Close command to Main Valve drive control.

Control logic
The following figure illustrates the control logic of the Main-IBV function block:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1119

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

The details of the Control logic illustration are described in the following table:
Path

1120

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


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

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.

Open sequence logic


The Open sequence logic is illustrated by the following flow-chart:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1121

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

1122

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

Close sequence logic


The Close sequence logic is illustrated in the following flow-chart:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1123

19. Power Generation Functions


19.6. MAINIBV (IBV Logic) Block

ATTENTION

1124

The OPEN IBV command is withdrawn as soon as the OPEN IBV


Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

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.)

Error handling

Displays an error for invalid input index while loading or accessing parameters.

Verifies parameter access level during download and accessing.

Limits the range of DELAY input for the user. Only a positive value can be entered
for DELAY on the Project and Monitoring side.

Reports an error during download if the input value for OPENTIMEOUT or


CLOSETIMEOUT is zero on the project side.

MAINIBV parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Main-IBV Logic block.

19.7 SOLENOID (Solenoid Valve Drive Control) Block


Description
A Drive Control is achieved through Device Control Blocks (DEVCTL) in Experion LX.
The existing Device Control block is designed for all types of drives like LT, HT, and
valves. It has configurable states, number of inputs, number of outputs, and hosts PV and
OP alarms. The states have to be configured before using the block. There is a single
permissive and interlock input for each state. Therefore all the switchgear related inputs
and Process inputs have to hover around this one single input pin by employing OR or
AND blocks for multiplexing.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1125

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

The Solenoid Valve Control function block (SOLENOID), available under the
POWERGEN library is graphically represented as follows:

Each Solenoid Valve Control block supports the following user configurable attributes.
The following table lists the given name of the "Tab" in the parameter configuration
form and then briefly describes the attributes associated with that tab.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
and 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132

1126

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Configuration Tab

Description
characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block.
PV Source selection (PVSRCOPT) - Lets you select the

source of the PV as SUB for a user program, MAN for an


operator, or AUTO for process input connection, TRACK
for tracking OP. Only applicable with PV Source Option
selection of ALL. The default selection is AUTO.
Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who can store
values to the output (OP), when the block's MODE is
either MAN or AUTO.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR, PROGRAM. The default selection is
NONE.
Output

Safe Output State (SAFEOP) - Lets you select the state

that defines the block in a safe state. The default is S0


(CLOSE). S1 (OPEN) can be configured by the user.
Init OP After Load (INITOPAFTLD) - Lets you specify the

state to which the digital outputs have to be set after a


Load. Selections are DEFAULT, OPEN and CLOSE.
Both digital outputs are set to OFF in DEFAULT mode.
OP Initialization Option (INITOPOPT) - The parameter

INITOPOPT is used to configure OP Initialization option.


Lets you specify the state in which OP is set when
INITMAN transitions from ON to OFF. It is an
enumeration of NORMALOPT, SAFEOPOPT or
HOLDOPOPT. The default value is NORMALOPT.
Seal-in Option (SEALOPT) - Lets you clear the output

commands when the process feedback state cannot


follow the commanded output state. Selections are
DISABLED and ENABLED. If ENABLED, the field output
destinations are set to SAFEOP but OP is not altered.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1127

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Configuration Tab

Description
Note: SEALOPT can be enabled only when
CMDDISALM.TM[0..1] is configured.
Bypass Permit (BYPPERM) - Lets you specify if

operators are permitted to bypass the Permissive and


Override Interlocks or not. The default is Disabled
(unchecked) or OFF. An operator cannot set or reset the
BYPASS parameter.
Perm. and Intlock. Bypass (BYPASS) - When BYPPERM

is ON, lets you change OP regardless of the state of the


Override interlocks, if BYPASS is set ON. This does not
affect the Safety Override Interlock (SI). When you reset
the BYPASS parameter to OFF, any existing Override
Interlocks (OI[0..1]) take effect immediately.
Maintenance

Track Number of PV transitions/State (TRKNUMTRANS)

- When enabled or checked, you can track the maximum


number of transitions of PV to each state (NUMTRANS[0
-1]) for comparison purposes only. The default is OFF or
box unchecked and NUMTRANS[0 -1] in maintenance
statistics is not collected.
Track Number of SI Overrides (TRKSIOVRD) - When

enabled or checked, you can track the maximum number


of SI overrides to each state for comparison purposes
only. The default is OFF or unchecked and the
NUMSIOVRD in maintenance statistics are not collected.
Maint. stats. reset flag (RESETFL) - An operator can

only reset statistics while the block is red tagged, but a


user program or another FB can turn ON the RESETFL
parameter to reset statistics anytime.
No. of safety ovr. trips (NUMSIOVRD))- Accumulated

number of safety interlock trips that result in OP


changing state, after the last statistics reset.
Number of State transitions (NUMTRANS) - Total

number of state transitiuons.


No. of all PV transitions (NUMALLTRANS)- Accumulated

number of transitions of PV to each state, after the last


statistics reset.
(RESETFL) - Lets you reset all maintenance statistics to

their default values.


1128

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Configuration Tab
SCM

Description
SCM Mode Tracking Opt (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based
upon the MODE of the SCM. The default selection is
ONESHOT. The selections are NONE, ONESHOT,
SEMICONT, CONTRTN, and CONT.
Abnormal State Options - Lets you specify the action the

function block should take when the SCM is in an


abnormal state.

The Starting State Option (STARTOPT) applies


when the SCM state is Checking, Idle, or
Complete. The options are NONE, SAFEOP. The
default selection is NONE.

The Stop/Abort State Option (STOPOPT) applies


when the SCM state is Stopping or Stopped,
Aborting or Aborted. The options are NONE,
SAFEOP. The default selection is NONE.

The Hold State Option (HOLDOPT) applies when


the SCM state is Holding or Hold. The options are
NONE, SAFEOP. The default selection is NONE.

The Restart State Option (RESTARTOPT) applies when

the SCM state is Resume or Run. The NONE and


LASTREQ are the only selections for the Restart State
option. The default selection is NONE.
Alarms

PV Alarming - The following alarms are configurable to


represent disagreements between the commanded state
(OP) and the feedback state (PV). These alarms are
disabled if there are no inputs or outputs.
Command Disagree (CMDDISALM.FL): This alarm is

generated when the commanded output state (OP)


changes and the feedback state (PV) does not change to
the same state within the specified feedback time. This
alarm returns to NORMAL when the PV state becomes
the same as the OP state. This alarm does not apply for
momentary commanded states.
Command Fail (CMDFALALM.FL): This alarm checks

to see if the PV state changed from its original state to


any other state within a specified feedback time after the
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1129

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Configuration Tab

Description
OP state is commanded. For slow responding devices,
absence of this alarm indicates that the device
responded to the command, even if it has not yet moved
to its commanded position.
Uncommanded Change (UNCMDALM.FL): This alarm

is configured in conjunction with the Command Disagree


alarm function. This alarm is generated, if an OP state
has not been commanded and the PV state changes for
any reason except BADPV.
Bad PV (BADPVALM.FL): This alarm is generated
whenever PV is detected in the Null state. The Null state
can result from a BadPV condition for an input provided by
a source block, or because input combinations represent a
Null state. Lets you configure the following parameters for
this alarm.
Priority (BADPVALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (BADPVALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Command Disagree - Lets you configure the following
parameters for this alarm.
Time to CLOSE (or assigned State Name)

(CMDDISALM.TM[0]): Lets you set the feedback time for


CLOSE in range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0.
Time to OPEN (or assigned State Name)

(CMDDISALM.TM[1]): Lets you set the feedback time for


OPEN in range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0.
Priority (CMDDISALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (CMDDISALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most sever. The default setting is 0.
Command Fail - Lets you configure the following
1130

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Configuration Tab

Description
parameters for the command fail alarm.
Time to Close (or assigned State Name)

(CMDFALALM.TM[0]): Lets you set the feedback time


for Close in the range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0. This value
must be less than the value set for CMDDISALM.TM[0].
Time to Open (or assigned State Name)

(CMDFALALM.TM[1]): Lets you set the feedback time


for Open in the range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0. This value
must be less than the value set for CMDDISALM.TM[1].
Priority (CMDFALALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (CMDFALALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most sever. The default setting is 0.
Uncommanded Change - Lets you configure the following
parameters for this alarm.
Priority (UNCMDALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (UNCMDALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Override Alarms - The following alarms are configurable to
represent override interlock conditions.
Override Interlock (OIALM[0..1].FL): This alarm is

generated when an override interlock (OI[0..1]) occurs,


causing an OP state change.
Off Normal Condition (OFFNRMALM.FL): If an interlock

bypass becomes active when OPREQ is not Null, the


OPREQ is transmitted to OP immediately upon
activation of the bypass parameter. If bypass is activated
after an interlock has been initiated, the OP and
OFFNRMALM.FL is corrected within one scan.
Safety Override Alarms - Lets you configure the following
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1131

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Configuration Tab

Description
parameters for the safety override interlock alarm.
Safety Override Interlock (SIALM.FL): This alarm is

generated when the safety override interlock (SI) occurs,


and causes an OP state change.
Option (SIALM.OPT): Lets you specify whether the

safety override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (SIALM.PR): Lets you select the priority level as

NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (SIALM.SV: Lets you set the relative severity of

the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Close Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[0].OPT): Lets you specify whether the

Close override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[0].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[0].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Open Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[1].OPT): Lets you specify whether the

Close override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[1].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[1].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Off Normal Condition - Lets you configure the following
1132

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Configuration Tab

Description
parameters for this alarm.
Priority (OFFNRMALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (OFFNRMALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

The solenoid valve has two inputs, three states, and one output.

Allows PV source selection (PVSRC) as OPEN, CLOSE, INBET or faulty (BAD)


state.

Provides latched outputs.

Provides Initialization, Local Manual and Redtagging.

Provides BADPV, Command Disagree, SafetyInterlock , Uncommanded Change


and Command Fail, Override Interlock alarms.

Allows PV change of state event.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1133

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Provides Permissive and Override Interlocks for each state.

Provides Interlock trip alarms.

Provides a Seal In option.

The Safety Interlock enforces the defined safe state.

Provides an explicitly configured 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.

You can red tag a SOLENOID block. Refer to About Red Tagging section for more
information.
Predecessor and Successor Block
The Solenoid Valve Control block takes inputs from DI channels or from the
PROGRAM. All the inputs are two state inputs and are connected to any block with a
digital output. The output of the block can be connected to a DO or further connected to
subsequent logic, if necessary.

Configuration examples
Scenario 1:
The following scenario depicts the implementation of a Solenoid Valve Control block in
a Control Strategy with Auto Open/Close, Remote Switch, Local Open/Close logic and
MCC inputs.

1134

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1135

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

1136

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1137

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Callout
1

Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Solenoid Valve block.
In the Solenoid valve block, the MCC inputs (LTO, LTC) provide the
feedback if the valve is open or close.

Use the PV parameter connection to carry Remote switch input from the
DI channel block to the Solenoid Valve block.
In case of an auto standby configuration, the Solenoid Valve block can be
commanded by Auto Open, Auto Close provided the Remote switch is
ON, the local switch is OFF and MODEATTR is in PROGRAM.

Use the PV parameter connection to carry Local switch input from the DI
channel block to the Solenoid Valve block.
In case of a local mode configuration, the Solenoid Valve block can be
commanded by Local Open, Local Close provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.

4
1138

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Callout

Description
OFF.

Scenario 2:
The following scenario depicts the implementation of a Solenoid Valve Control block in
a Control Strategy with Safety, Override and permissive inputs and MCC inputs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1139

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

1140

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Callout
1

Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Solenoid Valve block.
In the Solenoid Valve block, the MCC inputs (LTO, LTC) provide the
feedback if the valve is open or close.

Use the PVFL parameter connection to carry safety, override and


permissive inputs (SI, OI[0], PI[1]) from the DICHANNEL block to the
Solenoid Valve block.

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Scenario 3:
The following scenario depicts the implementation of a Solenoid Valve Control block in
a Control Strategy with UCP Open/Close logic and MCC inputs.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1141

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

1142

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1143

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Callout
1

Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Solenoid Valve block.
In the Solenoid Valve block, the MCC inputs (LTO, LTC) provide the
feedback if the valve is open or close.

Use the PV parameter connection to carry Remote switch input, 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.

1144

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Inputs
The inputs which are physically wired to the system and brought to this block through a
Channel blocks are termed as Hard input. The Soft inputs normally operate from displays
or other function blocks.

Hard Inputs: LTO, LTC, LOCALSWITCH, REMOTESWITCH, LOCALOPEN,


LOCALCLOSE, UCPREL, UCPOPEN, UCPCLOSE, SEQOPEN, SEQCLOSE,
AUTOOPEN, AUTOCLOSE

Soft Inputs: PI[0], PI[1], QI[0], QI[1], TRKNUMTRANS, TRKNUMSIOVRD,


RESETFL

Outputs
The output parameters are: CMPOPEN, OP, PV, NUMTRANS[0,1], NUMSIOVRD

Error handling

LOCALOPEN/LOCALCLOSE can be initiated only when 'Other FB' access lock,


Operator mode and Local/Remote selection switch is in local.

AUTOOPEN/AUTOCLOSE can be initiated only when access lock in not 'Other


FB' and local/remote switch is at remote.

SEQOPEN/SEQCLOSE can be initiated only when the mode is in 'Program.'

UCPOPEN/UCPCLOSE can be initiated only when access lock is not 'Other FB' and
UCP release is available.

For the drive control blocks (except Valve and damper), if both feedback status is
ON or OFF, a fault status is flagged and output generation is not processed.

If the feedback status is bad, an alarm is raised and there is no output generation.

States
A "state" represents the current condition of a device. In the case of a Solenoid valve,
OPEN and CLOSE represent the two states, where failsafe can be configured. Each input
combination is assigned to a specific state and this mapping is fixed. The PV parameter
represents the current state of the Solenoid valve.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state, such as OPEN or CLOSE. The OP
parameter represents the commanded state or the device state commanded by an
operator. The block transmits the OP, monitors the PV, and produces alarms based on the
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1145

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

state assignment configurations, which represent whether or not the process feedback has
achieved the state commanded in OP.

State parameters and descriptors


The block includes the following set of parameters for state associations.

State parameters

PV

PVAUTO

OP

OPFINAL

Generic State parameters

GPV (generic version of PV)

GPVAUTO (generic version of PVAUTO)

GOP (generic version of OP)

GOPFINAL (generic version of OPFINAL)

The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter for use by an operator.
The Generic State parameters are consistent data types, which can be compared with
each other through the enumeration GENSTAT_ENM. The generic state enumerations
are:

1146

Null - Stands for Bad Value.

Inbet - Represents an in between state and could be designated MOVPV for moving
PV.

Active - Refers to momentary state settings for a two-state device. It is defined as


not SAFEOP of Close and Open and illegal for 3 state configurations. For example,
if SAFEOP is designated as Close (S0), Open (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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

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.
If STATETEXT is

Then, the defauSolenoid


name is

And, GENSTAT_ENM is

STATETEXT[0]

Bad

Null

STATETEXT[1]

Inbet

Inbet

STATETEXT[2]

Active

Active

STATETEXT[3]

Safe(OPEN/CLOSE)

Safe

STATETEXT[4]

CLOSE

S0

STATETEXT[5]

OPEN

S1

STATETEXT[6]

NOCOMMAND

S2

Mode and mode attribute

Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter


is also fixed at MANual.

Mode Attribute (MODEATTR) - determines where state commands to the Solenoid


Valve block can originate - that is, who can set the commanded output state (OP), as
follows:

OPERATOR = only the operator can command the output state.

PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1147

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

NORMAL = the setting specified by the Normal Mode Attribute


(NORMMODEATTR) is assumed.

MODEATTR can be changed from PROG to OPER and vice versa through other
FB through MODEATTRCHGFL.

Safe output state


The Safe Output State (SAFEOP) parameter defines the default Solenoid valve state for
certain actions of the Solenoid Valve block, such as OP initialization. The safe Output
State (SAFEOP) is configurable as OPEN/CLOSE State.

When OP or GOP is commanded to safe, the effective value of OP (GOP) is set


equal to SAFEOP.

Command dependency on switches and mode attribute


Solenoid
LocalOpen

Local\Remote Switch

ModeAttribute

LOCAL

UCPOpen
AutoOpen

REMOTE

PROG

SeqOpen

REMOTE

PROG

ConsoleOpen
LocalClose

OPER
LOCAL

UCPClose
AutoClose

REMOTE

PROG

SeqClose

REMOTE

PROG

ConsoleClose

OPER

Ignore
Check
Based on Safe OP configuration

If Safe OP = OPEN then UCPOpen and Console Open will ignore switches.
1148

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

If Safe OP = CLOSE then UCPClose and ConsoleClose will ignore switches.

Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. You can hard wire the AUTO position of the switch to a digital input. You can
then have the state of the digital input stored to the LOCALMAN pin added to the
Solenoid Valve block through a DICHANNEL connection. The control system cannot
have control over the field device if the HAND/OFF/AUTO switch is not in the AUTO
position, the LOCALMAN parameter provides feedback of the switch position.
When the LOCALMAN parameter is ON, the OP state tracks the PV state, if it is a
settable state. If PV is in a non-settable state, OP is set to SAFEOP. This ensures that the
last commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. You cannot directly command the OP (GOP) while the
LOCALMAN is ON.
You cannot access LOCALMAN, if the Solenoid Valve block does not have any
inputs/outputs connected. PV is illegal for no inputs and OP is illegal for no outputs, and
therefore LOCALMAN has no meaning for these conditions.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdOpen/CmdClose will follow OPFINAL.
ATTENTION
LOCALMAN can be used for the above purpose, when the Solenoid Valve
Commands are Commanded by Local, controlled directly from MCC and not
through DCS.

Permissive interlocks
PI[0..1]are Permissive Interlocks which are inputs that can be connected to an external
function block to determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the Solenoid Valve block to a specific state.
Permissive Interlocks themselves never cause OP to change.

To change OP to the desired state, the corresponding Permissive Interlock parameter


must be set to ON.

The Permissive Interlocks of all states of Solenoid are ON by default, thereby


allowing permission to all the states - they must be individually set to OFF to
prevent access to the corresponding OP state.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1149

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

Safety Override Interlock


The Safety Override Interlock (SI) forces the commanded output state (OP) to the Safe
Output State (SAFEOP) when active. OP cannot be commanded to a different state when
SI is active.

SI may be connected to other blocks or can be directly set by an operator if the


MODEATTR parameter is set to Operator and the block is inactive.

SI is OFF by default in case of Solenoid, it must be set to ON to force OP to go to


SAFEOP.

When SI turns OFF, OP = SAFEOP is maintained until changed by:

the operator

a user program

another Safety Override Interlock

Override Interlocks
OI[0..1] are Override Interlocks which, when active, force the commanded output (OP)
to a respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.

Override Interlocks can be connected to other block outputs or can be directly set by
an operator if MODEATTR = OPERATOR and the block is inactive.

Override Interlock parameters are all default OFF in case of Solenoided, thereby
disabling all the Override Interlocks. They must be set to ON to force OP to go to
any specific state. If the Override Interlock forces OP to go to a momentary state, it
stays in that state as long as the interlock remains ON and then switches back to the
original state when the Override Interlock is reset to OFF.

SI has a higher priority than any of the Override Interlocks; the priorities of the
Override Interlocks are determined by the state assigned to configurable SAFEOP:

If SAFEOP is SO, the priority is SI, OI[0], OI[1].

If SAFEOP is S1, the priority is SI, OI[1], OI[0].

Configurable Override/Permissive Interlock Bypass


To grant an operator the ability to bypass the Permissive and Override Interlocks for a
Solenoid Valve block, the parameter BYPPERM must be set to ON. The operator can
then set or reset the parameter BYPASS.
1150

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

When BYPASS is ON, OP can be changed regardless of the state of the Override
and Permissive Interlocks.

When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.

BYPASS does not affect the Safety Override Interlock (SI).

When BYPPERM is OFF, BYPASS is OFF by default in case of Solenoid and is


read-only.

Alarms
An available set of PV state alarms may be configured to represent disagreements
between the Commanded Output State (OP) and the Current Active State (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.

Command Fail alarm - It is generated when the Current Active State (PV) fails to
change from an original value to any other value within a configurable time interval
after the OP parameter is commanded.

You can configure the feedback time (CMDFALALM.TM[0..1]) for each state
through the Alarms tab on Solenoid Valve block configuration form. The value of
OP just commanded determines which CMDFALALM.TM[0..1] is active. The
CMDFALALM.TM[0..1] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[0..1] parameter to 0 disables the alarm for the associated
state[0..1]. The alarm function is automatically disabled, if there are no inputs or
no outputs. CMDFALALM.TM[0..1] changes from or to 0, require CM InActive
or CEE Idle.
ATTENTION

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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1151

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

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.

Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (SafeOP), but OP is not altered.
You can observe OPFINAL to determine what state was actually commanded to the
output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.

1152

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

You can configure the seal-in option through the SEALOPT (Enable/Disable)
parameter.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and
CMDDISALM.TM [0..1] is configured.

Initialization Manual condition


Initialization Manual is a condition resulting from failure in the field devices connected
to the output of the Discrete Control FB. When this condition is active, the parameter
INITMAN is set ON. Outputs cannot be commanded when INITMAN is TRUE.

INITDOWN[1..2] - This is an input which can be connected to the DOC INITREQ


output. When possible, this connection is made automatically by the system, without
any user action.

This is a structure containing the INITREQ status and the DOC.SO current value.

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.

OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value for
Solenoid is NORMALOPT.

INITOPOPT = NORMALOPT, perform normal initialization as described in the


ensuing section on Initialization Manual Condition with Safety Override Interlock,
Override Interlocks, LocalMan, and OP Initialization.

INITOPOPT = SAFEOPOPT, OP is set to SAFEOP.

INITOPOPT = HOLDOPOPT, initialization is not performed. OP remains at the last


value.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1153

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

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


(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.

Initialization request flags


The Solenoid Valve function block parameter INITREQ[0..1] provides an indication
whether a command to a certain state (corresponding to the parameter index 0..1) is
accepted and acted upon at the current time. This parameter can be read prior to sending
a command to the block to check if the device can respond as required. 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.

1154

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

OP and DO initialization after load


The initialization values of digital outputs (DOs) can be configured to their desired
values. This feature is typically used in strategies where the output of a Solenoid Valve
FB is connected to non-initializable blocks, such as logic blocks. The configuration is
done through the parameter, INITOPAFTLD. The user has to configure the initialization
state for OP, and the value of OP is mapped to DOs, according to the configured map of
OP-DO (OPDOMAP), after load. The options for INITOPAFTLD can be any configured
states (CLOSE, OPEN), or default. The default option initializes OP to CLOSE, and all
the DOs to 0 (OFF).

Maintenance statistics
The Solenoid Valve block collects a set of Maintenance Statistics which are classified
into three categories which are enabled by their respective enable options such as,
TRKSIOVRD, TRKNUMTRANS.
The maintenance statistics collected include:

NUMTRANS[0,1] - Number of transitions of PV to each state. This can be enabled


provided TRKNUMTRANS is enabled.

NUMTRANS - Number of all PV transitions. This can be enabled provided


TRKNUMTRANS is enabled.

NUMSIOVRD - accumulated number of safety interlock trips, which results in OP


changing state (after the last statistics reset). This can be enabled provided
TRKSIOVRD is enabled.

The statistics are accumulated after the most recent reset. The operator can reset the
statistics of Solenoid Valve Control block anytime irrespective of redtagging,

Output requests
Whenever an external FB attempts to change the commanded state OP, the Solenoid
Valve block uses the OP request mechanism. The OP request (OPREQ/GOPREQ)
differs from direct access an operator uses to the commanded state OP. The OPREQ is a
string in the same manner as OP, and GOPREQ is the enumeration GENSTAT_ENM,
which is the same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1155

19. Power Generation Functions


19.7. SOLENOID (Solenoid Valve Drive Control) Block

drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is NULL. This means the OPREQ continues to attempt stores
even if attributes, such as interlocks, become active and block changes to OP. Thus, once
the attributes blocking change to OP have reset OPREQ stores the commanded state to
OP.

Output command
The block provides a Boolean command capability through an array of Boolean inputs
(AUTO OPEN/CLOSE, UCP OPEN/CLOSE, LOCAL OPEN/CLOSE, SEQ
OPEN/CLOSE).

When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command (AUTO
OPEN/CLOSE, SEQ OPEN/CLOSE).

Similarly, you can command the Solenoid Valve block through LOCAL
OPEN/CLOSE, UCP OPEN/CLOSE provided the following conditions are met:

Both LOCAL and UCP commands ignore MODEATTR.

LOCAL OPEN/CLOSE depends on the LOCAL SWITCH which should be ON.

UCP CLOSE ignores the LOCAL/REMOTE SWITCH condition provided


SAFEOP is configured to CLOSE.

UCP OPEN ignores the LOCAL/REMOTE SWITCH condition provided


SAFEOP is configured to OPEN.

Similarly, you can command the Solenoid Valve block through Console
OPEN/CLOSE provided the following conditions are met:

MODEATTR should be OPER.

Console CLOSE ignores the LOCAL/REMOTE SWITCH condition provided


SAFEOP is configured to CLOSE.

Console OPEN ignores the LOCAL/REMOTE SWITCH condition provided


SAFEOP is configured to OPEN.

If an SCM commands the Solenoid Valve block by sending a Null type of request to
GOP and there are active OPCMDs such as AUTO OPEN/CLOSE, UCP OPEN/CLOSE,
LOCAL OPEN/CLOSE. (this is possible when SCMOPT = NONE, MODEATTR =
Program, and SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM store
1156

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

to GOP is rejected; if any of the OPCMD elements are active (one or more OPCMD
members are ON). An SCM can gain control, only when all OPCMD elements are OFF.
The Solenoid Valve can also be commanded by SCM through SEQ OPEN/CLOSE when
SCM option is FIXED and MODEATTR is PROGRAM.
ATTENTION

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.

Logic override OPREQ


You can use the clear OPREQ flag parameter (CLROPREQFL) through a passive
connection to a Logic type block to clear the OPREQ, if the MODEATTR is Program.
When the CLROPREQFL changes from OFF to ON, OPREQ is set to NULL and the OP
remains unchanged.

SOLENOID parameters

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1157

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.

19.8 VALVEDAMPER (Valve/Damper Drive Control) Block


Description
A Drive Control is currently achieved through Device Control Blocks (DEVCTL) in
Experion LX. The existing Device Control block is designed for all types of drives like
LT/ HT Motor, and valves. It has configurable states, number of inputs, number of
outputs, and hosts PV and OP alarms. You have to configure them before using the
block. There is a single permissive and interlock input for each state. Therefore all the
switchgear related inputs and process inputs have to hover around this one single input
pin by employing OR or AND blocks for multiplexing.
The Valve/Damper control function block is graphically represented as follows.

1158

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

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.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 1
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1159

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
and 32767. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block.
Enable PV Source Selection (PVSRCOPT) - Lets you

select the source of the PV as SUB for a user program,


MAN for an operator, or AUTO for process input
connection, TRACK for tracking OP. Only applicable with
PV Source Option selection of ALL. The default selection
is AUTO.
Mode Attribute (MODEATTR) - Lets you set the block's

mode attribute. The selections are NONE, OPERATOR,


PROGRAM, and NORMAL. The default selection is
OPERATOR. MODEATTR identifies who may store
values to the output (OP), when the block's MODE is
either MAN or AUTO.
Normal Mode Attribute (NORMMODEATTR) - Lets you

specify the mode attribute (MODEATTR) the block is to


assume when the Control to Normal function is initiated
through the Station display. Selections are NONE,
OPERATOR, PROGRAM. The default selection is
NONE.
Output

Init OP After Load (INITOPAFTLD) - Initialization values

for OP and CmdOpen\CmdClose after load. The


selections are DEFAULT, NOCOMMAND, OPEN,
CLOSE.
OP Initialization Option (INITOPOPT) - Lets you specify

the state in which OP is set when INITMAN transitions


from ON to OFF. Selections are NORMALOPT,
HOLDOPT and SAFEOPOPT. By default, the option is
NORMALOPT.
Seal-in Option (SEALOPT) - Lets you clear the output

commands when the process feedback state cannot


follow the commanded output state. Selections are
DISABLE and ENABLE. If ENABLE, the field output
destinations are set to SAFEOP but OP is not altered.
Pulse Output (POCLOSECONNECTED,

1160

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
PORUNCONNECTED) - Lets you specify whether a
given pulse output is to be enabled (ON) or not (OFF). A
Check equals ON. When enabled, the corresponding
output (POCLOSE, POOPEN) pin is exposed on the
block. The default is no pulse outputs configured. The
selectable outputs depend upon the configured number
of outputs.
Bypass Permit (BYPPERM) - Lets you specify if

operators are permitted to bypass the Permissive and


Override Interlocks or not. The default is Disabled
(unchecked) or OFF. An operator cannot set or reset the
BYPASS parameter.
Perm. and Intlock. Bypass (BYPASS) - When BYPPERM

is ON, lets you change OP regardless of the state of the


Override interlocks, if BYPASS is set ON. This does not
affect the Safety Override Interlock (SI). When you reset
the BYPASS parameter to OFF, any existing Override
Interlocks (OI[0..2]) take effect immediately.
Torque Switch used for Tight-shutoff (TSENABLED) -

When ON, the Close Command cutoff is governed by


TSC.
Use Torque Switch for Protection (TSFORPROT) -

When ON, the TSO and TSC signals are used as


protection for Open and Close commands respectively.
Maintenance

Track Number of PV transitions/State (TRKNUMTRANS)

- When enabled or box checked, you can track the


maximum number of transitions of PV to each state
(NUMTRANS[0 -2]) for comparison purposes only. The
default is OFF or unchecked and NUMTRANS[0 -2] in
maintenance statistics is not collected.
Track Number of SI Overrides (TRKSIOVRD) - When

enabled or checked, you can track the maximum number


of SI overrides to each state for comparison purposes
only. The default is OFF or box unchecked and the
NUMSIOVRD in maintenance statistics are not collected.
Maint. stats. reset flag (RESETFL) - An operator can

only reset statistics while the block is red tagged, but a


user program or another FB can turn ON the RESETFL
parameter to reset statistics anytime.
No. of safety ovr. trips (NUMSIOVRD)- Accumulated

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1161

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
number of safety interlock trips that result in OP
changing state, after the last statistics reset.
No. of all PV transitions (NUMALLTRANS) -

Accumulated number of transitions of PV to each state,


after the last statistics reset.
Number of Transitions (NUMTRANS[0 -2]) -

Accumulated time of PV in each state, after the last


statistics reset.
Track Open Feedback Time (TRKOPENFEEDBKTIME) -

When ON, the time taken to receive Open feedback


after the Open command is issued is recorded.
Track Close Feedback Time

(TRKCLOSEFEEDBKTIME) - When ON, the time taken


to receive Close feedback after the Close command is
issued is recorded.
Open Feedback Time (OPENFEEDBKTIME) - The time

taken in seconds to receive Open feedback after the


Open command is issued.
Close Feedback Time (CLOSEFEEDBKTIME) - The

time taken to receive Close feedback after the


Close command is issued.
SCM

SCM Mode Tracking Opt (MODETRACK) - Lets you

select the desired Mode Tracking function for the SCM


associated with this block's Control Module. It defines
how the FB sets the state of the MODEATTR based
upon the MODE of the SCM. The default selection is
ONESHOT. The selections are NONE, ONESHOT,
SEMICONT, CONTRTN, and CONT.
Abnormal State Options - Lets you specify the action the

function block is to take when the SCM is in an abnormal


state.

1162

The Starting State Option (STARTOPT) applies


when the SCM state is Checking, Idle, or
Complete. The options are NONE, SAFEOP. The
default selection is NONE.

The Stop/Abort State Option (STOPOPT) applies


when the SCM state is Stopping or Stopped,
Aborting or Aborted. The options are NONE,

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
SAFEOP. The default selection is NONE.

Alarms

The Hold State Option (HOLDOPT) applies when


the SCM state is Holding or Hold. The options are
NONE, SAFEOP. The default selection is NONE.

The Restart State Option (RESTARTOPT) applies


when the SCM state is Resume or Run. The NONE
and LASTREQ are the only selections for the
Restart State option. The default selection is
NONE.

PV Alarming - The following alarms are configurable to


represent disagreements between the commanded state
(OP) and the feedback state (PV). These alarms are
disabled if there are no inputs or outputs.
Command Disagree (CMDDISALM.FL) - This alarm is

generated when the commanded output state (OP)


changes and the feedback state (PV) does not change to
the same state within the specified feedback time. This
alarm returns to NORMAL when the PV state becomes
the same as the OP state. This alarm does not apply for
momentary commanded states.
Command Fail (CMDFALALM.FL) - This alarm checks

to see if the PV state changed from its original state to


any other state within a specified feedback time after the
OP state is commanded. For slow responding devices,
absence of this alarm indicates that the device
responded to the command, even if it has not yet moved
to its commanded position.
Uncommanded Change (UNCMDALM.FL): This alarm

is configured in conjunction with the Command Disagree


alarm function. This alarm is generated, if an OP state
has not been commanded and the PV state changes for
any reason except BADPV.
Bad PV (BADPVALM.FL): This alarm is generated

whenever both feedbacks are ON.


Override Alarms - The following alarms are configurable to
represent override interlock conditions.
Safety Override Interlock (SIALM.FL) - This alarm may

be generated when the safety override interlock (SI)


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1163

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
occurs, and has caused an OP state change.
Override Interlock (OIALM[0..2].FL) - This alarm is

generated when an override interlock (OI[0..2]) occurs,


and causes an OP state change.
Off Normal Condition (OFFNRMALM.FL) - If an interlock
bypass becomes active when OPREQ is not Null, the
OPREQ is transmitted to OP immediately upon activation of
the bypass parameter. If bypass is activated after an
interlock has been initiated, the OP and OFFNRMALM.FL
is corrected within one scan
Command Disagree - Lets you configure the following
parameters for this alarm.
Time to OPEN (or assigned State Name)

(CMDDISALM.TM[1]) - Lets you set the feedback time


for State 1 in range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0.
Time to CLOSE (or assigned State Name)

(CMDDISALM.TM[2]) - Lets you set the feedback time


for State 2 in the range of 0 to 1000 seconds. A time of 0
disables the alarm. The default setting is 0. This can only
be configured if the number of states is 3.
Priority (CMDFALALM.PR): Lets you select the priority

level of the Command disagree alarm as NONE,


JOURNAL, LOW, HIGH, or URGENT. The default
setting is LOW.
Severity (CMDFALALM.SV): Lets you set the relative

severity of the Command disagree alarm on a scale of 0


to 15. Where 15 is the most severe. The default setting
is 0.
Command Fail - Lets you configure the following
parameters for the command fail alarm.
Time to State OPEN (CMDFALALM.TM [1]) - Lets you

set the feedback time for State 1 in range of 0 to 1000


seconds. A time of 0 disables the alarm. The default
setting is 0. This value must be less than the value set
for CMDDISALM.TM [1].
Time to State CLOSE (CMDFALALM.TM[2]) - Lets you

set the feedback time for State 2 in range of 0 to 1000


1164

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
seconds. A time of 0 disables the alarm. The default
setting is 0. This value must be less than the value set
for CMDDISALM.TM[2]. This can only be configured if
the number of states is 3.
Priority (CMDFALALM.PR): Lets you select the priority

level of the Command Fail alarm as NONE, JOURNAL,


LOW, HIGH, or URGENT. The default setting is LOW.
Severity (CMDFALALM.SV): Lets you set the relative

severity of the Command Fail alarm on a scale of 0 to


15. Where 15 is the most sever. The default setting is 0.
Uncommanded Change - Lets you configure the following
parameters for this alarm.
Priority (UNCMDALM.PR) - Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (UNCMDALM.SV) - Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Bad PV - Lets you configure the following parameters for
this alarm.
Priority (BADPVALM.PR) - Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (BADPVALM.SV) - Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Override Alarms - Lets you configure the following
parameters for the safety override interlock alarm.
Option (SIALM.OPT) - Lets you specify whether the

safety override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (SIALM.PR) - Lets you select the priority level as

NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (SIALM.SV): Lets you set the relative severity of

the alarm on a scale of 0 to 15. Where 15 is the most


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1165

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
severe. The default setting is 0.
NOCOMMAND Override Interlock Alarm - Lets you
configure the following parameters for this alarm.
Option (OIALM[0].OPT): Lets you specify whether the

NOCOMMAND override interlock alarm is enabled or


not. The default setting is DISABLED.
Priority (OIALM[0].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[0].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
OPEN Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[1].OPT): Lets you specify whether the

OPEN override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[1].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[1].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
CLOSE Override Interlock Alarm - Lets you configure the
following parameters for this alarm.
Option (OIALM[2].OPT): Lets you specify whether the

CLOSE override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (OIALM[2].PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (OIALM[2].SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Off Normal Condition - Lets you configure the following
parameters for this alarm.
1166

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
Priority (OFFNRMALM.PR): Lets you select the priority

level as NONE, JOURNAL, LOW, HIGH, or URGENT.


The default setting is LOW.
Severity (OFFNRMALM.SV): Lets you set the relative

severity of the alarm on a scale of 0 to 15. Where 15 is


the most severe. The default setting is 0.
Torque Switch Open Alarm - Lets you configure the
following parameters for this alarm.
Option (TSOALM.OPT): Lets you specify whether the

OPEN override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (TSOALM.PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (TSOALM.SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Torque Switch Close Alarm - Lets you configure the
following parameters for this alarm.
Option (TSCALM.OPT): Lets you specify whether the

OPEN override interlock alarm is enabled or not. The


default setting is DISABLED.
Priority (TSCALM.PR): Lets you select the priority level

as NONE, JOURNAL, LOW, HIGH, or URGENT. The


default setting is LOW.
Severity (TSCALM.SV): Lets you set the relative severity

of the alarm on a scale of 0 to 15. Where 15 is the most


severe. The default setting is 0.
Equipment safety alarm - Lets you configure the following
alarms:
Motor Trip alarm: Lets you configure the following

parameters for the alarm.

R110
February 2014

Option (MOTORTRIPALM.OPT): Lets you specify


whether the motor trip alarm is enabled or not. The
default setting is DISABLED.

Priority (MOTORTRIPALM.PR): Lets you select the

Experion LX Control Builder Components Theory


Honeywell

1167

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Configuration Tab

Description
priority level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (MOTORTRIPALM.SV): Lets you set the


relative severity of the motor trip alarm on a scale
of 0 to 15. Where 15 is the most severe. The
default setting is 0.

Winding Temperature Switch alarm: Lets you

configure the following parameters for the alarm.

1168

Option (WTSALM.OPT): Lets you specify whether


the winding temperature switch alarm is enabled or
not. The default setting is ENABLED.

Priority (WTSALM.PR): Lets you select the priority


level as NONE, JOURNAL, LOW, HIGH, or
URGENT. The default setting is LOW.

Severity (WTSALM.SV): Lets you set the relative


severity of the winding temperature switch alarm on
a scale of 0 to 15. Where 15 is the most severe.
The default setting is 0.

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Function

The Valve/Damper block has four inputs, three states, and two outputs.

Allows PV source selection (PVSRC) as OPEN, CLOSE, INBET or faulty (BAD)


state.

Provides latched and pulsed outputs.

Provides Initialization, Local Manual and Redtagging.

Provides BADPV, Command Disagree, SafetyInterlock, Uncommanded Change and


Command Fail, Override Interlock alarms.

Provides PV change of state event.

Provides Permissive and Override Interlocks for each state.

Provides interlock trip alarms.

Provides a seal-in option.

Provides a Safety Interlock that enforces the defined safe state.

Predefines Safe State as NoCommand.

Provides generic state parameters defined as consistent data types.

Initialization has OPFINAL based configuration.

Provides Boolean command option.

Provides batch level one driver option.

Provides OFF NORMAL alarm associated with requested OP.

Provides alarm when Torque switch Open or Torque switch Close are detected.

Withdraws command when feedback is achieved to command initiate.

You can red tag a VALVEDAMPER block. Refer to About Red Tagging section for
more information.
Predecessor and Successor Block
The Valve/Damper Drive Control block accepts inputs from DI channels or from the
PROGRAM. All inputs are two state inputs and can be connected to any block with a
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1169

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

digital output. The output of the block can be connected to DO or further connected to
subsequent logic, if necessary.

Configuration examples
Scenario 1:
The following scenario depicts the implementation of a Valve/Damper block in a control
strategy with Auto Open/Close, Remote Switch, Local Open/Close logic and MCC
inputs.

1170

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1171

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

1172

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Callout
1

Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC)
provide the feedback if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the Valve/Damper block.

Use the PV parameter connection to carry Remote switch input from the
DI channel block to the Valve/Damper block.
In case of an auto standby configuration, the Valve/Damper block can be
commanded by Auto Open, Auto Close provided the Remote switch is

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1173

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Callout

Description
ON, the local switch is OFF and MODEATTR is in PROGRAM.

Use the PV parameter connection to carry Local switch input from the DI
channel block to the Valve/Damper block.
In case of a local mode configuration, the Valve/Damper block can be
commanded by Local Open, Local Close provided the Remote switch is
OFF, the local switch is ON and MODEATTR is in PROGRAM.

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Scenario 2:
The following scenario depicts the implementation of a Valve/Damper block in a control
strategy with safety, override and permissive inputs and MCC inputs.

1174

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1175

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

1176

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Callout
1

Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC)
provide the feedback if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the Valve/Damper block.

R110
February 2014

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.

You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
Experion LX Control Builder Components Theory
Honeywell

1177

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Callout

Description
OFF.

Scenario 3:
The following scenario depicts the implementation of a Valve/Damper block in a control
strategy with UCP Open/Close logic and MCC inputs.

1178

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1179

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Callout
1

Description
Use the PVFL parameter connection to carry MCC inputs from the
DICHANNEL block to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC)
provide the feedback if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the
DICHANNEL block to the Valve/Damper block.

1180

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.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Callout

Description
In case of a UCP configuration, the Valve/Damper block can be
commanded by UCP Open, UCP Close provided the Remote switch is
ON, Local switch is OFF, UCP REL is ON and MODEATTR is in
PROGRAM.
You can command the device through the output (OP) directly, provided
the MODEATTR is Operator, Remote switch is ON and the local switch is
OFF.

Inputs
The inputs which are physically wired to the system and brought to the block through
channel blocks are termed as hard inputs. The soft inputs normally operate from displays
or other function blocks.

Hard Inputs: MTT, LTO, LTC, TSO, TSC, WTS, LOCALSWITCH,


REMOTESWITCH, LOCALOPEN, LOCALCLOSE, UCPREL, UCPOPEN,
UCPCLOSE, SEQOPEN, SEQCLOSE, SEQNOCOMMAND AUTOOPEN,
AUTOCLOSE, AUTONOCOMMAND

Soft Inputs: POCLOSECONNECTED, POOPENCONNECTED,


OPENPULSEWIDTH, CLOSEPULSEWIDTH, TRKNUMTRANS,
TRKNUMSIOVR, TRKOPENFEEDBKTIME, TRKCLOSEFEEDBKTIME,
RESETFL, PO [0..2], OI[0..2], TSENABLED, TSFORPROT.

Outputs
The output parameters are: POOPEN, POCLOSE, CMDOPEN, CMDCLOSE, OP, PV,
NUMTRANS[0,1,2], NUMALLTRANS, NUMSIOVRD, OPENFEEDBKTIME,
CLOSEFEEDBKTIME

Limit Switches
The following are some of the behavior of Limit switches:

The LTO switch feedback is used to withdraw the OPEN command irrespective of
TSEnabled.

An OPEN command cannot be issued if LTO is already ON.

If TSO feedback is received before the LTO feedback, it is an indication of an


abnormality and a TSO alarm is raised and OPEN command is withdrawn provided
TSForProt is ON.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1181

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

If TSO feedback is received before the LTO feedback, it is an indication of an


abnormality and a TSO alarm is raised and OPEN command is not withdrawn
provided TSForProt is OFF.

If TSC feedback is received before the LTC feedback, it is an indication of an


abnormality and a TSC alarm is raised and CLOSE command is not withdrawn
provided TSForProt is OFF and TSEnabled is OFF.

If TSForProt is OFF and TSO acted, the OPEN command is not withdrawn.

When TSForProt is ON and TSC is also ON, you cannot issue CLOSE command.

If TSEnabled is OFF, the LTC feedback is used to withdraw the CLOSE command.

If TSEnabled is ON, the TSC feedback in place of the LTC feedback is used to
withdraw the CLOSE command.

If TSC feedback is received before the LTC feedback, it is an indication of an


abnormality and a TSC alarm is raised and CLOSE command is withdrawn provided
TSEnabled or TSForProt is ON.

A CLOSE command cannot be issued if LTC is ON and TSEnabled is OFF.

A CLOSE command cannot also be issued if TSC and TSEnabled are ON.

If TSEnabled or TSForProt are ON and TSC is ON, you cannot issue a CLOSE
command.

If OI(1) transitions from OFF to ON when TSO or LTO is ON, the store will be
rejected as per LTO OR (TSO AND TSCPROT).

If LTO or TSO acts while OI(1) is ON or PI(0) OFF, command withdrawal is


affected. After command withdrawal is affected, if OI(2) transitions from OFF to
ON, the OP state does not change since SAFEOP is configured as S0
(NOCOMMAND). OP can be commanded to close if OI(1) is OFF.

Error handling

1182

LOCALOPEN/LOCALCLOSE can be initiated only when access lock is 'Other FB',


Operator mode and Local/Remote selection switch is LOCAL.

AUTOOPEN/AUTOCLOSE can be initiated only when access lock in not 'Other


FB' and local/remote switch is in REMOTE.

SEQOPEN/SEQCLOSE can be initiated only when the mode is in PROGRAM.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

UCPOPEN/UCPCLOSE can be initiated only when access lock is not Other FB and
UCP release is available.

OPENFEEDBKTIME, CLOSEFEEDBKTIME does not accept a value less than 0


or more than 96000.

TRKOPENFEEDBKTIME, TRKCLOSEFEEDBKTIME requires AppDev Access


lock.

For Valve/Damper, both OFF status are valid state (In-between). Both ON is flagged
and output is not generated.

States
A "state" represents the current condition of a device. In a Valve/Damper block, OPEN,
CLOSE, and INBETWEEN represent the three states, where the failsafe state is
predefined as NOCOMMAND. Each input combination is assigned to a specific state
and this mapping is fixed. The PV parameter represents the current state of the
Valve/Damper.
The output states are mapped to specific combinations of digital outputs. These outputs
command the field device to the associated state, such as OPEN, CLOSE, or
NOCOMMAND. The OP parameter represents the commanded state or the device state
commanded by an operator. The block transmits OP, monitors PV, and produces alarms
based on the state assignment configurations, which represent whether or not the process
feedback has achieved the state commanded in OP.

State parameters and descriptors


The block includes the following set of parameters for state associations.

State parameters

PV

PVAUTO

OP

OPFINAL

Generic state parameters

GPV (generic version of PV)

GPVAUTO (generic version of PVAUTO)

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1183

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

GOP (generic version of OP)

GOPFINAL (generic version of OPFINAL)

The State parameters are an enumeration with an assigned text name, which tracks the
names assigned to STATETEXT[0..6] parameter for an operator's use.
The generic state parameters are consistent data types, which can be compared with each
other through the enumeration GENSTAT_ENM. The generic state enumerations are:

Null - Stands for Bad Value.

Inbet - Represents an in between state and could be designated MOVPV for moving
PV.

Active - Refers to momentary state settings for a two-state device.

Safe - Stands for SAFEOP which is NOCOMMAND. 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 (NOCOMMAND).

S1 - Represents settable output State 1 (OPEN).

S2 - Represents settable output State 2 (CLOSE)

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 state
enumeration.
If STATETEXT is

1184

Then, the default name is

And, GENSTAT_ENM is

STATETEXT[0]

Bad

Null

STATETEXT[1]

Inbet

Inbet

STATETEXT[2]

Active

Active

STATETEXT[3]

Safe(NOCOMMAND)

Safe

STATETEXT[4]

NOCOMMAND

S0

STATETEXT[5]

OPEN

S1

STATETEXT[6]

CLOSE

S2

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Mode and mode attribute

Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter


is also fixed at MANual.

Mode Attribute (MODEATTR) - determines where state commands to the


Valve/Damper block originate, that is, which access level can set the commanded
output state (OP), as follows:

OPERATOR = only the operator can command the output state.

PROGRAM = only other function blocks (such as Logic blocks, SCM programs)
can command the output state by setting OPREQ.

NORMAL = the setting specified by the Normal Mode Attribute


(NORMMODEATTR) is assumed.

MODEATTR can be changed from PROG to OPER and vice versa through other
FB via MODEATTRCHGFL.

Safe output state


The Safe Output State (SAFEOP) parameter defines the default Valve/Damper state for
certain actions of the Valve/Damper block, such as OP initialization. In case of a
Valve/Damper, the safe Output State (SAFEOP) is predefined as NOCOMMAND.

When OP or GOP is commanded to SAFE, the effective value of OP (GOP) is set


equal to SAFEOP which is NOCOMMAND.

Command dependency on switches and Mode attribute


ValveDamper

Local\Remote Switch

ModeAttribute

LocalOpen

LOCAL

UCPOpen

REMOTE

AutoOpen

REMOTE

PROG

SeqOpen

REMOTE

PROG

ConsoleOpen

REMOTE

OPER

LocalClose

LOCAL

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1185

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

ValveDamper

Local\Remote Switch

ModeAttribute

UCPClose

REMOTE

AutoClose

REMOTE

PROG

SeqClose

REMOTE

PROG

ConsoleClose

REMOTE

OPER

Ignore
Check

Local manual
The local manual (LOCALMAN) parameter is an input flag to support an interface to a
local HAND/OFF/AUTO (also called HAND/OFF/REMOTE) switch on the field
device. The AUTO position of the switch can be hard wired to a digital input. The state
of the digital input can then be configured to store to the LOCALMAN pin added to the
Valve/Damper block through a DICHANNEL connection. The control system may not
have control over the field device when the HAND/OFF/AUTO switch is not in the
AUTO position.
The LOCALMAN parameter provides feedback about the switch position. When the
LOCALMAN parameter is ON, the OP state tracks the PV state, if it is in a settable state.
If PV is in a non-settable state, OP is set to SAFEOP. This ensures that the last
commanded state agrees with the current value of the feedback state, when the
LOCALMAN is turned OFF. The OP (GOP) cannot be commanded directly when
LOCALMAN is ON.
You cannot access LOCALMAN, if the Valve/Damper block does not have any inputs or
outputs connected. PV is illegal for no inputs and OP is illegal for no outputs, and
therefore LOCALMAN is of no consequence in such a condition.
When LOCALMAN is ON, the OP and OPFINAL follow PV (if it is in a settable state).
The digital outputs CmdOpen/CmdClose will follow OPFINAL.
ATTENTION
LOCALMAN can be used for the above purpose, when the Valve/Damper is
Commanded by Local, Controlled directly from MCC and not through DCS.

1186

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Permissive interlocks
PI[0..2]are Permissive Interlocks which are inputs that can be connected to an external
function block to determine whether the operator and/or user program are allowed to
change the commanded output (OP) of the Valve/Damper block to a specific state.
Permissive Interlocks themselves never cause OP to change.

To change the state of OP, the corresponding Permissive Interlock parameter should
be set to ON.

The Permissive Interlocks of all states of the Valve/Damper are ON by default,


thereby allowing permission to all the states; they must be individually set to OFF to
prevent access to the corresponding OP state.

Safety Override Interlock


The Safety Override Interlock (SI) forces the commanded output state (OP) to the Safe
Output State (NOCOMMAND) when active. OP cannot be commanded to a different
state when SI is active.

When MODEATTR is set to OPER and the block is inactive, the SI can be
connected to other blocks or can be directly set by an operator.

SI is OFF by default in case of Valve/Damper; it must be set to ON to force OP to


go to SAFEOP which is NOCOMMAND.

When SI turns OFF, OP = NOCOMMAND is maintained until it is changed by an


operator, a user program, or another Safety Override Interlock.

Override Interlocks
OI[0..2] are Override Interlocks which, when active, force the commanded output (OP)
to its respective state regardless of the condition of the Permissive Interlocks. OP cannot
be commanded to a different state when an Override Interlock is active.

Override Interlocks can be connected to other block outputs or can be directly set by
an operator if MODEATTR = OPERATOR and the block is inactive.

Override Interlock parameters, by default are OFF, thereby disabling the Override
Interlocks. They must be set to ON to force OP to a specific state. If the Override
Interlock forces OP to go to a momentary state, it stays in that state as long as the
interlock remains ON and then switches back to the original state when the Override
Interlock is reset to OFF.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1187

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

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].

Configurable Override/Permissive Interlock Bypass


To grant an operator the ability to bypass the Permissive and Override Interlocks for a
Valve/Damper block, the parameter BYPPERM must be set to ON. The operator can
then set or reset the parameter BYPASS.

When BYPASS is ON, OP can be changed regardless of the state of the Override
and Permissive Interlocks.

When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect
immediately.

BYPASS does not affect the Safety Override Interlock (SI).

When BYPPERM is OFF, BYPASS is OFF by default in case of Valve/Damper and


is read-only.

Alarms
An available set of PV state alarms can be configured to represent disagreements
between the commanded output state (OP) and the current active state (PV). A Safety
Override Interlock alarm is also available. Each of these alarms possesses all the standard
attributes of system alarms.

1188

Command Disagree alarm - It is generated when the commanded output state (OP)
changes and the actual input state (PV) does not change accordingly within a
specified feedback time.

You can configure the feedback time (CMDDISALM.TM[1..2) for each state
from the Alarms tab on the Valve/Damper block configuration form. The value of
OP just commanded determines which CMDDISALM.TM[1..2] is active. The
CMDDISALM.TM[1..2] setting range is 0 to 1000 seconds. Setting a given
CMDDISALM.TM[1..2] parameter to 0 disables the alarm for the associated
state[1..2]. The alarm function is automatically disabled in the absence of
inputs/outputs. CMDDISALM.TM[1..2] changes from or to 0, provided the CM
is InActive or CEE Idle.

This alarm condition returns to NORMAL when the input PV state becomes equal
to the OP state.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Command Fail alarm - generated when the current active state (PV) fails to change
from an original value to any other value within a configurable time interval after
the OP parameter is commanded.

The feedback time (CMDFALALM.TM[1..2) for each state can be configured


through the Alarms tab on the Valve/Damper block configuration form. The value
of OP just commanded determines which CMDFALALM.TM[1..2] is active. The
CMDFALALM.TM[1..2] setting range is 0 to 1000 seconds. Setting a given
CMDFALALM.TM[1..2] parameter to 0 disables the alarm for the associated
state[1..2]. The alarm function is automatically disabled in the absence of
inputs/outputs. CMDDISALM.TM[1..2] changes from or to 0, provided the CM
is InActive or CEE Idle.
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.

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.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1189

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Seal-in option
The seal-in option is used for clearing output commands when the process feedback state
(PV) cannot follow the commanded output state (OP) as detected by the Command
Disagree or Uncommanded Change alarms. If enabled, when the condition is detected,
field output destinations are set to the Safe Output State (NOCOMMAND), but OP is not
altered. You can observe OPFINAL to determine what state was actually commanded to
the output destinations. The OPFINAL is displayed in reverse video while monitoring
Control Builder if it differs from OP. OPFINAL is set equal to OP on the next store to
OP, which clears the "seal" condition.

The seal-in option is configured through the SEALOPT (Enable/Disable) parameter.


ATTENTION
To configure Seal-in option, ensure that CM is inactive and CMDDISALM.TM
[1..2] is configured.

Initialization Manual condition


Initialization Manual is a condition resulting from failure in the field devices connected
to the output of the Discrete Control FB. When this condition is active, the parameter
INITMAN is set to ON. Outputs cannot be commanded when INITMAN is TRUE.

INITDOWN[1..2] - This is an input which is connected to the DOC INITREQ


output. When possible, this connection is made automatically by the system, without
any user action.

This is a structure containing the INITREQ status and the DOC.SO current value.

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 is TRUE.

OP initialization option
The parameter INITOPOPT is used to configure OP Initialization option. It is an
enumeration of NORMALOPT, SAFEOPOPT or HOLDOPOPT. The default value for
Valve/Damper is NORMALOPT.

1190

INITOPOPT = NORMALOPT, perform normal initialization as described in the


ensuing section on Initialization Manual Condition with Safety Override Interlock,
Override Interlocks, LocalMan, and OP Initialization.
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

INITOPOPT = SAFEOPOPT, OP is set to NOCOMMAND.

INITOPOPT = HOLDOPOPT, initialization is not performed. OP remains at the last


value.

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 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.

Initialization request flags


The Valve/Damper function block parameter INITREQ[0..1] provides an indication
whether a command to a certain state (corresponding to the parameter index 0..1) is
accepted and acted upon at the current time. This parameter can be read prior to sending
a command to the block to check if the device can respond as required. INITREQ[i] (i =
0 or 1) = OFF indicates that the block can be commanded to statei, and INITREQ [i] (i =
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1191

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

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.

OP and DO initialization after load


The initialization values of digital outputs (DOs) can be configured to their desired
values. This feature is typically used in strategies where the output of a Valve/Damper
FB is connected to non-initializable blocks, such as logic blocks. The configuration is
done through the parameter, INITOPAFTLD. The user has to configure the initialization
state for OP, and the value of OP is mapped to DOs, according to the configured map of
OP-DO (OPDOMAP), after load. The options for INITOPAFTLD can be any configured
states (CLOSE, OPEN, NOCOMMAND), or default. The default option initializes OP to
NOCOMMAND, and all the DOs to 0 (OFF).

Maintenance statistics
The Valve/Damper block collects a set of maintenance statistics classified into three
categories which are enabled by their respective enable options such as, TRKSIOVRD,
TRKNUMTRANS, TRKOPENFEEDBKTIME, TRKCLOSEFEEDBKTIME.
The maintenance statistics collected include:

NUMTRANS[0..2] - Number of transitions of PV to each state. This can be enabled


provided TRKNUMTRANS is enabled.

NUMALLTRANS - Number of all PV transitions. This can be enabled provided


TRKNUMTRANS is enabled.

NUMSIOVRD - accumulated number of safety interlock trips, which results in OP


changing state (after the last statistics reset). This can be enabled provided
TRKSIOVRD is enabled.

OPENFEEDBKTIME - Amount of time taken in seconds to receive the OPEN


feedback after the valve is commanded to OPEN state. This can be enabled provided
TRKOPENFEEDBKTIME is enabled.

CLOSEFEEDBKTIME- Amount of time taken in seconds to receive the CLOSE


feedback after the valve is commanded to CLOSE state. This can be enabled
provided TRKCLOSEFEEDBKTIME is enabled.

The statistics are accumulated after the most recent reset. The operator can reset the
statistics of Valve/Damper block anytime irrespective of Redtagging, unlike the
DEVCTL block.

1192

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Output requests
Whenever an external FB attempts to change the commanded state OP, the
Valve/Damper block uses the OP request mechanism. The OP request
(OPREQ/GOPREQ) differs from direct access an operator uses to the commanded state
OP. The OPREQ is a string in the same manner as OP, and GOPREQ is the enumeration
GENSTAT_ENM, which is the same as GOP.
There is no direct access to OPREQ when MODEATTR is PROGRAM. It can be
changed as part of a control request from an SCM. When MODEATTR is OPERATOR,
an operator can change OPREQ, but this does not block a control request. This means a
program store to OPREQ cannot be rejected, and no error is returned. The FB retains the
stored value until it is overwritten, except in certain non-stored cases when the level 1
drivers are active. OPREQ acts like a repeated attempt to store to OP. The OPREQ is
always active unless it is Null. This means the OPREQ continues to attempt stores even
if attributes, such as interlocks, become active and block changes to OP. Thus, once the
attributes blocking change to OP have reset OPREQ stores the commanded state to OP.

Output command
The block provides a Boolean command capability through an array of Boolean inputs
(AUTO OPEN/CLOSE, AUTONOCMD, UCP OPEN/CLOSE, LOCAL OPEN/CLOSE,
SEQ OPEN/CLOSE, SEQNOCMD).

When the mode attribute (MODEATTR) is Program and the SCM option
(SCMOPT) is None, you can use an output from a Logic type block to set the
requested output state (OPREQ) through the given Boolean input command (AUTO
OPEN/CLOSE, AUTONOCMD) provided REMOTE SWITCH is ON.

Similarly, you can command the Valve/Damper block through LOCAL


OPEN/CLOSE, UCP OPEN/CLOSE provided the following conditions are met:

Both LOCAL and UCP commands ignore MODEATTR.

LOCAL OPEN/CLOSE depends on the LOCAL SWITCH which should be ON.

UCP CLOSE/OPEN depends on REMOTE SWITCH which should be ON.

Similarly, you can command the Valve/Damper block through Console


OPEN/CLOSE provided the following conditions are met:

MODEATTR should be OPER.

Console OPEN/CLOSE depends on REMOTE SWITCH which should be ON.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1193

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

If an SCM commands the Valve/Damper block by sending a Null type of request to GOP
and there are active OPCMDs such as AUTO OPEN/CLOSE, UCP OPEN/CLOSE,
LOCAL OPEN/CLOSE. (this is possible when SCMOPT = NONE, MODEATTR =
PROGRAM, and SCM OPTYPE = NULL), the OPCMD has higher priority. An SCM
store to GOP is rejected; if any of the OPCMD elements are active (one or more
OPCMD members are ON). An SCM can gain control, only when all OPCMD elements
are OFF.
The Valve/Damper can also be commanded by SCM through SEQ OPEN/CLOSE when
SCM option is FIXED and MODEATTR is PROGRAM.
ATTENTION

1194

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

19. Power Generation Functions


19.8. VALVEDAMPER (Valve/Damper Drive Control) Block

Logic override OPREQ


You can use the clear OPREQ flag parameter (CLROPREQFL) through a passive
connection to a Logic type block to clear the OPREQ, if the MODEATTR is Program.
When the CLROPREQFL changes from OFF to ON, OPREQ is set to NULL and the OP
remains unchanged.

VALVEDAMPERparameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Drive Control block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1195

20. Utility Functions


20.1 Utility Function Blocks
Functional overview
Utility function blocks provide a variety of configurable functions for storing and
alarming selected control data.
The following table presents various functions that can be performed through the
configuration of the associated Utility function block. Functional descriptions for each
block are given in the following subsections.
ATTENTION
The ALMWINDOW, ANNPANEL, DIGACQ, and FIRSTOUT block can only be
used with C300 Controllers.

Function

Block

Description

Support alarm
annunicator indication

ALMWINDOW
(Alarm Window Alarm
Annunciator)
Block

Used to define configurable alarm


inputs and annunciator outputs.

Support alarm
annunicator indication

ANNPANEL
(Annunciator
Panel) Block

Used in conjunction with the


ALMWINDOW block to provide
configurable annunciator panel
operation.

Provide better use of


computing and memory
resources

DIGACQ (Digital
Acquisition) Block

Used to define PV source for


associated DI channel input with PV
alarm capability.

Measure execution time


of CEE blocks

EXECTIMER
Block

Used to measure the execution timing


of CEE Blocks by creating two
instances.

Provides first out logic


identification for digital
input transition

FIRSTOUT (First
Out Detection)
Block

Used to define configurable inputs to


be scanned for first out function with
alarm capability.

Store a single two-state


value

FLAG Block

Used to define two separate states


(for example, Running/Stopped,

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1197

20. Utility Functions


20.1. Utility Function Blocks

Off/On) to indicate the status of a


particular input.

1198

Store multiple two-state


values

FLAGARRAY
Block

Used to define two separate states


(Off/On) to indicate status of a
particular input.

Provide client triggered


messages

MESSAGE Block

Used to define up to 16 information


only or confirmation type messages
that can be triggered by a client of the
block.

Store a floating point


value

NUMERIC Block

Used to store up to 8 bytes of a


floating point value within defined
upper and lower limits for use in a
control strategy.

Store multiple floating


point values

NUMERICARRAY Used to store up to 200 floating point


Block
values for use in a control strategy.

Push the value of various PUSH Block


data types.

Used to push the value of different


data types to the output destination.

Store multiple text strings TEXTARRAY


Block

Used to store up to 120 text strings for


use in a control strategy.

Time process events or


create known delays.

TIMER Block

Used to keep track of elapsed time


during a process and provides
indication when elapsed time reaches
predefined limit.

Provide data type


conversions

TYPECONVERT
Block

Used to convert one data type to


another for connecting parameters of
different data types.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

20.2 ALMWINDOW (Alarm Window -Alarm Annunciator)


Block
Description
The Alarm Annunciator - Alarm Window function block (ALMWINDOW), available
under the Utility function block library, is used to implement the annunciation sequence
for alarm groups connected to window annunciators. The alarm annunciator is
implemented as two blocks, one encapsulating the function of individual alarm group,
and one to control the lamp test, acknowledge, and reset functions.
The following is an illustration of an ALARM WINDOW FB:

Each Alarm Window block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 0
and 65535. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Number Of Inputs (NUMIN) - Lets you specify the

number of digital inputs to be used with the block. The


R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1199

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

Configuration Tab

Description
default is 4.
Alarm Sequence - Allows the user to select among the

three alarm sequences which are supported by the


ALMWINDOW block. The three sequences are:
Ringback, AutoReset and ManualReset.
Off Normal Alarm Priority (OFFNRMALM.PR) - Indicates

the relative priority of the alarm.


Off Normal Alarm Severity (OFFNRMALM.SV) -

Indicates the relative severity of the alarm (from 0 to 15).


Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function
The Alarm Window function block accepts Boolean inputs (1 to 16) and performs the
configured sequence. It provides one alarm output (ALMOUT) and group status output
(FLSHSTAT).
Predecessor and Successor Block
The Alarm windows blocks take inputs from DI channels or DIGACQ or from the
program (ALMIN[1..16]inputs). The Alarm windows output FLSHSTAT is connected to
FLSHSTAT[*] input of the annunciator panel block.
1200

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

Inputs
The ALMIN[] input pins of the block receive Boolean values from the alarm inputs.
The NUMIN input parameter decides the number of alarm inputs that can be connected
to the block.

Outputs
The FLSHSTAT output is given to the ANNWINDOW block. This pin receives the
RESET and ACK status of the ANNPANEL block through a hidden connection.

Alarms
Ringback sequence
The following is an illustration of the Alarm window state machine:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1201

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

Following is the state transition table of the Alarm window state machine
Lamp State

LampOff

Events
NewAlarm

AckAlarm

RtnAlarm

RstAlarm

LampState =
FastFlash

No Action

DoNothing

No Action

No Action

LampState =
LampSteady

LampState =
SlowFlash

No Action

LampState =
FastFlash

No Action

LampState =
SlowFlash

No Action

FastFlash
LampSteady

1202

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

Lamp State
SlowFlash

Events
LampState =
FastFlash

No Action

LampState =
LampSteady

if(All alrms
have rtn) then
{LampState =
LampOff} else
{LampState =
LampSteady}

Manual reset sequence


The following is an illustration of the Alarm window state machine Manual Reset:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1203

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

Following is the state transition table of the Alarm window state machine Manual Reset:
LampState

LampOff

Events
NewAlarm

AckAlarm

RtnAlarm

RstAlarm

LampState =
FastFlash

NoAction

NoAction

NoAction

NoAction

LampState =
LampSteady

NoAction

NoAction

LampState =
FastFlash

NoAction

NoAction

If(All Alms
RTN){LampSt
ate =
LampOff}

FastFlash
LampSteady

Automatic Reset Sequence:


The following is an illustration of the Alarm window state machine Automatic Reset:

1204

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

Following is the state transition table of the Alarm window state machine Automatic
Reset:
LampState

LampOff

FastFlash
R110
February 2014

Events
NewAlarm

AckAlarm

RtnAlarm

RstAlarm

LampState =
FastFlash

No Action

No Action

No Action

No Action

If(All Alarms
RTN)
{LampState =
LampOff}

No Action

No Action

Else
Experion LX Control Builder Components Theory
Honeywell

1205

20. Utility Functions


20.2. ALMWINDOW (Alarm Window -Alarm Annunciator) Block

{LampState =
LampSteady}
LampSteady

LampState =
FastFlash

No Action

LampState =
LampOff

No Action

Error handling

The block displays an error when an invalid index or access lock is received during
loading of the block.

If the user tries to store a value more than 16 for the NUMIN parameter, an error
"Invalid Value" is displayed.

The parameter NUMIN cannot be changed from the Monitoring side.

Access level check is done at the time of loading the block as well as during a
parameter write.

An error is generated if we try to write the block description after the alarm window
is connected to an alarm panel.

ALMWINDOW parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Alarm Annunciator-Alarm Window block.

1206

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.3. ANNPANEL (Annunciator Panel) Block

20.3 ANNPANEL (Annunciator Panel) Block


Description
The Alarm Annunciator - Annunciator Panel function block (ANNPANEL), available
under the Utility function block library, is used to implement the annunciation sequence
for alarm groups connected to window annunciators. A single window can use over 40
individual function blocks per function group.
The alarm annunciator is implemented as two blocks, one encapsulating the function of
individual alarm group, and one to control the lamp test, acknowledge, and reset
functions.
The following is an illustration of the Alarm Annunciator Panel FB:

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1207

20. Utility Functions


20.3. ANNPANEL (Annunciator Panel) Block

Each Annunciator Panel block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab

1208

Description

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.3. ANNPANEL (Annunciator Panel) Block

Configuration Tab

Description
Name - Block (Tag) name of up to 16 characters long.

Main

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in this CM. Enter a number between 0
and 65535. The default value is 10.
Number Of Inputs (NUMANNWIN) - Lets you specify the

number of alarm window blocks that can be connected to


the block. The default is 16.
Fast Flash Factor (FSTFLSHSPD) - This parameter

allows to configure the flashing rate of LAMPOUT


parameter when the input FLSHSTAT parameter is in
the FASTFLASH state. It can be configured as twice the
rate of Slow flash speed (2xSlowFlash) or 4 times the
rate of Slow Flash speed(4xSlowFlash)
Slow Flash Speed ( SLWFLSHSPD in blinks per Min) -

Allows to specify the rate of flashing the LAMPOUT


parameter when the input FLSHSTAT parameter is in
SLOWFLASH state.
Alarm Window Text (ALMWINTXT) - This text specified

in this parameter appears on the detail display pages for


the Alarm panel.
Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1209

20. Utility Functions


20.3. ANNPANEL (Annunciator Panel) Block

Configuration Tab
Template Defining

Description
Lets you view and define parameters for associated
templates.

Function
This function block accepts FLSHSTAT from the Alarm Window function block and
provides Lamp output for the annunciation windows with synchronized lamp flash
sequence and the hooter annunciation. This block accepts the TEST input, which forces
the entire Lamp out to glow steadily. This block establishes hidden connection with the
Alarm window function block to pass the RESET and ACK parameter values.
Predecessor and Successor Block
The annunciator Panel block outputs LAMP OUT 1 to LAMP OUT 16 and the Outhorn1
and Outhorn 2 is connected to digital output channels. The input LAMP TEST is from
digital input channel blocks or DIGACQ block.

Configuration Example
ATTENTION
Ensure that the Control Module containing the ANNPANEL block is
configured for an Execution Period of 100 milliseconds or faster. The flashing
rate of the annunciator panel only works as expected when the block is
placed in a 100 millisecond or faster CM.

The ALMWINDOW blocks are connected to the ANNPANEL block as shown in the
following block diagram.
The ALMWINDOW blocks receive alarm inputs from other logics. The ALMWINDOW
block's FLSHSTAT parameter is connected to the ANNPANEL block's FLSHSTAT
inputs. The ACK and RESET signals are propagated by the ANNPANEL to all the
ALMWINDOW blocks through hidden connections.
The LAMPOUT and OUTHORN parameters of the ANNPANEL are connected to DO
channels.

1210

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.3. ANNPANEL (Annunciator Panel) Block

Inputs
The FLSHSTAT[] takes its input from the AlmWindow block's FLSHSTAT[] outputs.
Additionally, a hidden connection is established through this pin to transfer the RESET
and ACK status to the ALMWINDOW block.
The ACK input receives the operator alarm acknowledgement. This pin usually receives
the input from a digital input channel block.
The RESET input receives the operator alarm reset. This pin usually receives the input
from a digital input channel block.
The LAMPTEST input receives the operator lam test signal. This pin usually receives the
input from a digital input channel block.
ATTENTION
If there are more than 32 inputs, two Alarm panel blocks can be combined to
achieve the same functionality.

Outputs
The LAMPOUT output is the output to the DO channel.
The OUTHORN1 and OUTHORN2 outputs are the hooter outputs which are connected
to DO channels.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1211

20. Utility Functions


20.4. DIGACQ (Digital Acquisition) Block

Error Handling

The block displays an error when an invalid index or access lock is received during
loading of the block.

If the user tries to store a value more than 32 for the NUMANNUNWIN parameter,
than an error "Invalid Value" appears.

Access level check is done at the time of loading the block as well as during a
parameter write.

ANNPANEL parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Alarm Annunciator - Alarm Panel block.

20.4 DIGACQ (Digital Acquisition) Block


Description
The Digital Acquisition function block, available under Utility in the function block
library, uses a combination of a DICHANNEL and SEL/FLAG when PVSOURCE is
defined by the operator. The Digital Acquisition block receives input from DI Channel
block and allows the user to define the PVSOURCE. This block is independent of the
Channel type feeding the block. The following is a graphical representation of the Digital
Acquisition function block.

The Digital Acquisition block supports the following user configurable attributes. The
following table lists the name of the "Tab" in the parameter configuration form with a
brief description of the attributes associated with that tab.
1212

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.4. DIGACQ (Digital Acquisition) Block

Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

execution order of the block in the CM relative to other


blocks contained in the CM. Enter a number between 0
and 65535. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with the block.
Normal State - Defines the Normal State of the block, as

selected by the user.


Actual State - Indicates the current state of the block as

in PV.
PV Source Option (PVSRCOPT) - Lets you select

whether you want to limit the PV source to AUTO only or


allow other PV source selections. The default selection is
ONLYAUTO.
PV Source (PVSOURCE) - Lets you select the source of

the PV as SUB for a user program, MAN for an operator,


or AUTO for process input connection. Only applicable
with PV Source Option selection of ALL. The default
selection is AUTO.
Text for each state (STATETEXT) - Lets you select the

text for each state.


Display Configuration (DABLOCKSINCM) - Indicates the

number of blocks that is displayed in system detail


display.
Alarms

Off Normal Alarm Priority (OFFNRMALM.PR) - Indicates

the relative priority of the alarm.


Off Normal Alarm Severity (OFFNRMALM.SV) -

Indicates the relative severity of the alarm (from 0 to 15).


Bad PV Alarm Priority (BADPVALM.PR) - Lets you set

the desired priority level individually for each alarm type


assuming that the PV value is bad. The default value is
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1213

20. Utility Functions


20.4. DIGACQ (Digital Acquisition) Block

Configuration Tab

Description
LOW.
Bad PV Alarm Severity (BADPVALM.SV) - Lets you

assign a relative severity individually for each alarm type,


as a number between 0 and 15, with 15 being the most
severe, assuming that the PV value is bad. This
determines the alarm processing order relative to other
alarms. The default value is 0.
Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

Function

Enables better utilization of processor computing and memory resources.

Supports alarm generation when the current process variable state differs from the
configured NORMAL state.

Block configuration

1214

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).
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

20. Utility Functions


20.4. DIGACQ (Digital Acquisition) Block

Predecessor block

A predecessor block is not required if PVSOURCE is set to MAN.

If PVSOURCE is set to SUB, 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.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1215

20. Utility Functions


20.4. DIGACQ (Digital Acquisition) Block

Configuration Scenario
PVFL can be exposed as an input pin. This enables the Digital acquisition block to use a
PVFL parameter connection to carry inputs from another FB when PVSOURCE is SUB
as in the following illustration:

Inputs

IN - Input parameter

Outputs

1216

PV - Current selected input based on the PVSOURCE selection

PVFL - Actual State Flag

INVPVFL - Inverted State Flag

Depending on the value of PVSRCOPT and PVSOURCE, the output is set to one of
the following input values:

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.5. EXECTIMER Block

PVSRCOPT

PVSOURCE

PV

Only Auto

AUTO

Value of PVAUTOFL

ALL

AUTO

Value of PVAUTOFL

ALL

MAN

Value of PVFL

ALL

SUB

Value of PVFL

The PVFL and PV parameters always match. When the PVSOURCE parameter is
changed to MAN, the value of PVFL/PV does not change and retains the last value.
The value can be changed as needed.

If the input to the DigAcq block goes bad and PVSOURCE is AUTO, a BAD PV
alarm is generated in the Dig Acq block and the same status is communicated to
subsequent blocks since PVSTS is an enumeration.

Error handling

The Digital Acquisition block reports errors when a parameter is accessed with a
privilege lower than the expected access level.

The Digital Acquisition block provides PVSTATUS based on the PVOURCE.


If PVSOUCE is

Manual - kManValSts.

SCM - kUncertainValSts.

Auto - kNormalValSts.

If the CM is inactive or CEE is IDLE, the block holds the last legal value.

If there is more than one block in a CM, the number of blocks per display depends
on the configuration on the first block. However, you can have a maximum of six
blocks per display. If more than six blocks per display is configured, the details of
the first six blocks are displayed along with an error message.

DIGACQ parameters
REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the Digital Acquisition block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1217

20. Utility Functions


20.5. EXECTIMER Block

20.5 EXECTIMER Block


Description
The EXECTIMER function block, available in the Utility function block library, is used
to measure execution timing of other CEE blocks. EXECTIMER is used to measure the
timing of individual basic blocks or groups of basic blocks within a Control Module.

The EXECTIMER block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main

Description
Execution Order in CM (ORDERINCM): Specifies the

execution order of the block in the CM relative to other


blocks contained in the CM. Enter a number between 0 and
65535. The default value is 10.
Averaging Interval (TAU): TAU establishes the time interval

over which rolling averages are computed. Units are


seconds.
Enable Timing (ENABLE): In most cases where

EXECTIMER is applied, parameter ENABLE is not used.


On rare occasions, an application engineer may find it
convenient to leave instances of EXECTIMER in place
permanently as part of the configuration. When this is
performed, ENABLE maybe set to On to minimize CPU
consumed when measurements are not actually being
taken. When EXECTIMER configurations are disabled,
ENABLE must be set to Off at both the begin time interval
instance and the end time interval instance.
Interrupt Reject Factor (REJFACTOR): When REJFACTOR

is non-NaN, new values of DTIME are rejected from the


1218

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.5. EXECTIMER Block

Configuration Tab

Description
statistical computations unless the following criterion is met.
DTIME <= REJFACTOR * DTIMEMIN
If the application engineer chooses to use REJFACTOR,
the value of MAXMINRATIO can be used to judge an
appropriate value.
Offset (DTAOFFSET): Subtractive offset applied to

DTIMEAVG in computing DTIMEAVGCOMP.


Value is computed as follows.
DTIMEAVGCOMP = (DTIMEAVG DTAOFFSET) *
DTASCALE / DTANORM.
Normalization (DTANORM): Denominator applied to

DTIMEAVG in computing DTIMEAVGCOMP.


Value is computed as follows.
DTIMEAVGCOMP = (DTIMEAVG DTAOFFSET) *
DTASCALE / DTANORM.
Scale Factor (DTASCALE): Numerator applied to

DTIMEAVG in computing DTIMEAVGCOMP.


Value is computed as follows.
DTIMEAVGCOMP = (DTIMEAVG DTAOFFSET) *
DTASCALE / DTANORM.
Free Running Time Input (TIMEIN): Time value at the end

time EXECTIMER instance read by connection from


partner begin time EXECTIMER instance. Units are
undefined in the application view.
Assume that there are two EXECTIMER instances: one
capturing the beginning of a time interval (BEGTIME) and
the other capturing the end of a time interval (ENDTIME). In
such a scenario, TIMEOUT is used by making a connection
from output BEGTIME.TIMEOUT to input
ENDTIME.TIMEIN. TIMEOUT is a specialized parameter
which may only be used in this fashion. Other uses will lead
to block malfunction or unpredictable results. Connections
between TIMEOUT and TIMEIN may not cross CEE
boundaries.
Delta Time (DTIME): Always displays NaN on the

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1219

20. Utility Functions


20.5. EXECTIMER Block

Configuration Tab

Description
EXECTIMER instance used to establish the beginning of
the time interval. Displays non-NaN on the EXECTIMER
instance used to establish the end of the time interval if the
following holds true:

TIMEIN parameter of block instance is connected.

TIMEIN parameter of block instance is receiving a


good value.

Block instance is enabled.

Block instance is executing.

DTIME captures the difference between the current time


read by the end instance and the time value received
through the parameter TIMEIN.
Free Running Time Output (TIMEOUT): Time value

supplied from high precision, internal, free running clock.


Units are undefined in the application view.
Assume that there are two EXECTIMER instances: one
capturing the beginning of a time interval (BEGTIME) and
the other capturing the end of a time interval (ENDTIME). In
such a scenario, TIMEOUT is used by making a connection
from output BEGTIME.TIMEOUT to input
ENDTIME.TIMEIN. TIMEOUT is a specialized parameter
which may only be used in this fashion. Other uses will lead
to block malfunction or unpredictable results. Connections
between TIMEOUT and TIMEIN may not cross CEE
boundaries.
Minimum (DTIMEMIN): Minimum value of DTIME since

RESET was last set to On.


Average (DTIMEAVG): Rolling time average of

instantaneous DTIME values.


The time interval of the rolling average is established by
parameter TAU. The averaging is reset by writing On to
parameter RESET.
Maximum (DTIMEMAX): Maximum value of DTIME since

RESET was last set to On.


Max to Min Ratio (MAXMINRATIO): Ratio of the value of

parameter DTIMEMAX to the value of parameter


1220

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.5. EXECTIMER Block

Configuration Tab

Description
DTIMEMIN.
In cases where an application engineer wants to set
parameter REJFACTOR to a value other than NaN,
MAXMINRATIO can be used to judge what would be an
appropriate value. If MAXMINRATIO is large, it typically
means the measurement is capturing interrupt execution or
higher priority task execution unrelated to the block or
blocks under test.
Standard Deviation (DTIMESTD): DTIMESTD is the square

root of the time variance in the DTIME values. It presents a


rolling estimate of the standard deviation of the DTIME
values in the same way that DTIMEAVG presents the rolling
average of the DTIME values. The time interval over which
the estimate is constructed is established by parameter
TAU. The averaging is reinitialized whenever parameter
RESET is set to On.
Standard Deviation%: (DTIMESTDPRC): The value of

DTIMESTD as percent of DTIMEAVG.


DTIMESTDPRC is computed as follows.
DTIMESTDPRC = 100.0 * DTIMESTD / DTIMEAVG
Compensated Average (DTIMEAVGCOMP): Value of

DTIMEAVG after application of negative offset and scale


factors.
Value is computed as follows.
DTIMEAVGCOMP = (DTIMEAVG DTAOFFSET) *
DTASCALE / DTANORM.
DTIMEAVGCOMP and its associated configuration
parameters can optionally be used for tasks such as the
following:

Subtract out the small timing overhead not associated


with the block or module under measurement.

Attempt to compensate for other factors by scaling up


or down a measurement.

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1221

20. Utility Functions


20.5. EXECTIMER Block

Configuration Tab

Description

Template Defining

Lets you view and define parameters for associated templates.

Function
EXECTIMER is used by creating two instances. One instance marks the beginning of a
time interval, that is, the BEGTIME instance. The other instance marks the end of a
time interval, that is, the ENDTIME instance. The output parameter
BEGTIME.TIMEOUT is then connected to the input parameter ENDTIME.TIMEIN.
With this configuration, any module, block, group of modules, or group of blocks which
execute between the two EXECTIMER instances is included in the time measurement.
Block ordering must be deliberately controlled when using EXECTIMER. When
measuring execution time of basic blocks, the BEGTIME instance and ENDTIME
instance are placed within the same CM. The ORDERINCM configuration of these two
instances is set up to include or exclude from the measurement other blocks within the
same CM.
When measuring execution time of modules, the BEGTIME instance and ENDTIME
instance are placed within different CMs, that is, CM_BEGTIME and
CM_ENDTIME. The ORDERINCEE configuration of these two CM instances is
setup to include or exclude from the measurement other CMs within the same CEE.
EXECTIMER is supported on the following platforms.

C300

SIMC300

Input
The input parameter is ENDTIME.TIMEIN. There is no input for the BEGTIME
instance that serves to mark the beginning of a time interval.

Output
The output parameter is BEGTIME.TIMEOUT. There is no output for the ENDTIME
instance that serves to mark the end of a time interval.

EXECTIMER Parameters

1222

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.5. EXECTIMER Block

REFERENCE INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the EXECTIMER function block.

EXECTIMER Example
EXECTIMER block can be used in any module, block, group of modules, or group of
blocks.
Block ordering must be deliberately controlled when using EXECTIMER. When
measuring execution time of basic blocks, the BEGTIME instance and ENDTIME
instance are placed within the same CM. The ORDERINCM configuration of these two
instances is set up to include or exclude from the measurement, other blocks within the
same CM as displayed in the following figure.

In case of a group of modules, the BEGTIME instance and ENDTIME instance are
placed in the CMs as displayed in the following figure. The ODERINCEE value for each
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1223

20. Utility Functions


20.5. EXECTIMER Block

CM is selected to cause execution in the order listed. Measurements can include any
number of CMs or SCMs.

1224

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.5. EXECTIMER Block

Limitations
As with any simple time measurement, the readings given by EXECTIMER can be
skewed by intervening interrupts or higher priority tasks. This effect is often not
significant. If it is significant, reduce the effect by using the REJFACTOR parameter.
When used in a C300, EXECTIMER works well but has a limitation similar to that of
other measurements techniques, such as CPUCYCLEAVG[40]. EXECTIMER only
covers the explicit block execution time. Other CPU effects which may scale with block
properties, such as CPU consumed by redundancy communications, is not included in
the measurement. Load effects which accumulate outside the execution interval for a
block can only be measured by using large configurations and differencing techniques
based on CPUFREEAVG.
Exactly two instances of EXECTIMER are required for each timing measurement to be
made. That is, it is not possible to place an EXECTIMER instance in the middle of a
longer interval of interest and have it serve as both; the ENDTIME instance for an
EXECTIMER which precedes it; and the BEGTIME instance for an EXECTIMER
instance which follows it.
The timing measurements that EXECTIMER can perform are confined to a single CEE.
While it can be used to measure the execution timing of blocks that might be involved in
peer communication, OPC communication, or IO communication, EXECTIMER cannot
be used for any of the following purposes.

Measuring timing effects between EEs.

Measuring timing effects between an EE and IO.

Measuring timing effects between an EE and an OPC server.

Any attempt to connect the TIMEOUT and TIMEIN parameters of EXECTIMER


instances which are not assigned to the same CEE yields meaningless data and hence
should not be attempted.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1225

20. Utility Functions


20.6. FIRSTOUT (First Out Detection) Block

20.6 FIRSTOUT (First Out Detection) Block


Description
The First Out function block, available under the Utility library, enables the
identification of the digital input signal that was first to transition from its NORMAL
state among a set of digital inputs connected to an equipment or device. Usually, this
block is associated with critical equipment. An equipment's or a drive's protection
interlocks and stop commands are connected as input to the First Out block. When an
input signal transitions from its configured NORMAL state, the output flag of the First
Out logic is raised. In addition, the input responsible for the First Out flag is recorded.
All the logic processing happens at runtime processing of the new block. The recording
is locked until a reset is applied to the block. The following is an illustration of the First
Out Detection function block:

The First Out Detection block supports the following user configurable attributes. The
following table lists the given name of the "Tab" in the parameter configuration form and
then briefly describes the attributes associated with that tab.
Configuration Tab
Main

Description
Name - Block (Tag) name of up to 16 characters long.

Must be unique within the CM block containing it.


Execution Order in CM (ORDERINCM) - Specifies the

1226

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.6. FIRSTOUT (First Out Detection) Block

Configuration Tab

Description
execution order of the block in the CM relative to other
blocks contained in this CM. Enter a number between 0
and 65535. The default value is 10.
Description (DESC) - Block descriptor of up to 132

characters long.
Engineering Units (EUDESC) - Lets you specify a text

string of up to 16 characters to identify the variable


values associated with this block.
Number Of Inputs (NUMDINPTS) - Lets you specify the

number of digital inputs to be used with the block. The


default is 8.
First Out Alarm Priority (FIRSTOUTALM.PR) - Indicates

Alarm

the relative priority of the alarm. The default selection is


LOW.
First Out Alarm Severity (FIRSTOUTALM.SV) - Indicates

the relative severity of the alarm (from 0 to 15).


Transition Monitoring

Lets you configure the transition monitoring status of the


block.

Identification

Lets you enter block comments, if desired.

Dependencies

Lets you view block hierarchical information.

Block Pins

Lets you select the available parameters that you want to


expose as input/output pins on the function block graphic in
Control Builder.

Configuration
Parameters

Lets you select the available parameters that appear on the


face of the function block in the Project tab in Control
Builder.

Monitoring Parameters

Lets you select the available parameters that you want to


appear on the face of the function block in the Monitoring
tab in Control Builder.

Block Preferences

Lets you change several block-viewing preferences


including the color of the block's faceplate.

Template Defining

Lets you view and define parameters for associated


templates.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1227

20. Utility Functions


20.6. FIRSTOUT (First Out Detection) Block

Function

Provides the First Out function. A First Out logic enables the identification of the
digital input signal that was first to transition from NORMAL state, among a set of
digital inputs connected to the block. The set of digital inputs connected to the block
is scanned in ascending order and once a transition (from NORMAL state) is
detected, First Out is flagged and further scanning is stopped for the rest of the
cycles until a Reset.

Provides an output which is an OR of all NORMAL state inputs and it goes high if
any input goes to ABNORMAL state. It resets when all inputs come back to
NORMAL state.

Provides an alarm once a First Out is detected. If a single input transitions from
NORMAL state, the input that caused the alarm is identified and its description
(INDESC[*]) is used for alarm. In case of multiple input transitions in a single
cycle, the alarm description is as defined in the MULTIINPTDESC (Multiple Input
description field).

Enables you to reset the First Out flag using a raising edge pulse input only when all
inputs come back to NORMAL state.

Block Pins
The input pins are located at the top or the left, and output pins at the bottom or the right.
For ease of use, the input pins are exposed at the left and output pins are exposed at the
right of the block. Any parameter can be exposed as a block pin, input, output, or both,
as appropriate.
By default, eight inputs are exposed. However, more inputs can be exposed during
configuration. To perform this, the following I/O pin connections are required:

IN[1] - IN[8] Inputs

RESET Input

FIRSTOUTACTED Output

Therefore, these parameters are exposed through block pins in the default state. The
following parameters are exposed in the FB panel in monitoring view.

1228

NUMDINPUTS

INPUTACTED[1] - INPUTACTED[8]

FIRSTOUTINPUT
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

20. Utility Functions


20.6. FIRSTOUT (First Out Detection) Block

NUMDINPUTS
FIRSTOUT FB uses NUMDINPTS parameter which obtains the value from the Main
configuration form. The range of NUMDINPTS is 1-24. If user configured
NUMDINPTS data in the Main configuration form is invalid, an error message is
displayed during configuration and download.
Inputs
The First Out block accepts a set of related digital input and detects the input that first
transitioned from the configured NORMAL state. Usually, this block is associated with
critical equipment. Usually, equipment's or a drive's protection interlocks and stop
command are connected as input to the First-out block. When an input signal transitions
from NORMAL state, the output flag of the First Out logic is raised. In addition, the
input responsible for the First Out flag is recorded. The recording is locked until a reset
is applied to the block.
Predecessor and Successor Blocks
The First Out block is used for two state devices in a main Drive CM. The First Out
block can be connected to DEVCTL (two/three states) or any other set of DIs. The
output can be used for debugging or can be sent to the annunciation panel. Its inputs are
a set of digital inputs (equipment's or a drives protection interlocks and stop command)
connected to the equipment or device.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1229

20. Utility Functions


20.6. FIRSTOUT (First Out Detection) Block

OI[*], PI[*], OPCMD[*], and SI are the recommended signals for a DEVCTL block.
The output signals are used to indicate the conditions responsible for a drive to trip,
enabling the operator to analyze the exact reason for the trip to take corrective action.
Execution

The number of inputs can be restricted during configuration. By default, eight inputs
are allowed.

After download and activation, the block initializes current inputs in the current
cycle and history inputs in the last cycle to OFF, and reads all inputs in an ascending
order during one life cycle. If a First Out input is not detected, the block processes
the inputs by using the following procedure.

1230

If there is a change from OFF to ON (the history input in the last cycle is OFF and
current input in this cycle is ON), the block raises the First Out flag and identifies
the input that caused the output flag of the First Out Logic to be raised. The block
also provides an alarm. The status is held until a reset command is issued to the
block to reset all inputs and output flag and alarm. The input scan is limited to the
number of configured inputs.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.6. FIRSTOUT (First Out Detection) Block

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 continues to
monitor upto 64,534 cycles and capture the list of inputs that became
ABNORMAL in each cycle.

Scenario 1 - One Input Transition


If input 5 transitions from NORMAL state, the First Out logic detects input 5 and sets
INPUTACTED[5] as ON and FIRSTOUTINPUT to "Input 5".
Scenario 2 - Multiple Input Transitioned
In a scenario where more than one input transitions in a single cycle, say 2 and 8, from
the NORMAL state, the FIRSTOUTACTED flag is set. This leads to INPUTACTED [2]
and INPUTACTED [8] to turn ON. The FIRSTOUTINPUT takes the value of
"Multiple".
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.
Parameter Name

Reset Value

INPUTACTED[*]

OFF

FIRSTOUTINPUT

None

FIRSTUPACTED

OFF

Inputs

IN [1..24] - Boolean inputs whose transitions are monitored.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1231

20. Utility Functions


20.6. FIRSTOUT (First Out Detection) Block

RESET - Reset the First Out recordings.

The block supports 24 inputs, of which eight inputs are exposed by default. The
remaining inputs (924) can be exposed during configuration using the configurable
parameter NUMDINPUTS.
The NORMAL[1..24] parameter indicates the NORMAL state (ON\OFF) of the
connected inputs. If First Out logic is active, and if any of the inputs transition from the
configured state to another state, the First Out logic detects and records this transition
and raises the corresponding INPUTACTED[*] flag and FIRSTUPACTED flag. The
recorded detail is RESET upon a raising edge trigger at RESET pin.
The FIRSTOUTINPUT captures the index of the first input pin that transitioned, causing
the First Out action. In the case of multiple inputs transitioning, FISTOUTINPUT reports
as "multiple".

Outputs

FIRSTOUTACTED - This flag is set when there is an input transition from its
configured NORMAL state.

INPUTACTED[1..24] - Indicates whether the corresponding input has transitioned


causing a First Out action.

FIRSTOUTINPUT - This is an enumeration that indicates the input that triggered


First Out.

OREDOUT - It is an OR of all NORMAL state inputs and it goes high if any input
goes to ABNORMAL state. It resets when all inputs come back to NORMAL state.

Error handling

1232

This block checks and reports for invalid input indexes while loading or accessing
parameters.

The SR parameter cannot be edited on the monitoring side. A string input to the SR
parameter results in an error message being reported during configuration and the
input string is rejected.

Parameter Access level is checked.

The block limits the range of NUMDINPUTS to 0 to 24 on the project side. If the
input value for NUMDINPUTS is greater than 24 or less than 0, an error is reported
during configuration and the input value is rejected.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.7. FLAG Block

First out detection FB parameters


REFERENCE
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the First Out Detection block.

20.7 FLAG Block


Description
The FLAG function block provides storage for a single 2-state value. The value can be
accessed as a simple Boolean (Off or On) using the PVFL parameter, or as one of two
user-configured State values (for example, Running and Stopped) through the PV
parameter. The following is a graphical representation of the FLAG block.

Function
Used to define two separate states (for example, Running/Stopped, Off/On) to indicate
status of a particular input.

There are 2 user-configurable state descriptors, STATETEXT[0] and


STATETEXT[1] which are used to describe STATE0 and STATE1 respectively.

Current state of flag can be changed/read using PVFL (Boolean) or using PV (either
STATETEXT[0] or STATETEXT[1]).

Block also supports:

R110
February 2014

configurable access lock which determines who can write a value to the block
(such as operator, engineer, or other function block).
Experion LX Control Builder Components Theory
Honeywell

1233

20. Utility Functions


20.8. FLAGARRAY Block

an Off-Normal Alarm whereby one of the flag's states is configured as the


normal state; whenever the flag changes state, the Off-Normal Alarm is
generated.

Input/Output
The block has one output flag (PVFL). But, all block pin parameters are available to be
exposed and connected to using Control Builder graphical connections.

FLAG parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the FLAG function block.

20.8 FLAGARRAY Block


Description
The FLAGARRAY function block provides storage for up to 1000 2-state values. The
value can be accessed as a simple Boolean (Off or On) using the PVFL[n] parameter.
Where "n" is the number of the flag. The following is a graphical representation of the
FLAGARRAY block.

Function
Used to define two separate states (Off/On) to indicate status of a particular input.

1234

Number of flag values (NFLAG) is user configurable.

Current state of flags can be changed/read using flag value (PVFL[n]) (Boolean).

Block also supports configurable access lock which determines who can write a
value to the block (such as an operator, engineer, or other function block).

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.9. MESSAGE Block

Input/Output
The block has up to 1000 output flags(PVFL[n]). But, all block pin parameters are
available to be exposed and connected to using Control Builder graphical connections.

FLAGARRAY parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the FLAGARRAY function block.

20.9 MESSAGE Block


Description
The MESSAGE block provides up to 16 user configurable messages (MESSAGE[n])
that can be triggered by a client of the block. Where "n" is the number of the message. A
client can be the output from a Step block in a Sequential Control Chart module (SCM).
You can also configure each message type (MSGTYPE[n]) to be either:

Information

Confirmable

The following is a graphical representation of the MESSAGE block.

Function
When a client triggers a given send flag (SENDFL[n]) input, the corresponding message
(MESSAGE[n]) is sent to the Message and the Event Summary displays in the Station
application.
For information only type (INFO) messages, the client trigger sets the corresponding
SENDFL[n] to True. Since the SENDFL[n] is a pulse trigger, it is automatically set to
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1235

20. Utility Functions


20.9. MESSAGE Block

False during the next execution cycle. This means the MESSAGE block is ready to send
the same message again in the next cycle.
For confirmation type (CONFIRM) messages, the client trigger pulses the corresponding
SENDFL[n] to send the MESSAGE[n] to the Server. The client of the MESSAGE block
checks for the confirmed parameter (CONFIRMED[n]) to be set to True. The
CONFIRMED[n] parameter indicates whether the MESSAGE block has received a
confirmation.
A message can be confirmed only by acknowledging it twice through the Message
Summary display in Station. This action sets the CONFIRMED[n] parameter true (ON).
If the CONFIRM[n] parameter is set through the Monitoring mode, an operator must still
acknowledge the message through the Message Summary display to remove it from the
display.
The CONFIRM[n] parameter can be configured as a block input pin and/or a monitoring
parameter that appears on the face of the block in the Monitoring mode. That is, a client
block or an operator, depending upon application requirements, can trigger it.
The MESSAGE[n] and MSGTYPE[n] parameters can also be configured as block input
pins and/or monitoring parameters. However, the MESSAGE[n], MEANINGPRI[n], and
MEANINGSEC[n] parameters cannot be changed online in the monitoring mode. It is
possible to change the MSGTYPE[n] and MINLVLSECSIG[n] parameters online in the
Monitoring mode should the application requirements change with an access level of
Engineer or greater.

Configuration and Operation Considerations


Some general considerations for configuring and operating MESSAGE blocks are listed
here for reference.

Each message has a maximum length of 132 characters.

A new message cannot be sent when the message is awaiting/blocked on a


confirmation (CONFIRMED[n] parameter).

When you acknowledge an Information message, it is removed from the Message


Summary display. Confirmation type messages are confirmed by a second
acknowledgement and then removed from the display.

Input/Output
The block has up to 16 inputs (SENDFL[0..15]) and 16 outputs (CONFIRMED[0..15]),
depending on the message types configured.
1236

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.10. NUMERIC Block

MESSAGE parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the MESSAGE function block.

20.10 NUMERIC Block


Description
The NUMERIC block provides storage for a floating-point value which is accessible
through the PV configuration parameter. The following is a graphical representation of
the NUMERIC block.

Function
Used to store up to 8 bytes of a floating point value within defined upper and lower
limits for use in a control strategy.

Configurable high and low limits are also provided.

Also supports a configurable access lock which determines who can write a value to
the block (such as operator, engineer, other function block).

Input/Output
The block has one output (PV). But, all block pin parameters are available to be exposed
and connected using Control Builder graphical connections.

NUMERIC parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1237

20. Utility Functions


20.10. NUMERIC Block

parameters used with the NUMERIC function block.

1238

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.11. NUMERICARRAY Block

20.11 NUMERICARRAY Block


Description
The NUMERICARRAY block provides storage for up to 200 floating point values
which are accessible through the corresponding PV configuration parameter (PV[n]).
Where "n" is the number of the numeric. The following is a graphical representation of
the NUMERICARRAY block.

Function
The NUMERICARRAY block outputs (PV[n]) can be used as source parameters to
provide predefined analog constants to other function blocks. A bad numeric output
parameter typically has the value NaN (Not-a-Number).
The block supports these user configurable attributes.

A configurable Access Lock (ACCLOCK) which determines who can write a value
to the block (such as operator, engineer, or other function block).

A configurable PV Format (PVFORMAT) which lets you select the decimal format
to be used to display the PV[n] values. The selections are D0 for no decimal place (XXXXXX.), D1 for one decimal place (-XXXXX.X), D2 for two decimal places (XXXX.XX), and D3 for three decimal places (-XXX.XXX). The default selection is
D1 for one decimal place.

A configurable Number of Numeric Values (NNUMERIC) which lets you specify


the desired number of numeric values to be supported.

Input/Output
The block has up to 200 outputs (PV[n]), depending on the number of numeric values
(NNUMERIC) configured. But, all block pin parameters are available to be exposed and
connected to using Control Builder graphical connections.

NUMERICARRAY parameters

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1239

20. Utility Functions


20.12. PUSH Block

REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the NUMERICARRAY function block.

20.12 PUSH Block


Description
The PUSH function block is used to push the value of different data types to the output
destination.

Function
The function block fetches the input when it is scheduled to run and stores the output in
the same execution cycle after the type conversion. If data type conversion is not
necessary, then none will be done.

Execution Status
The status of input fetching is reflected in the following parameter:

Overall Execution Status (EXECSTS)

The EXECSTS provide information on how successful the block is in fetching the input.
EXECSTS can have the following values:

1240

OK Successful, that is when fetching of inputs as well as the conversion was done
without any error or clamping.

CLAMPWARNING - Function completed, but with some limitation (for example,


value clamped after data conversion). This provides information on how successful
Experion LX Control Builder Components Theory
Honeywell

R110
February 2014

20. Utility Functions


20.13. TEXTARRAY Block

the block was in type conversion. After fetching good data, if the block had to clamp
the input during type conversion, EXECSTS will be CLAMPWARNING.

BADINPUT - This happens when the connection to input block is lost or it is simply
bad data.

INBLKMISSING - This happens when the block detects that there is no input
connection made to any of the inputs of the PUSH block

Store Status
The status of output store is reflected in the following parameter:

Store status (STORESTS)

The STORESTS provide information on how successful the block is in storing the input.
STORESTS can have the following values:

STOREOK Successful, that is the store to destination was successful.

STOREPENDING - This is an intermediate status when the store is made to a


destination, which is in a peer controller. Until the block actually gets store request,
the status is STOREPENDING.

STOREFAIL - If the output destination block rejects the store, the push block
displays the STOREFAIL status. The reason for failure may be very block specific.
When the store fails, the PUSH block retries the store immediately in the next
execution cycle. If this store also fails, then the store is not tried for two cycles. This
continues until the time goes to 6 secs. After that the store is not made until 6
seconds are over. Thus there is exponential increase in time between any two failed
stores. This is required to save precious peer-to-peer communication resources.

DATATYPERR - This is used if the output store could not be made because of
some error in CL/CB where connection of parameters between different data types is
allowed. This is also the store status if there is no output connection configured on
the PUSH block.

PUSH parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the PUSH function block.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1241

20. Utility Functions


20.13. TEXTARRAY Block

20.13 TEXTARRAY Block


Description
The TEXTARRAY block provides storage for up to 120 text strings which are accessible
through the corresponding string configuration parameter (STR[n]). Where "n" is the
number of the text string. The length of the text strings is user configurable. The
following is a graphical representation of the TEXTARRAY block.

Function
The TEXTARRAY block outputs (STR[n]) can be used to provide predefined text
strings to other function blocks.
The block supports these user configurable attributes.

A configurable Access Lock (ACCLOCK) which lets you define who can write a
value to the block (such as operator, engineer, or other function block).

A configurable Number of String Values (NSTRING) which lets you specify the
desired number of string values (up to 120) to be supported.

A configurable Character Length of String Values which lets you specify the
number of characters (8, 16, 32, or 64) allowed in the strings.

The TEXTARRAY block supports a maximum size of 960 two-byte characters. The
following table shows the maximum data combinations that you can configure through
NSTRING and STRLEN values. Illegal combinations of NSTRING and STRLEN
values, those requiring more than 960 two-byte characters of data, will be rejected.

1242

NSTRING Value

STRLEN Value

STR[n] Range

15

64

[1. .15]

30

32

[1. .30]

60

16

[1. .60]

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.14. TIMER Block

120

[1. .120]

Input/Output
The block has up 120 output strings (STR[n]), depending on the number of string values
(NSTRING) configured. But, all block pin parameters are available to be exposed and
connected to using Control Builder graphical connections.

TEXTARRAY parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TEXTARRAY function block.

20.14 TIMER Block


Description
The TIMER block provides the capability to time process events or create known delays.
The following is a graphical representation of the TIMER block.

Function
Used to keep track of elapsed time during a process and provides indication when
elapsed time reaches predefined limit. The TIMEBASE can be configured to represent
seconds, minutes, or cycles (number of execution cycles).

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1243

20. Utility Functions


20.14. TIMER Block

Input/Output
The block has one Status Output (SO). But, all parameters are available to be exposed
and connected to using Control Builder graphical connections.

Commands
Commands are sent to the timer in one of two ways:

By the operator, using the COMMAND parameter.

Through connections to the parameters STARTFL, STOPFL, RESETFL, and


RESTARTFL.

You can give a Reset command any time, even if the TIMER is not running, and it will
always be executed. However, the Stop command is only valid while the TIMER is
running. For example, giving a Stop command directly after a Reset command is not
allowed.
The Start and Restart commands are not interchangeable. A Start command is only
executed after a prior Reset, when the timer is starting from the beginning (PV = 0).
Similarly, a Restart command is only executed after a prior Stop command, which froze
the timer when it was running (PV usually = non-zero).
When more than one of the Boolean command parameters is set at the same time, the
following priority is used:

RESETFL - highest priority

STOPFL

RESTARTFL

STARTFL - lowest priority

For example, when both RESETFL and STARTFL are ON, the TIMER executes the
Reset command and nothing else happens until RESETFL goes Off. This leaves the
STARTFL as the only Boolean command ON, at which time the TIMER is started.
If you use both methods for issuing commands to the TIMER at the same time, the same
priority described above for the flags also applies for the commands. For example, if
STARTFL is ON and a Stop command is given (through COMMAND), the Stop
command is executed and all lower priority command flags are automatically turned
OFF.

1244

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.15. TYPECONVERT Block

TIMER parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TIMER function block.

20.15 TYPECONVERT Block


Description
The TYPECONVERT block provides the ability to convert one data type to another for
connecting parameters of different data types. It supports data type conversions for all
combinations among the following major data types.

Boolean

Integer (unsigned/signed 8/16/32-bit integers)

Real (32-bit and 64-bit IEEE floating point numbers)

Enumeration

The following is a graphical representation of the TYPECONVERT block.

Function
The TYPECONVERT block is used to connect one input parameter to one or many
output parameters with different data types. For example, a Boolean input
(IN.BOOLEAN) can be converted to a 32-bit integer (OUT.INT32), a 64-bit floating
point number (OUT.FLOAT64), and an enumeration (OUT.ENUM) outputs. The
general Control Builder configuration rule about only connecting parameters of the same
data types for block inputs and outputs still applies. The TYPCONVERT block reads the
input value and only provides the converted output when the block connected to its
output runs.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1245

20. Utility Functions


20.15. TYPECONVERT Block

You identify the source parameter by wiring it to the IN.xx pins of the
TYPECONVERT block during configuration. For example, connecting
CM1.DEVCTL.GPV and CM1.PID1.OP to the same TYPECONVERT block is not
allowed. The Control Module block load fails, if such a situation exists at the load time.
Continuing with this example, the IN.ENUM might be connected to
CM1.DEVCTL.GPV and the OUT.FLOAT64 connected to CM1.EQ.IN(1), where GPV
is the generic state Enumeration representation of a Device Control block's PV, IN(1) is
the first input of an Equal comparison block (data type of Real), and CM1 is the Control
Module block that contains the DEVCTL and EQ blocks. The TYPECONVERT block
fetches the GPV Enumeration when it runs, and converts the value to a Real number
when the EQ function block runs and tries to fetch this value.
Continuing with the above example, you can connect CM1.DEVCTL.GPV to IN.ENUM
pin. Connecting this pin to any other pin is rejected by the Control Builder application.
Type conversions are supported for all possible combinations of the four supported data
types. For example, Boolean-to-Integer, Boolean-to-Real, Boolean-to-Enumeration, and
so on. Conversions from a particular data type to the same data type, such as Integer-toInteger, are supported; but you do not need to use the TYPECONVERT block in these
cases.
The block supports these user configurable attributes.

1246

A configurable Threshold Value (THRESHOLD) which lets you define how the
Boolean value is to be interpreted for a 32- or 64-bit floating point to Boolean
conversion. If the floating point input (IN.FLOAT32/IN.FLOAT64) value is greaterthan or equal-to the configured THRESHOLD, the Boolean output
(OUT.BOOLEAN) is turned ON, otherwise, it is OFF.

A configurable Truncate Option (TRUNCATEOPT) which lets you specify whether


the converted integer value is to be truncated or rounded for a 32- or 64-bit floating
point to 32-bit integer conversion. For example, if the 64-bit floating point input
(IN.FLOAT64) is 3.57, a rounded 32-bit integer output OUT.INT32) value would
be 4 and a truncated OUT.INT32 value would be 3. If the IN.FLOAT64 value were
3.49, the rounded OUT.INT32 value would also be 3.

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.

Experion LX Control Builder Components Theory


Honeywell

R110
February 2014

20. Utility Functions


20.15. TYPECONVERT Block

An Enumeration to Boolean Map scroll box lets you configure a given enumeration
(ENUMBOOLMAP[n]) to OFF or ON.

An Enumeration Text scroll box lets you configure up to 12 characters for a given
Self Defining Enumeration output (OUT.SDENUM[n]).

Execution status
The block's execution status (EXECSTS) parameter monitors how successful the block is
in fetching the input and can have the following values.

OK - Successful (When fetching of inputs as well as the conversion was done


without any error or clamping.).

CLAMPWARNING - Function completed, but with some limitation (for example,


value clamped after data conversion). This provides information on how successful
the block was in type conversion. After fetching good data, if the block had to clamp
the input during type conversion, EXECSTS will be CLAMPWARNING.

BADINPUT - This happens when the connection to input block is lost or it is


simply bad data.

INBLKMISSING - This happens when the block detects that there is no input
connection made to any of the inputs of the PUSH block.
ATTENTION
The TYPECONVERT block does not use BADINPUT EXECSTS when the
block is in Inactive or in IDLE state.

Input/Output
The block has up to nine inputs and nine outputs. The pins for the four most common
inputs (IN.BOOLEAN, IN.INT32, IN.FLOAT64, IN.ENUM) and outputs
(OUT.BOOLEAN, OUT.INT32, OUT.FLOAT64, OUT.ENUM) are exposed by default.
But, all block pin parameters are available to be exposed and connected to using Control
Builder graphical connections.

TYPECONVERT parameters
REFERENCE - INTERNAL
Refer to the Control Builder Components Reference for a complete list of the
parameters used with the TYPECONVERT function block.
R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1247

21. Sequential Control


21.1 SCM (Sequential Control Module) Block
Description
REFERENCE - INTERNAL
Refer to the Sequential Control User's Guide for all information pertaining to
the Sequential Control function in Experion LX system.

R110
February 2014

Experion LX Control Builder Components Theory


Honeywell

1249

Honeywell Process Solutions


1860 W. Rose Garden Lane
Phoenix, AZ 85027 USA

S-ar putea să vă placă și